matlab を使用して微分方程式 5261 数値解 4102 初期値問題と解析解を解くと、次のように処理できます。
1. 数値解
微分方程式の初期値問題の数値解は、関数 ode を使用して解くことができます。
まず、微分方程式の関数、つまり
をカスタマイズします。dy = 3/x*y x^3*(exp(x) cos(x))-2*x;
2 番目に、初期条件を決定します。つまり、
y0=[(exp(pi) 2/pi)*pi^3];
3 番目に、ode45 関数を使用して数値解 [x, y]
を取得します。2. 分析ソリューション
微分方程式の初期値問題の解析的解は、関数 dsolve を使用して解くことができます。
最初に、y(x) の変数、つまり
を宣言します。シムズy(x)
2 番目、y(x) の 1 次導関数、つまり
Dy=diff(y,1)
3 番目に、関数 dsolve を使用して、解析解 y(x) の式を求めます。
y=dsolve(Dy==3/x*y x^3*(exp(x) cos(x))-2*x,y(pi)==(exp(pi) 2/pi)*pi ^3)
3. 数値解と解析解曲線を描く
まず、plot関数を使って数値解の曲線を描きます
プロット(x.y)
2 番目に、[π, 2π] 区間の x の一連のいくつかの値と y
に相当する y 値を計算します。第三に、プロット機能を使用して分析解の曲線を描きます
コードを実行すると、次の結果が得られます。
%%%%%%%%%%%%%%%%%%%ソースプログラム
i=0;equ=0;sum=0;
data=input('番号を入力してください: ');
while(データ~=0)
sum=合計データ;
key=input('続けてください: ');
データ=キー;
i=i1;
###終わり###equ=sum/i;
等価、合計
%%%%%%%%%%%%%%%%%%%%%%%%%%
結果:
数字を入力してください: 1
続けてください: 2
続けてください: 3
続けてください: 4
続けてください: 5
続けてください:0
equ =
3
合計 =
15
以上がMatlab の実装方法と、区間内の微分方程式の初期値問題に対する数値解および解析解のグラフィック表示の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。