MATLAB Answers

indexing vectors in a nested for loop

1 view (last 30 days)
daniel on 6 Nov 2014
Commented: Hikaru on 6 Nov 2014
Hi! so this is probably a simple fix but its not coming to me as fast as I'd like... seems easy enough. I have assigned some vectors from an excel file. I would like to go through each element in each vector, do some analysis, extract some info and put it back in a vector of the same size. My problem arises when trying to index my vectors.. I am using two for loops one for each vector and the other for each element within the vector.
data = xlsread('myfile.xlsx'):
wrd2_1 = data(:,1);
wrd2_2 = data(:,2); . . . wrd2_6 = data(:,6);
for ii = 1:length(wrd2_1)
for jj = 1:length(wrd2_1)
bins{jj} = dec2bin(wrd2_{ii}(ii));
lob = length(bins{jj});
diff = abs(16 - lob);
switch diff
case 1
v1 = strcat('0',bins{jj});
case 2
v1 = strcat('00',bins{jj});
case 3
v1 = strcat('000',bins{jj});
case 4
v1 = strcat('0000',bins{jj});
case 5
v1 = strcat('00000',bins{jj});
otherwise v1 = bins{jj};
some more stuff...
the problem arises here:
bins{jj} = dec2bin(wrd2_{ii}(ii));
Undefined variable "wrd2_" or class "wrd2_". Error in RDR_PLOTS (line 76) bins{jj} = dec2bin(wrd2_{ii}(jj));
I realize what I am doing wrong but I am not sure how to go about resolving this.
I know that I could put all of the data into one matrix and indexing would be fine but it is not ideal for my situation.
any help is appreciated thanks!

  1 Comment

Hikaru on 6 Nov 2014
Your variable names are wrd2_1, wrd2_2, wrd2_3,... wrd2_6, so you have to call them properly. As you pointed out, one matrix would've been fine. Mind telling us why it is not ideal?

Sign in to comment.

Answers (0)

Translated by