声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1302|回复: 4

[编程技巧] 非线性微分方程的求解

[复制链接]
发表于 2006-12-8 10:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
方程如下:
x''+x'+kx+kz=0;
z'=x'-abs(x')*abs(z)^(n-1)*z-x'*abs(z)^n;
其中x‘’,z‘,x’都是指对时间的导数
这样的方程应该如何求解呢?
论文急用,请高手指点,谢谢!
回复
分享到:

使用道具 举报

发表于 2006-12-8 16:50 | 显示全部楼层
将方程写成标准形式

然后用ode45之类的求解,具体看帮助
发表于 2006-12-9 16:15 | 显示全部楼层
function fff()
options=odeset('Reltol',1e-8,'absTol',[1e-8 1e-8 1e-8]);
[T,Y]=ode45(@rigid,[0 0.5],[0.1 0.2 0.2],options);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
function dy=rigid(t,y)
k2=0.5;
k3=1.2;
dy=zeros(3,1);
dy(1)=-(y(1)+k2*y(2)+k3*y(3));
dy(2)=y(1)-abs(y(1))*abs(y(2)).^2*y(2)-y(1)*abs(y(2)).^3;
dy(3)=y(1);
%y(1)=x';y(2)=z;y(3)=x;
你照着试一下,我运行过了,可行,中间的系数你自己改把
 楼主| 发表于 2006-12-11 13:39 | 显示全部楼层
谢谢楼上的,我去试一下
请问高手,如果振动方程不是齐次的,如果是在地震波激励下,那么地震波记录该如何输入呢?紧急求助啊!

[ 本帖最后由 ChaChing 于 2009-7-12 12:20 编辑 ]
发表于 2007-1-12 09:08 | 显示全部楼层
这个程序是不是先把两个Function函数存为m文件,然后从k2=0.5开始运行程序啊,我这样做提示出错,这是怎么回事?谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-15 20:05 , Processed in 0.114458 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表