Round in a cell array that also contains string

2 ビュー (過去 30 日間)
Jack Arnoldi
Jack Arnoldi 2019 年 7 月 24 日
コメント済み: Jack Arnoldi 2019 年 7 月 24 日
Hello everyone,
I am trying to round figures in a cell array however in that same array I also have string types. round changes the value of the string therfore I can't use formulas like
cellfun(@(x)round(x,N),c)
I mean I don't how to integrate `isnumeric` to this formula.
Is there a fomula that knows to round only numeric number?
Thank you in advance.

採用された回答

Stephen23
Stephen23 2019 年 7 月 24 日
編集済み: Stephen23 2019 年 7 月 24 日
idx = cellfun(@isnumeric,C);
C(idx) = cellfun(@(x)round(x,N),C(idx),'uni',0)
  3 件のコメント
Stephen23
Stephen23 2019 年 7 月 24 日
@Jack Arnoldi: you are right, I forgot the 'UniformOutput',false. I have fixed my answer:
>> C = {1.234,'cat';'hat',5.6789}
C =
[1.234] 'cat'
'hat' [5.6789]
>> idx = cellfun(@isnumeric,C);
>> C(idx) = cellfun(@(x)round(x,2),C(idx),'uni',0)
C =
[1.23] 'cat'
'hat' [5.68]
Jack Arnoldi
Jack Arnoldi 2019 年 7 月 24 日
Thank you that works perfectly!

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

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by