| 查看: 2012 | 回复: 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人回复
E0414, 我的本子有没有希望?
已经有17人回复
青A35岁以下通知答辩了吗
已经有4人回复
小城的小雨
已经有3人回复
看《给阿ma的情书》有感
已经有5人回复
国自然申请五篇代表作大比拼,感觉这个是最重要的
已经有4人回复
雷雨
已经有3人回复











回复此楼