How to replace non zero value with character
Show older comments
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....
Answers (1)
Stephen23
on 23 Jun 2017
>> A = [0 0 1; 1 0 0;0 2 0];
>> C = repmat({''},size(A));
>> C(A~=0) = {'OK'}
C =
'' '' 'OK'
'OK' '' ''
'' 'OK' ''
2 Comments
Andrei Bobrov
on 23 Jun 2017
C = cell(size(A));
C(A~=0) = {'OK'}
@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);
Categories
Find more on Data Type Conversion 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!