index out of bound

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 commentaires

Stephen23
Stephen23 le 20 Jan 2016
Please show us all of the error message. This means all of the red text.
Stephen23
Stephen23 le 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(...)

Réponses (1)

Walter Roberson
Walter Roberson le 20 Jan 2016

0 votes

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?

Cette question est clôturée.

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by