| 查看: 2024 | 回复: 0 | |||
[交流]
Matlab时间变量/变系数微分方程求解问题
|
|
这是一个动力学方程,d2x/dt2=F-kx-cx;其中F是随时间变化的变量,已经插值得到任意时刻F。把方程简化,x''=F-x-x',即变系数二阶微分方程,用ode45求解。有人说只要F的步长跟求解步长一致就能求解,但是不知道怎么把F写进程序;还有说用用循环程序求解,按照建议编程后求解结果是0。这个问题该怎么解决?求助大神。 clc;clear F=[0 0;1 2;2 5;3 7;4 9;5 10;6 9;7 7;8 5;9 2;10 0] x0=F(:,1); y0=F(:,2); T=F(:,1); F=F(:,2); a=[0:0.01:10]'; for i=1:length(a) f(i)=lagr_interp(x0,y0,a(i)); end f=f' F=[a f]; subplot(2,1,1); plot(F(:,1),F(:,2)) xlabel('t / ms') ylabel('Fpt / N') axis([0 10 0 11]) %插值得到F矩阵 %调用的方程函数 function dy=fun(t,y,F) dy(1)=y(2); dy(2)=F-y(1)-dy(1); dy=[dy(1);dy(2)]; %循环求解程序,结果是一系列0值 for ii=1:length(f); [t,y]=ode45(@fun,[0:0.01:10],[0;0],[],f(ii)); end y(:,1) subplot(2,1,2) plot(t,y(:,1)) |
» 猜你喜欢
微信指数没变化,科研之友没阅读
已经有4人回复
这种情况还有戏吗
已经有9人回复
同事接到电话了,我却没有
已经有4人回复
准备明年的基金了
已经有5人回复
今年的WR进展到哪一步了?
已经有6人回复
时间戳他又来了
已经有11人回复
小木虫看见有人已经知道结果了
已经有15人回复
这个自发加氧反应的机理是什么?
已经有6人回复
J-J-W不为人知的一面
已经有18人回复
没消息就是被刷了呗
已经有13人回复











回复此楼