How do I replace elements of an array with letters?

Hi, I have an array called 'labels_I03' which is filled with zeros, and I am trying to replace the elements of this array with either 'N' or 'A' based on whether the index of the array element is part of a separate vector called 'abnormal_cycles_I03'. I am currently using a 'for' loop as shown below, but this does not seem to be working. It just returns an array full of zeros. Any suggestions would be greatly appreciated, thanks in advance.
labels_I03 = categorical(zeros(1, number_cycles));
abnormal_cycles_I03 = [128];
for i = number_cycles - 1
if ~ismember(i, abnormal_cycles_I03)
labels_I03(i) = 'N';
else
labels_I03(i) = 'A';
end
end

 採用された回答

Adam Danz
Adam Danz 2021 年 1 月 23 日
編集済み: Adam Danz 2021 年 1 月 26 日

0 投票

Sounds like you're describing this,
number_cycles = 10;
labels_I03 = categorical(repmat({'N'},1,number_cycles)); % set all as N
abnormal_cycles_I03 = [2,4,9]
abnormal_cycles_I03 = 1×3
2 4 9
labels_I03(abnormal_cycles_I03) = categorical({'A'}) % fill in A's
labels_I03 = 1×10 categorical array
N A N A N N N N A N

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

タグ

質問済み:

2021 年 1 月 23 日

編集済み:

2021 年 1 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by