| 查看: 2843 | 回复: 21 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【求助】向各位大侠求助matlab求解微分方程组遇到的一个问题 已有7人参与
|
|||
|
向各位大侠求助matlab求解微分方程组遇到的一个问题: 假设有以下的微分方程组 u'(t)=-a*f1(t)*y(t); v'(t)=-b*v(t)+a*f1(t)*y(t); w'(t)=b*v(t); x'(t)=-a*f2(t)*v(t)+a*f1(t)*y(t)+a*f3(t)*y(t)+c*y(t); y'(t)= a*f2(t)*v(t) - a*f1(t)*y(t) - a*f3(t)*y(t) - c*y(t); 其中 f1(t)=0 if u(t)=0 =1 if u(t)>0; f2(t)=0 if x(t)=0 =1 if x(t)>0; f3(t)=0 if v(t)=0 =1 if v(t)>0; a=1;b=0.1;c=0.5; 且u(0)=1000;v(0)=1;w(0)=0;x(0)=200;y(0)=0.现在要得到各函数随t的变化曲线,如果微分方程组中没有f1(t),f2(t),f2(t)这三个方程,那么在matlab中可以直接用ode来得到,但是现在有这三个方程,我就没办法了,试了好几种方法都没用,想请教各位高手,在matlab下怎么才能求解这个方程? [ Last edited by ybnav on 2011-3-11 at 22:27 ] |
» 猜你喜欢
职称评审没过,求安慰
已经有31人回复
垃圾破二本职称评审标准
已经有17人回复
回收溶剂求助
已经有6人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
申请26博士
已经有5人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
聘U V热熔胶研究人员
已经有10人回复
求助文献
已经有3人回复
投稿返修后收到这样的回复,还有希望吗
已经有8人回复
» 本主题相关价值贴推荐,对您同样有帮助:
Matlab求解偏微分方程组
已经有22人回复
matlab数值求解边界条件微分方程组
已经有7人回复
高金求助matlab解微分方程组
已经有12人回复
求助各位大侠,关于一个四氢呋喃的问题。谢谢了
已经有17人回复
求matlab求解一个方程组的问题
已经有6人回复
求助各位大侠一个去羟基化的问题,谢谢!
已经有8人回复
【求助】matlab 求解微分方程中的未知参数
已经有20人回复
【求助】matlab求解非线性方程组,并画图处理。要求y,z是实数解!
已经有18人回复
【求助】MATLAB 有限差分法(FDM)求解偏微分方程
已经有22人回复
【求助】积分微分方程matlab求解
已经有6人回复
【求助】matlab怎么求解偏微分方程组啊,先谢谢了
已经有13人回复
|
就是这个微分方程组 u'(t)=-*f1(t)*y(t); v'(t)=-0.1*v(t)+*f1(t)*y(t); w'(t)=0.1*v(t); x'(t)=-f2(t)*v(t)+f1(t)*y(t)+f3(t)*y(t)+0.5*y(t); y'(t)= f2(t)*v(t) -f1(t)*y(t) -f3(t)*y(t) -0.5*y(t); 其中 f1(t)=0 if u(t)=0 =1 if u(t)>0; f2(t)=0 if x(t)=0 =1 if x(t)>0; f3(t)=0 if v(t)=0 =1 if v(t)>0; 且u(0)=1000;v(0)=1;w(0)=0;x(0)=200;y(0)=0. 只要求在matlab中画出u(t)、v(t)、w(t)、x(t)、y(t)在t的某一段区间内,比如[0,60]的曲线图,还是没想出来改怎么办,同学说可能需要迭代,我也不知道怎么办,万分感谢版主同志! [ Last edited by ybnav on 2011-3-11 at 22:28 ] |
3楼2011-03-11 17:31:40
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫(金币+0.5):给个红包,谢谢回帖交流
|
把你的函数贴出来,我稍改改就可以求解了。 或者参考:http://muchong.com/bbs/viewthread.php?tid=2764636### 把微分方程写成分段函数的形式即可。 |

2楼2011-03-11 15:42:54
|
刚方程写错了,应该是 就是这个微分方程组 u'(t)=-f1(t)*y(t); v'(t)=-0.1*v(t)+f1(t)*y(t); w'(t)=0.1*v(t); x'(t)=-f2(t)*v(t)+f1(t)*y(t)+f3(t)*y(t)+0.5*y(t); y'(t)= f2(t)*v(t) -f1(t)*y(t) -f3(t)*y(t) -0.5*y(t); 其中 f1(t)=0 if u(t)=0 =1 if u(t)>0; f2(t)=0 if x(t)=0 =1 if x(t)>0; f3(t)=0 if v(t)=0 =1 if v(t)>0; 且u(0)=1000;v(0)=1;w(0)=0;x(0)=200;y(0)=0. 只要求在matlab中画出u(t)、v(t)、w(t)、x(t)、y(t)在t的某一段区间内,比如[0,60]的曲线图,还是没想出来改怎么办,同学说可能需要迭代,我也不知道怎么办,万分感谢版主同志! [ Last edited by ybnav on 2011-3-11 at 22:31 ] |
4楼2011-03-11 17:33:08

5楼2011-03-11 18:40:53













回复此楼