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... 2023.03.15 MATLAB/simulinkプログラミング数学素数
MATLAB/simulink MATLABで多項式を解く polynomialに生成した多項式を放り込んでsolveで解を求める。coefficientsには高い順に係数を入れればいい。今の例だと\(x^2+5x+6=0\)を解く。 coefficients = ; syms x; polynom... 2023.03.14 MATLAB/simulinkプログラミング数学解析
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... 2023.03.14 MATLAB/simulinkプログラミング数学数論素数
MATLAB/simulink MATLABでスターリングの公式を計算する スターリングの公式は \begin{align}n! \approx \sqrt{2\pi n} \left(\frac{n}{e}\right)^n \end{align} で表される。 以下コード。 stirling(3) functi... 2023.03.13 MATLAB/simulinkプログラミング代数数学
ChatGPT ChatGPTでMATLAB用の最急降下法の学習係数最適化プログラムを生成した ChatGPTでMATLAB用の最急降下法の学習係数最適化プログラムを生成した。 合ってるかは不明。 % 3変数のラインサーチのサンプルコード(gradを使用しない) % 目的関数(Rosenbrock関数) fun = @(x) 100*... 2023.03.13 ChatGPTMATLAB/simulinkプログラミング数学
MATLAB/simulink MATLABで楕円曲線を描く 今回描く楕円曲線は \begin{align}y^2=x^3-x\end{align} 解は複素数になるときもあるが、今回は実平面との交点のみを描く。 ルートの中身 \begin{align}x^3-x\end{align} が正になるとき... 2023.03.13 MATLAB/simulinkプログラミング数学
MATLAB/simulink MATLABでL0ノルムを求める L0ノルムの定義 \begin{align}L_0=\sum_{i=1}^n\delta(x_i),\quad \delta(x_i)=\begin{cases}1\hspace{5mm} (x_i \neq 0)\\0\hspace{5m... 2023.03.12 MATLAB/simulinkプログラミング幾何数学
MATLAB/simulink MATLABでディリクレ核を描画する ディリクレ核 \begin{align}D_n(x)=1+2\sum_{k=1}^{n} \cos (kx) = \frac{\sin \left( \frac{2n+1}{2}\right )x}{\sin \frac{x}{2}}\en... 2023.03.09 MATLAB/simulinkプログラミング代数数学
MATLAB/simulink MATLABでベルヌーイ数を求める これの続き。 N=10; B=zeros(1,N); B(1,1)=1; for i = 1:1:N B(1,i+1)=getBernoulliNumber(i, B); end B function y = getBernoulliNum... 2023.03.07 MATLAB/simulinkプログラミング数学解析
MATLAB/simulink matlabでArmijo条件を試してみる Armijo条件は最急降下法などの係数を最適にする方法で、ここを参考にmatlabを試した。 収束の様子は次の通り。 学習係数の変化 文献はこの辺が詳しい 2023.01.26 MATLAB/simulinkプログラミング数学
MATLAB/simulink MATLABでローパスフィルターのボード線図を書く ローパスフィルターの伝達関数は \begin{align}H(s)=\frac{1}{1+\tau s}\end{align} このときカットオフ周波数は\(\omega=\frac{1}{\tau}\)となる。 ローパスフィルターの伝達関... 2023.01.16 MATLAB/simulinkプログラミング制御工学古典制御
MATLAB/simulink MATLABで1/2 + 1/4 + 1/6 + 1/8 + ⋯=1を計算する 今回は \begin{align}\frac{1}{2} + \frac{1}{4} + \frac{1}{6} + \frac{1}{8} \cdots = 1\end{align} をMATLABで計算してグラフで確認する。 結果 ソー... 2023.01.09 MATLAB/simulinkプログラミング数学解析
MATLAB/simulink MATLABで1/4 + 1/16 + 1/64 + 1/256 + ⋯=1/3を計算する 今回は \begin{align}\frac{1}{2^2} + \frac{1}{2^4} + \frac{1}{2^6} + \frac{1}{2^8} + \cdots &=\frac{1}{3}\end{align} をMATLAB... 2023.01.08 MATLAB/simulinkプログラミング数学解析
MATLAB/simulink MatlabでNelder-Mead法を使う matlabでNelder-Mead法を使うにはfminsurchを使えばいい。 fun = @(x)100*(x(2) - x(1)^2)^2 + (1 - x(1))^2; x0 = ; x = fminsearch(fun,x0); 2023.01.05 MATLAB/simulinkプログラミング
MATLAB/simulink MATLABでモジュロ演算の結果を比較する モジュロ演算の結果を比較する。比較する関数にmyismodを作成した。 以下コード。 a=18; b=23; m=12; b1= mymod(a,m); b2=myismod(a,b,m); function b=mymod(a,m) wh... 2022.10.08 MATLAB/simulinkプログラミング数学数論
MATLAB/simulink MATLABでモジュロ演算をする MATLABでモジュロ演算を定義する。モジュロ演算は割り算の余りを求める演算で、\(q\)を余りとすると通常の割り算は次のようになる。 \begin{align}a \div m = p \cdots q\end{align} これを次のよ... 2022.10.08 MATLAB/simulinkプログラミング数学数論
MATLAB/simulink MATLABの関数を使ってゼータ関数の零点を計算する その4 MATLABの関数を使ってゼータ関数の零点を計算する。今回は\(s=-6+yi\)上の計算結果を複素平面上にプロットした。 以下コード。 Nmin=0; Nmax=35; d=0.1; count=1; result=zeros(1,Nma... 2022.10.07 MATLAB/simulinkプログラミング数学数論
MATLAB/simulink MATLABの関数を使ってゼータ関数の零点を計算する その3 MATLABの関数を使ってゼータ関数の零点を計算する。今回はクリティカルライン上の計算結果を複素平面上にプロットした。 当然、原点との交点が \begin{align}\zeta(s)= \sum_{i=1}^{\infty} \frac{... 2022.10.06 MATLAB/simulinkプログラミング数学数論
MATLAB/simulink MATLABで3次元プロット MATLABで3次元グラフを描いた。コード自体はplot3のページで公開されているものとほぼ同じ。 以下コード。 d=0.01; t=0:d:10*pi; st = 2.*sin(t); ct = 2.*cos(t); figure; pl... 2022.10.06 MATLAB/simulinkプログラミング数学解析
MATLAB/simulink MATLABの関数を使ってゼータ関数の零点を計算する その2 MATLABを使ってゼータ関数の零点を計算する。\(s\)を\(s=\frac{1}{2}+yi\)とするとゼータ関数のノルムは \begin{align}\zeta(s)= \left \|\sum_{i=1}^{\infty} \fra... 2022.10.05 MATLAB/simulinkプログラミング数学数論