chunshui2003 发表于 2009-11-4 16:14

请问如何绘制如下微分方程的时域曲线?

小弟对matlab不是很懂,有这样的一个方程:

                     x''+2nx'+hx=m1ecos(wt+0.4)+m2cos(wt+0.6)

里面的公式符号不够规范,但大概就是这个样子。其中n,h,e,m1,m2都是已知的,就希望画一下x关于时间t的曲线图。t的范围是,x是t的导数。

我不太明白怎么弄,如果把x的表达式手工求出来比较麻烦,因为还有别的y,z等等关于t的关系式。希望达人帮忙解决一下,最好有个小程序,因为我的mat比较菜,谢谢!

ChaChing 发表于 2009-11-4 21:23

不是很懂, 更需要自己练习看看!:loveliness:
具体些后, 还有问题相信很多人可帮忙

friendchj 发表于 2009-11-5 03:05

参考一下:
clc
clear
syms t C1 C2
y=dsolve('D2y+Dy+y=cos(t+.4)+cos(t+.6)');
y=subs(y,{C1,C2},{0,0});
y=subs(y,t,);
plot(0:0.1:10,y)

chunshui2003 发表于 2009-11-5 14:16

回复 板凳 friendchj 的帖子

谢谢你的程序。我可能在表达上没说清楚,其实就是求解一个二阶微分方程,然后画出时域曲线。再请教了几个学长后,现在我大概有思路了。先利用一些参数将二阶方程变为一阶的,然后用四阶runge-kutta法求解即可。

friendchj 发表于 2009-11-6 02:00

回复 地板 chunshui2003 的帖子

像这种特殊形式的方程是有解析解的。我给的程序就是求解那个二阶微分方程,由于没有初始值,会出来两个常数C1,C2。把常数替换掉,就得到x关于t的函数,直接画图即可。
页: [1]
查看完整版本: 请问如何绘制如下微分方程的时域曲线?