来自涂群章的问题
【ode45是怎么用的?可以求高阶微分方程组吗?】
ode45是怎么用的?可以求高阶微分方程组吗?
2回答
2020-12-28 23:25
【ode45是怎么用的?可以求高阶微分方程组吗?】
ode45是怎么用的?可以求高阶微分方程组吗?
下面是关于ODE45求解高阶常微分方程的讲解,和一个例子.
如何求解y''=-t*y+e^t*y''+3sin2t,y(0)=2,y'(0)=8?(后面有程序)
求解高阶常微分方程
关键是将高阶转为一阶,odefun的书写.
F(y,y',y''...y(n-1),t)=0用变量替换,y1=y,y2=y'...注意odefun方程定义为列向量
dxdy=[y(1),y(2).]
程序:
functionTestode45
tspan=[3.94.0];
y0=[28];%初值
[t,x]=ode45(@odefun,tspan,y0);plot(t,x(:,1),'-o',t,x(:,2),'-*')
高阶微分方程求解结果
legend('y1','y2')
title('y''''=-t*y+e^t*y''+3sin2t')
xlabel('t')
ylabel('y')
%可以单独一个函数文件
functiony=odefun(t,x)
y=zeros(2,1);%列向量
y(1)=x(2);
y(2)=-t*x(1)+exp(t)*x(2)+3*sin(2*t);
end
end
一样的啊,把高阶方程组换成一阶方程组,同样的变换方式。