Info

This question is closed. Reopen it to edit or answer.

index out of bound

1 view (last 30 days)
sweta arya
sweta arya on 20 Jan 2016
Closed: MATLAB Answer Bot on 20 Aug 2021
intial_image=zeros(180,1);
for i=1:180
intial_image(i)=i;
end
y =zeros(30,1);
y = datasample(intial_image,30);
disp(y(2,1));
size3=0;
nBins=8;
Nind=0;
h1=0;
count=0;
for i=1:30
if(numel(y)==30)
jpgFileName = strcat('C:\Users\priya\Desktop\Fashion Photography\',num2str(y(i)), '.jpg');
I= imread(jpgFileName);
[row,col,m]=size(I);
size3=size3+ row*col;
count=count+1;
end
giving error:
can not access y(2,1) because numel(y)=1.
  2 Comments
Stephen23
Stephen23 on 20 Jan 2016
Please show us all of the error message. This means all of the red text.
Stephen23
Stephen23 on 20 Jan 2016
The code needs to be simplified. Replace this:
initial_image=zeros(180,1);
for i=1:180
intial_image(i)=i;
end
with this:
initial_image = (1:180).';
There is no point in preallocating y like this:
y =zeros(30,1);
because it is completely reallocated on the very next line:
y = datasample(...)

Answers (1)

Walter Roberson
Walter Roberson on 20 Jan 2016
Whatever
datasample(intial_image,30)
is, it is resulting in a scalar.
What is the result of
which -all datasample
? Is it from the Statistics Toolbox or does it resolve to one of your own routines?

This question is closed.

Community Treasure Hunt

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

Start Hunting!