声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3765|回复: 6

[图像处理] 帮忙改个错误(Index exceeds matrix dimensions.)

[复制链接]
发表于 2008-7-17 11:07 | 显示全部楼层 |阅读模式

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

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

x
function dy=Mathieu(t,x)
dy=zeros(4,1);
dy(1)=x(2);
dy(2)=-x(1)+0.005*x(1)^3+1/8*(-x(2)+4*x(2)^3+sin(t));
dy(3)=x(4);
dy(4)=(1+0.015*x(1)^2)*x(3)+1/8*(-1+12*x(2)^2)*x(4);

tspan=linspace(1,1000,6000);
[t,y]=ode45('Mathieu',tspan,[0.3 -0.15 0.3 -0.15]);
plot(t(5000,10000),y(5000,10000))

??? Index exceeds matrix dimensions.
Error in ==> shijianbianli2 at 5
plot(t(5000,10000),y(5000,10000))


出现这个错误怎么改呢?请高手指教一下,我快郁闷死了,怎么改也不对

[ 本帖最后由 sigma665 于 2008-7-21 23:40 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-7-17 12:25 | 显示全部楼层
楼主可以参考下面这个帖子
http://forum.vibunion.com/forum/thread-46001-1-1.html
的12楼
 楼主| 发表于 2008-7-17 12:37 | 显示全部楼层

回复 2楼 的帖子

是啊,我看了,可是还是改不过来
MATLAB学的太差了
发表于 2008-7-17 13:09 | 显示全部楼层
我的matlab也很差 所以对你的程序不大了解
不过我觉得你
tspan=linspace(1,1000,6000);
[t,y]=ode45('Mathieu',tspan,[0.3 -0.15 0.3 -0.15]);
plot(t(5000,10000),y(5000,10000))
这部分有些问题吧
你的t和y都是几维的矩阵啊?我只知道tspan是1*6000的,不知道你的t y是不是也是一行N列的呢,如果那样的话,y(5000,10000)这个应该表示的是y的第5000行第10000列的数吧,他有那么多行列么?所以说超出范围了……

另外,你是不是想画plot(t(5000:10000),y(5000:10000))这个呢?

评分

1

查看全部评分

 楼主| 发表于 2008-7-17 13:31 | 显示全部楼层

回复 4楼 的帖子

你说的太对了,呵呵
但是就算我用plot(t(500:1000),y(500:1000,1))运行也是说超出范围
我是想画plot(t(5000:10000),y(5000:10000))这样的,因为前几百个瞬间点不要
发表于 2008-7-18 08:20 | 显示全部楼层

回复 楼主 的帖子

你的这个错误提示很常见,下标越界了。
可以参考本版置顶帖先。
发表于 2008-7-21 21:00 | 显示全部楼层
plot(t(5000:end),y(5000:end))  试试
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-11 06:04 , Processed in 0.062484 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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