数学

代数

2^100の1の位の数

\(2^{100}\)を計算したときの1の位の数を求める。1の位に注目すると \begin{align}2,4,8,6,2,4 \cdots \end{align} と続く。4個の繰り返しなので25回の繰り返しが現れる。余りはないので1の位...
MATLAB/simulink

三角関数の近似式 2

十分小さい正の角度\(\theta\)について、\(\cos \theta\)は\(\tan \theta \)を用いて \begin{align}\cos \theta \approx 1 - \frac{\tan^2 \theta}{2...
MATLAB/simulink

三角関数の近似式

十分小さい正の角度\(\theta\)について、\(\tan \theta\)は\(\cos \theta \)を用いて \begin{align}\tan \theta \approx \sqrt{2(1- \cos\theta)} \e...
数学

対数積分とコーシの主値

対数積分 \begin{align}\mathrm{Li} (x) = \int_0^x \frac{1}{\log t} dt\end{align} は\(t=1\)で特異点を持つのでコーシの主値を使って \begin{align}\ma...
数学

n以下の自然数に含まれる素数の数について

リーマンの論文によれば、n以下の自然数に含まれる素数の数は \begin{align}\pi (x) =\sum_{m=1}^{\infty} \frac{\mu(m)}{m} \left ( \mathrm{Li}(x^\frac{1}{...
数学

n以下の数の中に2と3の倍数はいくつ含まれるか

\(A\)を2の倍数、\(B\)を3の倍数とすると\(A,B\)の個数はそれぞれ \begin{align}n(A)= \left \lfloor \frac{n}{2} \right \rfloor \\n(B)= \left \lflo...
数学

積分をしてみる 

\begin{align}\int \left ( \frac{x+2}{x} \right )^2 dx &= \int \left (1 + \frac{2}{x} \right )^2 dx \\&= \int \left ( 1 +...
数学

虚数の虚数乗

オイラーの公式より \begin{align}e^{\frac{\pi}{2}i}= \cos \frac{\pi}{2} + i \sin \frac{\pi}{2}=i\end{align} 両辺を\(i\)乗して \begin{ali...
数学

作図できる図形であるかどうか

コンパスと定規を使って作図できる図形であるとき、その図形は1次もしくは2次方程式で表現できる。
MATLAB/simulink

MATLABで分散を逐次計算しようとしてうまくいかなかった話

MATLABで分散を逐次計算しようとしてうまくいかなかった。 分散の逐次計算は \begin{align}\sigma_{n+1}^2=\dfrac{n(\sigma_n^2+\mu_n^2)+x_{n+1}^2}{n+1}-\mu_{n+...
MATLAB/simulink

MATLABで平均を逐次計算する

平均は \begin{align}\mu_{n+1} = \frac{1}{n+1} (n \mu_n + x_{n+1})\end{align} で逐次計算できる。 以下コード N=10; x=1:1:N; mu=zeros(1,N); ...
MATLAB/simulink

MATLABでベルヌーイ数を求める

これの続き N=6; B=zeros(1,N); B(1,1) = 1; disp(B(1,1)); for i = 2:1:N B(1,i) = getBernoulliNumber(i, B); disp(B(1,i)); end fu...
MATLAB/simulink

MATLABで素数の逆数和を計算する

素数の逆数和は \begin{align}P=\frac{1}{2} + \frac{1}{3}+ \cdots = \infty\end{align} となる。これを計算する。 以下コード N=100; P=zeros(1,N); for...
代数

部分分数分解の公式 その1

\(\frac{1}{n-1} - \frac{1}{n}\)は次の関係がある。 \begin{align}\frac{1}{n-1} - \frac{1}{n}=\frac{n}{n(n-1)} - \frac{n-1}{n(n-1)}=...
MATLAB/simulink

MATLABで素因数分解をする

これの続き num = input('数字を入力してください: '); fprintf('入力された数字 -> %d\n', num); PrimeFactorization(num); function PrimeFactorizatio...
MATLAB/simulink

MATLABのisprimeの速度を比較してみた

以下のソースコードで速度を比較。 n=15のとき 自作関数:0.0025 isprime:0.0016 n=150のとき 自作関数:0.0049 isprime:0.0064 なお自作のmyisprimeで計算できるのはn=170程度まで ...
MATLAB/simulink

MATLABで素数の数を求める

これのMATLAB版 n = 15; count = 0; for i = 1:n disp(); count = count + isprime(i); end disp(); function p = isprime(n) k = fa...
MATLAB/simulink

MATLABで多項式を解く

polynomialに生成した多項式を放り込んでsolveで解を求める。coefficientsには高い順に係数を入れればいい。今の例だと\(x^2+5x+6=0\)を解く。 coefficients = ; syms x; polynom...
MATLAB/simulink

MATLABで素数定理を確認する

primesを使えば簡単。 n_min = 2; n_max = 1000; x = n_min:1:n_max; p_count=zeros(size(x)); pi_n = x ./ log(x); for i=1:1:length(x...
C/C++/C#

C++で回転行列を計算する

angleとaxisを指定すれば計算できる。 #define _USE_MATH_DEFINES #include <iostream> #include <cmath> void getRotationMatrix(double angl...