Search and replace values in cell array?

13 ビュー (過去 30 日間)
Alana Weir
Alana Weir 2016 年 8 月 16 日
コメント済み: Alana Weir 2016 年 8 月 16 日
I have a cell array that is populated with 0's and letters. I and trying to write a script that will convert the different letters into different numerical values. The array is set up as below;
0 0 0 0 M
0 0 0 0 0
0 S 0 0 0
0 0 L 0 0
And i am trying to convert it to;
0 0 0 0 2
0 0 0 0 0
0 1 0 0 0
0 0 3 0 0
I can't search each column/row and replace manually as I will have an unknown amount of each. I tried using cellfun for this but as the isn't scalar I wasn't sure how. Any suggestions?

採用された回答

hcai
hcai 2016 年 8 月 16 日
I believe cellfun should still work. Try setting 'UniformOutput' to false.
  3 件のコメント
hcai
hcai 2016 年 8 月 16 日
Convert it to a matrix first in order to index into your cell array:
A(cell2mat(cellfun(@(elem) elem == 'M', A(:, :), 'UniformOutput', false))) = {2};
Here is what I see:
Alana Weir
Alana Weir 2016 年 8 月 16 日
It worked, thanks!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by