How to Put an Arrays Elements in a Structure?

3 ビュー (過去 30 日間)
Rightia Rollmann
Rightia Rollmann 2017 年 3 月 11 日
編集済み: Stephen23 2017 年 3 月 12 日
Is there any way to get as same a result as the code below without having that annoying for loop?
A = [1; 1; 0; 0; 0; 0; 1];
for i = 1 : 7
if A(i) == 0
B(i).C = 'w';
elseif A(i) == 1
B(i).C = 'b';
end;
end

採用された回答

Stephen23
Stephen23 2017 年 3 月 11 日
編集済み: Stephen23 2017 年 3 月 11 日
Here are three ways:
A = [1; 1; 0; 0; 0; 0; 1];
C = {'w','b'};
B = struct('C1',C(1+A)); % if the structure does not exist.
[B.C2] = deal(C{1+A}); % if the structure already exists.
[B.C3] = C{1+A}; % if the structure already exists (not all versions).
Giving:
>> B.C1
ans =
b
ans =
b
ans =
w
ans =
w
ans =
w
ans =
w
ans =
b
>> B.C2
ans =
b
ans =
b
ans =
w
ans =
w
ans =
w
ans =
w
ans =
b
  6 件のコメント
Rightia Rollmann
Rightia Rollmann 2017 年 3 月 11 日
編集済み: Rightia Rollmann 2017 年 3 月 11 日
I asked it as separate question here!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Find more on Structures 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!

Translated by