声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1999|回复: 9

[应用数学] 分岔图的生成

[复制链接]
发表于 2007-12-17 22:15 | 显示全部楼层 |阅读模式

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

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

x
我在计算分岔图是输入for i=7000:1000:14000
[t,y]=ode45(@dafen1,[0.5:0.1:20],[0.3;1;0.3;1]);
Plot(y(i,1),y(i,2),'r');
end
输出错误为:??? Index exceeds matrix dimensions.
请问大家怎么解决啊?
回复
分享到:

使用道具 举报

发表于 2007-12-18 16:10 | 显示全部楼层
论坛有很多这方面的程序,请搜索一下!

如果还是不能解决请将源码贴一下吧!
发表于 2007-12-18 16:16 | 显示全部楼层
下标越界,意思就是你的变量没有那么大你取过了
总之就是矩阵和循环不匹配
发表于 2007-12-18 16:18 | 显示全部楼层
另建议这位仁兄以后把你的类似问题都贴在一个帖子里,不要开那么多新贴,以便大家能看到你前面的问题给你更好的回答

[ 本帖最后由 咕噜噜 于 2007-12-18 16:19 编辑 ]
发表于 2007-12-19 10:20 | 显示全部楼层

回复 #1 zhuchang1121 的帖子

楼主的问题是个很简单的错误,
1、你计算的时间0.5:0.1:20,总共只有151个点。而你在作图的时候i取7000:14000,没有这么多点给你取啊,所以提示的错误就是Index exceeds matrix dimensions
2、做分岔也不是你这样做的,你要看一下论坛的其他帖子,多学习一下别人的方法。
发表于 2007-12-19 13:05 | 显示全部楼层

我觉得你应该是想要这样吧?

for i=7000:1000:14000
[t,y]=ode45(@dafen1,[0.5:0.1:20],[0.3;1;0.3;1]);
Plot(y(1,:),y(2,:),'r');
hold on
end
发表于 2007-12-19 13:24 | 显示全部楼层

回复 #6 quiet1016 的帖子

还是错的,所谓分岔就是当参数变化时系统解的性态的改变,那么你这个怎么能够看得出来参数对解形态的影响呢?

所以求解的时候参数就要改变
发表于 2007-12-19 22:07 | 显示全部楼层

回复 #1 zhuchang1121 的帖子

你是在重复的算[t,y]=ode45(@dafen1,[0.5:0.1:20],[0.3;1;0.3;1]);
算了7000:1000:14000 次
然后取了最后一次的结果,画图
发表于 2007-12-20 10:54 | 显示全部楼层

哦,对哦

楼主要计算的是分岔图
 楼主| 发表于 2007-12-20 11:02 | 显示全部楼层

谢谢大家

谢谢大家
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-20 01:06 , Processed in 0.073913 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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