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;clc
1 r/ c1 e4 b0 w4 E* f% @
E=xlsread('jisuan.xlsx');
$ A" Z# G/ L- h( J: ^! E! F
x=E(:,1); %位移,间隔为0.01
- q# I- W" _- I" A: I
y=E(:,2); %作用力
. Q* M% T1 U9 R; I- K X
k=E(:,3); %刚度
E; Q7 I& f8 F2 U$ X6 o
m=length(k);
$ ~" _& p" |/ {) e% t8 }( D
for i=1:length(k)
+ C$ q. x7 w9 x ^
K=k(i);
3 A, E* x5 ^5 o/ B
tspan=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 ^. ~' z
A=[x,v]
' s/ q6 ^; B0 v* g5 n
end
3 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