声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1186|回复: 7

matlab求解振动微分方程组中出现的问题

[复制链接]
发表于 2006-3-30 17:49 | 显示全部楼层 |阅读模式

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

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

x
振动方程组简化如下:x''+x'+y'-f(x,y)(x+y)=g;<BR>                                   y''+x'+y'+f(x,y)(x-y)=k;<BR>                                   g,k为已知量,if (x+y)&gt;=0<BR>                                                            f(x,y)=1<BR>                                                            else<BR>                                                         f(x,y)=0;<BR>如何用ode(45)进行求解!!!!!!!!<BR>
回复
分享到:

使用道具 举报

发表于 2006-3-30 17:50 | 显示全部楼层

回复:(huzhaolin)matlab求解振动微分方程组中出现的...

把方程转化到状态空间,然后写成function,其中包含对f(x,y)的判断<BR>然后直接调用ode45就行了
 楼主| 发表于 2006-3-30 18:34 | 显示全部楼层
<P>function F=fun(t,f)<BR>if(f(1)+f(2)&gt;=0);<BR>f(e)=1<BR>else<BR>f(e)=0;<BR>F=[f(4);<BR>   f(3);<BR>   g-f(3)-f(4)+f(e)*(f(2)+f(1));<BR>   k-f(3)-f(4)-f(e)*(f(2)-f(1))]<BR>[t,y]=ode(@fun,0,10,0,0,0,0)<BR>请问这样可以吗?<BR>   <BR></P>
发表于 2006-3-30 18:37 | 显示全部楼层

回复:(huzhaolin)function F=fun(t,f)if(f(1)+f(2)...

<DIV class=quote><B>以下是引用<I>huzhaolin</I>在2006-3-30 18:34:21的发言:</B><BR>
<P>function F=fun(t,f)<BR>if(f(1)+f(2)&gt;=0);<BR>f(e)=1<BR>else<BR>f(e)=0;<BR>F=[f(4);<BR>   f(3);<BR>   g-f(3)-f(4)+f(e)*(f(2)+f(1));<BR>   k-f(3)-f(4)-f(e)*(f(2)-f(1))]<BR>[t,y]=ode(@fun,0,10,0,0,0,0)<BR>请问这样可以吗?<BR>   <BR></P></DIV>
<br>你这里的f是什么东西?
 楼主| 发表于 2006-3-30 18:43 | 显示全部楼层
<P>令f(1)=y,f(2)=x,f(3)=x',f(4)=y';<BR>function F=fun(t,f)<BR>if(f(1)+f(2)&gt;=0);<BR>fe=1<BR>else<BR>fe=0;<BR>F=[f(4);<BR>   f(3);<BR>   g-f(3)-f(4)+fe*(f(2)+f(1));<BR>   k-f(3)-f(4)-fe*(f(2)-f(1))]<BR>[t,y]=ode(@fun,0,10,0,0,0,0)</P>
发表于 2006-3-30 18:49 | 显示全部楼层

回复:(huzhaolin)令f(1)=y,f(2)=x,f(3)=x',f(4)=y'...

<DIV class=quote><B>以下是引用<I>huzhaolin</I>在2006-3-30 18:43:24的发言:</B><BR>
<P><FONT color=#ff0000>令f(1)=y,f(2)=x,f(3)=x',f(4)=y';<BR></FONT>function F=fun(t,f)<BR>if(f(1)+f(2)&gt;=0);<BR>fe=1<BR>else<BR>fe=0;<BR>F=[f(4);<BR>   f(3);<BR>   g-f(3)-f(4)+fe*(f(2)+f(1));<BR>   k-f(3)-f(4)-fe*(f(2)-f(1))]<BR>[t,y]=ode(@fun,0,10,0,0,0,0)</P></DIV>
<P>??????</P>
 楼主| 发表于 2006-3-30 18:55 | 显示全部楼层
<P>我这是大致步骤,是个大致草稿,请问是不是这样进行求解的。谢谢教授!</P>
发表于 2006-3-30 18:57 | 显示全部楼层

回复:(huzhaolin)matlab求解振动微分方程组中出现的...

是的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 21:33 , Processed in 0.064060 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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