用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函數,繪出解析解的曲線
運行程式碼後可以得到以下結果。
#%%%%%%%%%%%%%%%%%%%%%來源程式
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實作方法及圖形展示的詳細內容。更多資訊請關注PHP中文網其他相關文章!