matlab ode45 求方程(1+x^2)y''=2xy',y(0)=1,y'(0)=3 的数值

发布时间:2021-02-26 02:43:52

matlab ode45 求方程(1+x^2)y''=2xy',y(0)=1,y'(0)=3 的数值解,我的运行不行,我编的函数文件:function dy=sdre(x,y) dy=[y(2);2*x/(1+x^2)*y(2)]; 程序 [x,y]=ode45('sdre',[0 10],[1 3]);plot(x,y)

网友回答

1.建立M文件vdp1001a.m如下:function dy=vdp1001a(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=2*x*y(2)/(1+x^2); 2.取x0=0,xf=10,输入命令:[X,Y]=ode45('vdp1001a',[0 10],[1 3]);plot(X,Y(:,1),'-')3.结果如图
matlab ode45 求方程(1+x^2)y''=2xy',y(0)=1,y'(0)=3 的数值解,我的运行不行,我编的函数文件:function dy=sdre(x,y) dy=[y(2);2*x/(1+x^2)*y(2)]; 程序 [x,y]=ode45('sdre',[0 10],[1 3]);plot(x,y)(图1)
======以下答案可供参考======
供参考答案1:
你写的程序只有一处错误
ode45中要取函数句柄,
[x,y]=ode(@sdre,[0 10],[1 3]);
我已仿真成功。有问题再问我
供参考答案2:
.建立M文件vdp1001a.m如下:
function dy=vdp1001a(x,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=2*x*y(2)/(1+x^2);
2.取x0=0,xf=10,输入命令:
[X,Y]=ode45('vdp1001a',[0 10],[1 3]);
plot(X,Y(:,1),'-'
以上问题属网友观点,不代表本站立场,仅供参考!