Index exceeds the number of array elements (10)

2 次查看(过去 30 天)
var=cell(CC.NumObjects,1)
for j=1:1:n
% clear var
var(j,1)= var(double(image(CC.PixelIdxList{1,j})))
end
%
my code is like this. CC.NumObjects=10 and for example its consists of CC.PixelIdxList{1,1} = 369x1 array. Others consist of arrays like this. "CC.Pixel dxList{1,1}" values in this are pixel indices. I'm trying to measure the variance of the values corresponding to these indices in the image matrix. but it gives this error.
  6 个评论
Dyuman Joshi
Dyuman Joshi 2023-9-30
编辑:Dyuman Joshi 2023-9-30
Attach the data you are working with. Use the paperclip button to do so.
Once again, why are you trying to use an empty cell array as a variable as and then over-writing it?
var{j,1} = var(double(image(CC.PixelIdxList{1,j})));
Edit - I seemed to have forgotten that var is a built-in MATLAB function :')

请先登录,再进行评论。

采纳的回答

Voss
Voss 2023-9-30
Avoid naming your variable var, since that is the name of a function you are trying to use. Also, a cell array doesn't appear to be required; you can use a numeric vector to store the results.
var_result = zeros(n,1);
for j = 1:n
var_result(j,1) = var(double(GPR(CC.PixelIdxList{1,j})));
end
  2 个评论
besaret koçak
besaret koçak 2023-9-30
Thank you, the error has been resolved. I changed the variable name from "var" to "var_result" and it did not give an error.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by