用matlab求微分方程的解析解和数值解,并进行比较。

2025-02-25 20:17:37
推荐回答(1个)
回答1:

clear all
clc
f=@(x,y)([y(2);2*x*y(2)/(1+x^2)]);
[X,Y]=ode45(f,0:100,[1 3]);
y=dsolve('D2y-2*x*Dy/(1+x^2)','y(0)=1','Dy(0)=3','x');
y=@(x)(eval(y));
YY=y(0:100);
plot(0:100,Y(:,1),'o',0:100,YY)
legend('数值解','解析解')