标题:求助!!!用 MATLAB 的 ode45 求解微分方程组
只看楼主
zvgbaishi
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2014-4-19
得分:0 
function test_cy
[t,y]=ode45(@fn,[0 300],[1 0 0 0 0 6])

function dy=fn(t,y)
dy=zeros(6,1);
dy(1)=-0.05*y(1)*y(6)+0.11*y(2)*y(5);
dy(2)=0.05*y(1)*y(6)-0.11*y(2)*y(3)-0.215*y(2)*y(6)+1.228*y(3)*y(5);
dy(3)=0.215*y(2)*y(6)-1.228*y(3)*y(5)-0.242*y(3)*y(6)+0.007*y(4)*y(5);
dy(4)=0.242*y(3)*y(6)-0.007*y(4)*y(5);
dy(5)=0.5*y(1)*y(6)-0.11*y(2)*y(5)+0.215*y(2)*y(6)+1.228*y(3)*y(5)+0.242*y(3)*y(6)-0.007*y(4)*y(5);
dy(6)=-dy(5);
2014-04-21 12:23
zvgbaishi
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2014-4-19
得分:0 
你的[0 1000]区间太大了好像
function test_cy
[t,y]=ode45(@fn,[0 100],[1 0 0 0 0 6])

function dy=fn(t,y)
dy=zeros(6,1);
dy(1)=-0.05*y(1)*y(6)+0.11*y(2)*y(5);
dy(2)=0.05*y(1)*y(6)-0.11*y(2)*y(3)-0.215*y(2)*y(6)+1.228*y(3)*y(5);
dy(3)=0.215*y(2)*y(6)-1.228*y(3)*y(5)-0.242*y(3)*y(6)+0.007*y(4)*y(5);
dy(4)=0.242*y(3)*y(6)-0.007*y(4)*y(5);
dy(5)=0.5*y(1)*y(6)-0.11*y(2)*y(5)+0.215*y(2)*y(6)+1.228*y(3)*y(5)+0.242*y(3)*y(6)-0.007*y(4)*y(5);
dy(6)=-dy(5);


有结果
test_cy.zip (711 Bytes)
2014-04-21 12:27
鸥翔鱼游
Rank: 5Rank: 5
等 级:职业侠客
帖 子:182
专家分:323
注 册:2014-4-19
得分:0 
我也是新手,交流交流
2014-04-25 14:16
LDH山科
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-1-13
得分:0 
这个帖子帮到了我,必须提出来感谢!!!!!
2017-01-13 21:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430264-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.262929 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved