| 查看: 1975 | 回复: 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)) |
» 猜你喜欢
电子信息270求调剂
已经有13人回复
山东高校教师考核超级无底线,员工过不下去啦
已经有6人回复
359求调剂
已经有4人回复
284求调剂
已经有10人回复
085410 273求调剂
已经有6人回复
288求调剂,一志愿华南理工大学071005
已经有17人回复
267求调剂
已经有5人回复
药学专硕调剂
已经有9人回复
271求调剂
已经有13人回复
求调剂,一志愿材料科学与工程985,365分,
已经有6人回复













回复此楼
10