matlab中常微分方程符号解和数值解区别??

2025-03-23 09:41:37
推荐回答(1个)
回答(1):

dsolve('x^2*D2y+4*x*Dy+2*y=0','y(1)=2','Dy(1)=-3','x')

 

ans =

 

(x + 1)/x^2

数值的方法:结果是一列向量

令y1=y,y2=y1'=y',把原方程转化成微分方程组:

y1'=y2

y2'=-2y-4*y*y(1),

(x1(0),x2(0))=(0,0).

根据上述一阶微分方程组编写M函数文件myfun.m

function dy=myfun(x,y)

dy=zeros(2,1);

dy(1)=y(2);

dy(2)=-2*y(1)/x^2-4*y(2)/x;

求解:[x,y]=ode45('myfun',[1 10],[2 -3]);plot(x,y);