matlab数值解法求解二阶微分方程 ODE45函数

2024-11-29 00:52:54
推荐回答(2个)
回答(1):

因为你x=0时2/x是无穷大呀,然后y'又是0,然后(2/x)y'就是nan了,所以后面算的全是nan了。

回答(2):

我忘记公式了,数值分析书也不在,我试着给你写下,
function z=ef1(x,y)
z={-所给函数的左边-} %定义一个函数名为ef1的函数
function [x,y]=ode45(ef1,[0,20],x0,y0);
i=0:0.1:20; %定义步长
x0=0;
y0=1;
y0'=0;初值
for n=1:length(i)-1
y(n+1)=y(n)+h*feval(ef1,x(n),y(n));
end
x=x',y=y'
注意matlab里边不能有中文的符号的。
你先试一试 看对不对,明天记得的话给你写。我要看阿根廷和巴西比赛了。