How to replace a double in a array with a string (cell)?

8 views (last 30 days)
I have a matrix of alternating 1s and 0s. Such as A = 1 0 1 0 1 0 0 1 0 1 0 1
I want to replace the "1" with a string called "[apple]" including the brackets.
How should I do this? It keeps giving me errors.

Answers (2)

Walter Roberson
Walter Roberson on 2 Oct 2015
A = [1 0 1 0 1 0 0 1 0 1 0 1];
Ac = num2cell(A);
Ac(A==1) = {'[apple]'};
If you wanted to replace 1 with [apple] and 0 with something else you could do
str_table = {'[orange]', '[apple]'};
Ac = str_table(A+1);

Andrei Bobrov
Andrei Bobrov on 2 Oct 2015
A = [1 0 1 0 1 0 0 1 0 1 0 1];
out = cell(size(A));
out(A>0) = {'[apple]'};

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!