【入門】マクローリン展開(MATLAB)【数値計算】

【入門】マクローリン展開(MATLAB)【数値計算】 数値計算
【入門】マクローリン展開(MATLAB)【数値計算】

MATLAB、Python、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/

はじめに

の、

MATLAB,Python,Scilab,Julia比較 第5章 その62【マクローリン展開⑧】

を書き直したもの。

マクローリン展開のおおよその説明をしたところ。
今回は、sin関数のマクローリン展開をMATLABで演算しプロットするプログラムを作成

【再掲】sin関数のマクローリン展開

まずは、sin関数のマクローリン展開を再掲。

\(
\begin{eqnarray}
\displaystyle f(x)&=&f(0)+\frac{f^\prime(0)}{1!}x+\frac{f^\prime\prime(0)}{2!}x^2+\dots\\
\displaystyle &=&f(0)+\sum_{n=1}^\infty\frac{f^n(0)}{n!}x^n\\
\displaystyle \sin(x)&=&x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\dots\\
\displaystyle &=& \sum_{n=0}^\infty\frac{(-1)^n x^{2n+1}}{(2n+1)!}
\end{eqnarray}
\)

今回はMATLABでsin関数のマクローリン展開で演算&プロットする。

【再掲】sin関数のマクローリン展開のプログラムフロー

そして、プログラムフローも再掲。

  • プロット数、プロット範囲、x軸の定義
  • nの次数列を定義
  • 次数列に応じて以下を繰り返す
  • sin関数のマクローリン級数を演算
  • 演算結果をプロット

MATLABコード

MATLABコードは以下。

P=1000; % プロット数
L=2*pi;    % -L~+Lの範囲
x=linspace(-L,L,P); % x軸

Ns = [0,1,2,3,4,5]; % n数セット
K=length(Ns);
for i = 1:K
    N=Ns(i); % n数
    Maclaurin_series = zeros(1,P);
    
    % Σ(-1)^n x^(2n+1) / (2n+1)!
    for n = 0:N
        Maclaurin_series = Maclaurin_series + (-1)^n*(x.^(2*n+1))./factorial(2*n+1);
    end
    
    subplot(3,ceil(K/3),i );
    hold off;
    plot(x,sin(x),'LineWidth',3);
    hold on;
    plot(x,Maclaurin_series,'r','LineWidth',2);
    title(sprintf('n=%d',N),'FontSize',24,'FontWeight','bold');
    xlim([-L,L]);
    ylim([-1.5,+1.5]);
    grid();
end

処理結果

処理結果は以下。

sin関数マクローリン展開(MATLAB)

nが増えていけばsin関数になるのが分かるね。

まとめ

  • sin関数のマクローリン展開の演算とプロットをMATLABで実施。
  • nが増えればsin関数に近似していく。

MATLAB、Python、Scilab、Julia比較ページはこちら

マンガでわかるフーリエ解析

Amazon.co.jp

手を動かしてまなぶ フーリエ解析・ラプラス変換

Amazon.co.jp

物理数学 量子力学のためのフーリエ解析・特殊関数

物理数学 量子力学のためのフーリエ解析・特殊関数 | 柴田 尚和, 是常 隆 | 数学 | Kindleストア | Amazon
Amazonで柴田 尚和, 是常 隆の物理数学 量子力学のためのフーリエ解析・特殊関数。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみい...

単位が取れるフーリエ解析ノート

https://amzn.to/3V83fIl

今日から使えるフーリエ変換 普及版 式の意味を理解し、使いこなす

https://amzn.to/3ysbfvf

コメント

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