24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1357  |  回复: 12

xwndf250

银虫 (小有名气)

[求助] matlab 超出矩阵维度问题

问题如图 Index exceeds matrix dimensions.  应该怎么解决?目的是想做t与y(1)~y(5)的2维曲线。

sirs2.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-02-16 09:27:29
这是下标越界错误,也就是下标超出了矩阵的最大下标
你检查一下y矩阵的size,有y(5)吗?
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-02-14 17:32:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwndf250

银虫 (小有名气)


fegg7502: 金币+1, 鼓励交流 2013-02-16 15:53:57
引用回帖:
2楼: Originally posted by libralibra at 2013-02-14 17:32:32
这是下标越界错误,也就是下标超出了矩阵的最大下标
你检查一下y矩阵的size,有y(5)吗?

这个...怎么检查y矩阵大小?还有就是“下表超出了矩阵最大下标”是什么意思?我是小白,一些术语不懂。原题是这样的,有S I R Mi Ml这五个变量,想求t和这五个变量的变化关系。
具体情况如下
http://good.gd/2428141.htm
3楼2013-02-14 21:35:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


fegg7502: 金币+1, 应助指数+1, 鼓励交流 2013-02-16 15:54:56
引用回帖:
3楼: Originally posted by xwndf250 at 2013-02-14 21:35:25
这个...怎么检查y矩阵大小?还有就是“下表超出了矩阵最大下标”是什么意思?我是小白,一些术语不懂。原题是这样的,有S I R Mi Ml这五个变量,想求t和这五个变量的变化关系。
具体情况如下
http://good.gd/242 ...

在第三行dy之前输入
size(y)
然后运行一下看控制台输出的矩阵维数是几乘几?
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-02-15 00:10:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwndf250

银虫 (小有名气)

引用回帖:
4楼: Originally posted by libralibra at 2013-02-15 00:10:23
在第三行dy之前输入
size(y)
然后运行一下看控制台输出的矩阵维数是几乘几?...

第三行输入size(y) 然后回车运行?没反应啊...我是昆虫专业的,这个以前没接触过,现在还在入门阶段,有些东西不懂...能不能说下具体操作
这是我的程序,求大神帮忙:
function dy=system(t,y)
a=0.1;b=0.5;r=0.1;ka=0.5;kir=0.01;kil=0.01;kls=0.1;
dy=[r*b*y(1)^2-r*(2*a-b)*y(2)*y(1)+r*b*(y(4)+y(5))*y(1)+kls*y(5);
-r*b*y(1)^2-r*(-2*a+b)*y(2)*y(1)-r*b*(y(4)+y(5))*I-(r-ka)*y(1);
r*y(1)+kir*y(4);
ka*y(1)-kil*y(4)-kir*y(4);
kil*y(4)-kls*y(5)];
end
解决了的话我追加金币,急求
5楼2013-02-15 10:38:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★
fegg7502: 金币+2, 应助指数+1, 专家考核, 3ks 2013-02-16 15:55:13
xwndf250: 金币+1, 有帮助, 还是不行,没办法,我改了下程序。。。 2013-02-16 21:49:34
引用回帖:
5楼: Originally posted by xwndf250 at 2013-02-15 10:38:32
第三行输入size(y) 然后回车运行?没反应啊...我是昆虫专业的,这个以前没接触过,现在还在入门阶段,有些东西不懂...能不能说下具体操作
这是我的程序,求大神帮忙:
function dy=system(t,y)
a=0.1;b=0.5;r=0 ...

你原来怎么运行出错了,就把下面的代码代替原system函数后重新运行一次
看看控制台输出的y的维数是多少
就加了一行size(y)
CODE:
function dy=system(t,y)
a=0.1;b=0.5;r=0.1;ka=0.5;kir=0.01;kil=0.01;kls=0.1;
size(y) % 如果运行到下面一行出错,这一行会在控制台输出y的维数
dy=[r*b*y(1)^2-r*(2*a-b)*y(2)*y(1)+r*b*(y(4)+y(5))*y(1)+kls*y(5);
-r*b*y(1)^2-r*(-2*a+b)*y(2)*y(1)-r*b*(y(4)+y(5))*I-(r-ka)*y(1);
r*y(1)+kir*y(4);
ka*y(1)-kil*y(4)-kir*y(4);
kil*y(4)-kls*y(5)];
end

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
6楼2013-02-15 18:09:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

southpark007

禁虫 (著名写手)


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-02-16 09:27:53
本帖内容被屏蔽

7楼2013-02-15 21:44:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwndf250

银虫 (小有名气)

引用回帖:
7楼: Originally posted by southpark007 at 2013-02-15 21:44:27
5个变量,只给了2个初值,貌似不妥。

除了1/6和5/6外,其他变量都为0。
8楼2013-02-16 13:16:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwndf250

银虫 (小有名气)


fegg7502: 金币+1, 鼓励交流 2013-02-17 08:09:35
引用回帖:
6楼: Originally posted by libralibra at 2013-02-15 18:09:28
你原来怎么运行出错了,就把下面的代码代替原system函数后重新运行一次
看看控制台输出的y的维数是多少
就加了一行size(y)
function dy=system(t,y)
a=0.1;b=0.5;r=0.1;ka=0.5;kir=0.01;kil=0.01;kls=0.1;
si ...

仍旧是没反应,说y没定义。

y没定义.jpg

9楼2013-02-16 13:20:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwndf250

银虫 (小有名气)

引用回帖:
6楼: Originally posted by libralibra at 2013-02-15 18:09:28
你原来怎么运行出错了,就把下面的代码代替原system函数后重新运行一次
看看控制台输出的y的维数是多少
就加了一行size(y)
function dy=system(t,y)
a=0.1;b=0.5;r=0.1;ka=0.5;kir=0.01;kil=0.01;kls=0.1;
si ...

我改了下程序,出现新问题了,情况如下:
Warning: Failure at t=1.400456e+001.  Unable to meet integration tolerances without reducing the step size below the smallest value allowed (2.842171e-014) at time t.

sirm1.jpg

10楼2013-02-16 21:37:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xwndf250 的主题更新
信息提示
请填处理意见