フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

what is the problem?

1 回表示 (過去 30 日間)
fatemeh
fatemeh 2013 年 12 月 30 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
Image Analyst
Image Analyst 2013 年 12 月 30 日
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 日
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?
Walter Roberson
Walter Roberson 2013 年 12 月 30 日
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.

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by