Clear Filters
Clear Filters

Index exceeds the number of array elements (10)

2 views (last 30 days)
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 Comments
Dyuman Joshi
Dyuman Joshi on 30 Sep 2023
Edited: Dyuman Joshi on 30 Sep 2023
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 :')

Sign in to comment.

Accepted Answer

Voss
Voss on 30 Sep 2023
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 Comments
besaret koçak
besaret koçak on 30 Sep 2023
Thank you, the error has been resolved. I changed the variable name from "var" to "var_result" and it did not give an error.

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!