在matlab仿真中Index exceeds matrix dimensions.是什么错误

a=[-3.4483 -0.9746;5.9285 -4.3722];
b1=[1.8966;26.0852];
b2=[0 0 0 0;0.0008 -0.0008 0.0008 -0.0008];
c1=[1 0;0 1];
c2=[1 0;0 1];d11=[0;0];
d12=[0 0 0 0;0 0 0 0];
d21=[0;0];
d22=[0 0 0 0;0 0 0 0];
p=ltisys(a,[b1 b2],[c1;c2],[d11 d12;d21 d22]);
[gopt,K]=hinflmi(p,[2 4]);
[Ak,Bk,Ck,Dk]=ltiss(K);第十行有问题啊?

第1个回答  2012-01-09
矩阵超维,引用了不存在的矩阵元素。
第2个回答  2012-01-09
把你问题提示发出来看看!你可以根据问题提示改正程序的 !追问

??? Index exceeds matrix dimensions.

Error in ==> getphi at 35
P1=P*v(:,1:rk);

Error in ==> klmi at 345
thetaC=thetaC+v2*getphi(DR0,v2'*b2'*x2,max(10,.1*norm(thetaC,1)));

Error in ==> hinflmi at 106
[Kcen,gopt,flag]=klmi(P,r,gopt,x1,x2,y1,y2,tolred);

Error in ==> lubang3 at 10
[gopt,k]=hinflmi(p,[2 4]);

追答

你的b1,b2没有对啊?

本回答被提问者采纳

MATLAB 中 Index exceeds matrix dimensions.错误
MATLAB 中 Index exceeds matrix dimensions错误,是代码错误造成的,解决方法如下:1、启动MATLAB,新建脚本(Ctrl+N),输入以下代码。2、保存和运行上述脚本,弹出错误对话框。错误信息为:这是默认错误字符串(this is the default error string)。对话框名字为:错误对话框(error dialog)。3、接着...

MATLAB 中 Index exceeds matrix dimensions.错误
MATLAB 中 Index exceeds matrix dimensions错误,是代码错误造成的,解决方法如下:1、启动MATLAB,新建脚本(Ctrl+N),输入以下代码。2、保存和运行上述脚本,弹出错误对话框。错误信息为:这是默认错误字符串(this is the default error string)。对话框名字为:错误对话框(error dialog)。3、接着...

...y坐标,提示Index exceeds matrix dimensions.是软件问题?
matlab提示Index exceeds matrix dimensions.的意思是索引超过矩阵的尺寸。出现这个提示,我觉得可能是电脑内存配置偏低。在matlab2016a上可以运行给出的代码。运行结果如下

matlab运行出错 Index exceeds matrix dimensions.
指数超过矩阵的维数,可能是因为运行次数过多,而导致数据重复使用出错的,建议运行 clear 然后重新将原程序粘贴进来运行!

Matlab错误提示:Index exceeds matrix dimensions.怎么弄呢?_百度知 ...
1、某行只有一个字符(例如本来应该是空行的,但有一个空格);2、fgetl到达文件结尾,会返回-1。这类情况都会导致你遇到的数组越界问题。修改建议:确保不出错的做法是,把 if isempty(Curline)改成 if length(Curline) >= 11其中的数字11根据需要改成你在else分支中需要用到的长度。

matlab 运行的时候出现这个提示Index exceeds matrix dimensions
意思就是实际语句执行过程中超出了定义矩阵的阶数 比如说当i=140的时候,test(1:46,841: 846)= M(6441:6486,1:6);读进来的xls文件可能就没有六千多行 因为也没有你的xls,也没有错误截图,所以没办法推测你到底是哪里出了问题

...就弹出Index exceeds matrix dimensions.请大神帮忙看看,感激不尽...
1、出错原因:在对 j 的循环里,下面这句:sum(j)=sum(j)+Y;在第一次循环就用到了sum(2),但sum并没有定义,所以会出现数组越界的错误。2、解决方法:由于不知道你的算法和那句“sum(j)=sum(j)+Y”的意图,没法给你更好的建议。如果只是为了让程序运行,在循环外面加一句 sum=zeros(1000...

...的矩阵出现index exceeds matrix dimensions什么意思?
Index exceeds matrix dimensions.翻译成中文就是 指数超过矩阵维度。意思就是,你矩阵加入定义的矩阵A是 3乘3的矩阵,你在程序里,写了一个 B=A(4,3);这样的话,Matlab就找不到这第四行第三列的数据,因为你定义的A就三行三列;比如如下代码,你可以试试:M= magic(4);M(6,6)输出的就...

matlab中出现这样的提示:Index exceeds matrix dimensions._百度...
这个情况引起的原因只有一个 那就是下标越界。检查你的循环结构吧,有时候循环变量的值经过某些运算之后代入矢量的下表中,就会引起越界。

matlab报错??? Index exceeds matrix dimensions.
索引超过了矩阵维度,

相似回答
大家正在搜