sdpxzcz 发表于 2007-8-20 10:20

怎样用MATLAB计算my''+cy'+ky+A*sgn(y')=B*sin(t)运动微分方程?

怎样用MATLAB计算运动微分方程?


运动微分方程为:my''+cy'+ky+A*sgn(y')=B*sin(t)
其中y是t的函数,m为质量,,c阻尼系数,,k结构刚度,A,B是常数,他们都是已知量.
y''表示加速度,y'表示速度,y表示位移,sgn()表示符号函数;
怎样用MATLAB计算这个运动微分方程呀?
请各位高手帮帮忙呀!!!

[ 本帖最后由 sdpxzcz 于 2007-8-20 10:42 编辑 ]

咕噜噜 发表于 2007-8-20 10:31

用ode45计算,具体你可以参考matlab帮助文件

sdpxzcz 发表于 2007-8-20 10:36

关键是里面有关于y'(速度)的符号函数呀!
不知道怎么用,
咕噜噜你可以帮帮我吗?
我的QQ:119452259
电子邮箱:sdpxzcz@163.com

无水1324 发表于 2007-8-20 10:43

回复 #3 sdpxzcz 的帖子

直接加一个判断语句。

你可以参考分段线性的例子,原来的都是判断位移,你把它改成速度就可以了

sdpxzcz 发表于 2007-8-20 10:49

我是Matlab新手,可不可以把程序编给我看看呀!非常感谢!

咕噜噜 发表于 2007-8-20 11:18

回复 #3 sdpxzcz 的帖子

速度也可以啊,在ode45里面
function doty=myff(t,y)
c=1;k=20;A=13;B=2;
doty=;
=ode45('myff',,)
相应参数自己修改

sdpxzcz 发表于 2007-10-7 22:48

谢谢各位呀!!!
页: [1]
查看完整版本: 怎样用MATLAB计算my''+cy'+ky+A*sgn(y')=B*sin(t)运动微分方程?