EDA365电子论坛网

标题: 求解二阶微分方程 [打印本页]

作者: zzz.dan    时间: 2021-2-26 15:31
标题: 求解二阶微分方程
求解二阶微分方程v=1.33*0.5*(dv/dx)^2./[k-1.01*d(dv/dx)/dx],其中k是时变项,是一系列数据集,我用的ode45,代码如下:clear;clc1 r/ c1 e4 b0 w4 E* f% @
E=xlsread('jisuan.xlsx');
$ A" Z# G/ L- h( J: ^! E! Fx=E(:,1);       %位移,间隔为0.01- q# I- W" _- I" A: I
y=E(:,2);       %作用力
. Q* M% T1 U9 R; I- K  Xk=E(:,3);       %刚度
  E; Q7 I& f8 F2 U$ X6 om=length(k);
$ ~" _& p" |/ {) e% t8 }( Dfor i=1:length(k)
+ C$ q. x7 w9 x  ^K=k(i);
3 A, E* x5 ^5 o/ Btspan=x;! b# s9 S6 `& \3 B4 H( ^% q3 ^
odefun=@(x,v)[v(2);(k(i)/1.01-(1.33*0.5*(v(2)^2)/(v(1)*0.5)))];9 C5 @( b% k; f" y, N" R! W
[x,v]=ode45(odefun,tspan,[0.0096 0.042]);
2 q5 x& c9 A9 ^. ~' zA=[x,v]
' s/ q6 ^; B0 v* g5 nend3 N% N: s  W$ ~  H- ~
但是结果是多个k对应的一系列v(1)v(2),我希望得到的是已知初值后各个k对应的v(1)v(2),看help也没有弄明白,还试过interp1调用和定义函数也报错了,请教各位这种有时变项的二阶微分方程要怎么求?是for循环吗还是有其他方法?$ ]4 v0 W# B1 L& l, L8 M7 ^. p
% P$ x# V8 c2 x# q- h8 m

作者: cichishia    时间: 2021-2-26 16:00
帮你顶一下
作者: 小白的白    时间: 2021-3-1 10:22
不会。帮顶!!
作者: zaiyiaaaa    时间: 2021-3-1 10:25





欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2