I can not create a matrix

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.

Antworten (2)

Seyedali Mirjalili
Seyedali Mirjalili am 31 Mär. 2017

0 Stimmen

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 Kommentare

Muhendisleksi
Muhendisleksi am 31 Mär. 2017
"Error: File: dogrultu_kenar_hesabi.m Line: 302 Column: 7 Unbalanced or unexpected parenthesis or bracket."
This error occurs
Jan
Jan am 31 Mär. 2017
Bearbeitet: Jan am 31 Mär. 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 .

Melden Sie sich an, um zu kommentieren.

Andrei Bobrov
Andrei Bobrov am 31 Mär. 2017

0 Stimmen

Maybe so?
[~,ii] = ismember(BNdog,YON_BLNM)
Zi = Z(ii);

2 Kommentare

Muhendisleksi
Muhendisleksi am 1 Apr. 2017
Bearbeitet: Muhendisleksi am 1 Apr. 2017
"BNdog", "YON_BLNM", "ri" and "Z" are constantly changing. Do not we have a chance to write more dynamic?
Muhendisleksi
Muhendisleksi am 6 Apr. 2017
Is not that possible?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 30 Mär. 2017

Kommentiert:

am 6 Apr. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by