what is the problem?

i have a loop that every time insert a vector in one row of a matrix but when i assign it i give this error massage :Index exceeds matrix dimensions. this is my code for assigning :
ps{psize,pcol}=cl{1,pcol};
that psize is 500 and pcol is 15

댓글 수: 1

Please give the entire error message, that means ALL the red text, not just some of it. I want to know if it's failing at the very last, lower right element of each, in other words
ps{500,15} = cl{1,15};
or if you're trying to assign some other elements, like cl{2,42} or something. The error message should say how many elements there are in the arrays.

답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 12월 30일

0 개 추천

Check the sizes of ps and cl, and check if they are not less than pcol and psize

댓글 수: 2

fatemeh
fatemeh 2013년 12월 30일
ps=cell(500,15); cl=cell(1,15); what is the problem?
At the MATLAB command line, give the command
dbstop if error
and run the program. When it stops, examine
size(cl)
pcol
I suspect you will see cl being smaller than you expect.
Question: why not use
ps(psize, pcol) = cl(1, pcol);
That would be less internal work. This will not make a difference to the array index error you are getting, but it is generally safer.

이 질문은 마감되었습니다.

질문:

2013년 12월 30일

마감:

2021년 8월 20일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by