| 查看: 1954 | 回复: 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人回复
全日制(定向)博士
已经有4人回复
假如你的研究生提出不合理要求
已经有6人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
不自信的我
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复
26申博(荧光探针方向,有机合成)
已经有4人回复












回复此楼