MATLABの関数を使ってゼータ関数の零点を計算する

MATLAB/simulink

MATLABを使ってゼータ関数の零点を計算する。\(s\)を\(s=\frac{1}{2}+yi\)とするとゼータ関数は

\begin{align}
\zeta(s)= \sum_{i=1}^{\infty} \frac{1}{n^s}
\end{align}

となる。MATLABの関数を使って描画すれば

となる。\(\zeta=0\)のときに2つのグラフが交わる部分が零点。

以下コード。

Nmin=14;
Nmax=15;
d=0.001;

N=14;
n=50000;

j=sqrt(-1);
result=zeros(1,N);
y1=zeros(1,N);
count=1;

for y=Nmin:d:Nmax
    s=1/2+y*j;
    result(1,count)=zeta(s);
    count=count+1;
end

fig2 = figure('name', 'ゼータ関数の特殊値');
 
plot(Nmin:d:Nmax,real(result),'k-')
hold on 
plot(Nmin:d:Nmax,(imag(result)),'k--');
grid on
xlabel('$y$','Interpreter', 'latex');
ylabel('$\zeta(s)$','Interpreter', 'latex');

コメント

タイトルとURLをコピーしました