Clear Filters
Clear Filters

How do you replace the entry of a matrix with a string?

6 views (last 30 days)
I'm a little stuck
  2 Comments
Ahmed
Ahmed on 28 Nov 2013
It is a number, 0, and I want to change it to a string 'monday' I'm making a calendar

Sign in to comment.

Accepted Answer

Wayne King
Wayne King on 28 Nov 2013
Edited: Wayne King on 28 Nov 2013
You can't technically replace an entry of a matrix with an entire string. You would require a cell array for that. You can convert a matrix into numbers and replace single elements with single characters.
For example:
X = randi([0 6],20,20);
X = num2str(X);
X(X=='0') = 'M';
If you tried to replace with 'Monday', you'd get an assignment mismatch problem because you can't put 6 characters in a placeholder for one character.
You would have to use cell arrays for something like that.

More Answers (2)

Jos (10584)
Jos (10584) on 28 Nov 2013
I suggest to use a cell array and keep the original numerical matrix for finding the elements that have to change:
X1 = randi([0 6],10,10)
X2 = num2cell(X1)
X2(X1 == 1) = {'Tuesday'}

Azzi Abdelmalek
Azzi Abdelmalek on 28 Nov 2013
a=[0;1;2;3]
b=num2cell(a)
b{1}='Monday'

Categories

Find more on Creating and Concatenating Matrices 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!