How to replace non zero value with character

2 ビュー (過去 30 日間)
Vishal Sharma
Vishal Sharma 2017 年 6 月 23 日
編集済み: Jan 2017 年 6 月 23 日
Matrix A = [0 0 1; 1 0 0;0 2 0];
I want to create another matrix replacing non zeros elements (i.e. (1,3), (2,1), (3,2) with character string, e.g. OK
Please suggest....

回答 (1 件)

Stephen23
Stephen23 2017 年 6 月 23 日
>> A = [0 0 1; 1 0 0;0 2 0];
>> C = repmat({''},size(A));
>> C(A~=0) = {'OK'}
C =
'' '' 'OK'
'OK' '' ''
'' 'OK' ''
  2 件のコメント
Andrei Bobrov
Andrei Bobrov 2017 年 6 月 23 日
C = cell(size(A));
C(A~=0) = {'OK'}
Jan
Jan 2017 年 6 月 23 日
編集済み: Jan 2017 年 6 月 23 日
@Vishal Sharma: Do you see that Stephen has used a cell? You cannot mix numbers and characters directly in a double array.
Or:
Pool = {'', 'OK'};
C = Pool((A~=0) + 1);

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

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by