# I can not create a matrix

3 views (last 30 days)
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.

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
Muhendisleksi on 31 Mar 2017
"Error: File: dogrultu_kenar_hesabi.m Line: 302 Column: 7 Unbalanced or unexpected parenthesis or bracket."
This error occurs
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 .

Andrei Bobrov on 31 Mar 2017
Maybe so?
[~,ii] = ismember(BNdog,YON_BLNM)
Zi = Z(ii);
Muhendisleksi on 1 Apr 2017
Edited: Muhendisleksi on 1 Apr 2017
"BNdog", "YON_BLNM", "ri" and "Z" are constantly changing. Do not we have a chance to write more dynamic?
Muhendisleksi on 6 Apr 2017
Is not that possible?