跳至內容

繪製區間範圍內的微分方程初值問題的數值解和解析解的Matlab實現方法及圖形展示

更新時間
连续6年不跑路的安全速度最适合国人VPN
连续6年不跑路的安全速度最适合国人VPN

用matlab解微分方程初值問題數值解和解析解解範圍爲區間並畫

用matlab解微分方程5261初值問題數值解4102和解析解,可以這樣處理:

一、數值解

微分方程初值問題數值解可1653以用ode函數解。

首先,自定義微分方程的函數,即

dy = 3/x*y+x^3*(exp(x)+cos(x))-2*x;

其二,確定初始條件,即

y0=[(exp(pi)+2/pi)*pi^3];

其三,使用ode45函數,出其數值解【x,y】

二、解析解

微分方程初值問題解析解可以用dsolve函數解。

首先,對y(x)進行變量聲明,即

syms y(x)

其二,對y(x)一階導數,即

Dy=diff(y,1)

其三,使用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)

三、繪製數值解和解析解曲線

首先,使用plot函數,繪出數值解的曲線

plot(x.y)

其二,計算x在【π,2π】區間內的一系列若干個值與y相當於的y值

其三,再使用plot函數,繪出解析解的曲線

運行代碼後可以得到如下結果。

matlab問題

%%%%%%%%%%%%%%%%%%%%%源程序

i=0;equ=0;sum=0;

data=input('please input number: ');

while(data~=0)

sum=sum+data;

key=input('please go on: ');

data=key;

i=i+1;

end

equ=sum/i;

equ,sum

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

執行結果:

please input number: 1

please go on: 2

please go on: 3

please go on: 4

please go on: 5

please go on: 0

equ =

3

sum =

15

以上就是繪製區間範圍內的微分方程初值問題的數值解和解析解的Matlab實現方法及圖形展示的詳細內容,更多請關注本站其它相關文章!

更新時間

發表留言

請注意,留言須先通過審核才能發佈。