I can not create a matrix

3 views (last 30 days)
Muhendisleksi
Muhendisleksi on 30 Mar 2017
Commented: Muhendisleksi on 6 Apr 2017
Z =[150.0276305609584
55.1225122601673
251.4164611561661
344.9623210277200
20.7924313051007
150.0276305609584
55.1225122601673
251.4164611561661
344.9623210277200
20.7924313051007]
YON_BLNM =[27
32
34
39
133]
BNdog =[34
133
32
27
133
39
39
133
27
32
133
34
27
34
39
32]
for i = 1:length(YON_BLNM)
Zi{i} = Z(BNdog==YON_BLNM(i),1);
end
I have to make 16 angles But I am having problems in the loop.

Answers (2)

Seyedali Mirjalili
Seyedali Mirjalili on 31 Mar 2017
Please note that curly brace ({i}) makes a cell array and not a matrix. You have to use square brackets instead: []
So:
for i = 1:length(YON_BLNM)
Zi[i] = Z(BNdog==YON_BLNM(i),1);
end
  2 Comments
Jan
Jan on 31 Mar 2017
Edited: Jan on 31 Mar 2017
@Muhendisleksi: This is a typo, obviously. Use Zi(i) instead with round parenthesis. Square brackets are the concatenation operator, see http://www.mathworks.com/matlabcentral/answers/35676-why-not-use-square-brackets .

Sign in to comment.


Andrei Bobrov
Andrei Bobrov on 31 Mar 2017
Maybe so?
[~,ii] = ismember(BNdog,YON_BLNM)
Zi = Z(ii);
  2 Comments
Muhendisleksi
Muhendisleksi on 6 Apr 2017
Is not that possible?

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!