replace a double in a array with a string BUT in specific Columns?

3 views (last 30 days)
Suppose the matrix is
A = [ 0.5 2 3 2.5 1 1
0.6 1 2 2.4 2 3
0.2 2 3 2.3 3 2]
My question is to replace 1 with so-so, 2 with Bad and 3 with good in 2nd and 3rd columns, and 1 with so-so, 2 with Bad and 3 with good in 5th and 6th column. I try to use num2cell, but cannot find out the way.
The output looks like this:
A = [ 0.5 bad good 2.5 so-so so-so
0.6 so-so bad 2.4 bad good
0.2 bad good 2.3 good bad]

Accepted Answer

madhan ravi
madhan ravi on 20 Oct 2018
Edited: madhan ravi on 20 Oct 2018
>> AA = string([ 0.5 2 3 2.5 1 1
        0.6 1 2 2.4 2 3
        0.2 2 3 2.3 3 2])
    A = strrep(AA(:,[2 3 5 6]),'1','so-so');
    A = strrep(A(:,1:4),'2','bad');
    A = strrep(A(:,1:4),'3','good');
    AA(:,[2 3 5 6])=A;
   A=AA
AA = 
    3×6 string array
      "0.5"    "2"    "3"    "2.5"    "1"    "1"
      "0.6"    "1"    "2"    "2.4"    "2"    "3"
      "0.2"    "2"    "3"    "2.3"    "3"    "2"
A = 
    3×6 string array
      "0.5"    "bad"      "good"    "2.5"    "so-so"    "so-so"
      "0.6"    "so-so"    "bad"     "2.4"    "bad"      "good" 
      "0.2"    "bad"      "good"    "2.3"    "good"     "bad"  
>> 
  6 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings 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!