- store the index in the numeric array, or
- use another kind of array, e.g. a cell array, table, etc.
How to insert text in a matrix - If function
51 views (last 30 days)
Show older comments
Pierre Lonfat
on 19 Apr 2017
Commented: Pierre Lonfat
on 20 Apr 2017
Dear All, In the following code I would like to insert 'good news', 'bad news', 'no news' instead of 1, 2, 3 in the "Announcement" matrix.
No idea how to insert text in a matrix (20X28 in this case) !
Many thanks in advance !
Pierre
1 Comment
Stephen23
on 19 Apr 2017
Edited: Stephen23
on 19 Apr 2017
Numeric matrices contain numeric data only.
You could:
But it is not possible to put a string (1xN character vector) into one element of a numeric matrix.
Accepted Answer
Geoff Hayes
on 19 Apr 2017
Pierre - since you are inserting strings of different lengths, your Announcements array will need to be come a cell array
Announcements = cell(N,28);
You will updates it simply as
Announcements{j,i} = 'good news';
etc.
Though you may want to keep your previous implementation and just manage an array of values between 1-3 and then (when you need to display your message) just access a map that converts the number to a string
mapIdToString = {'good news'; 'bad news' ; 'no news'};
The equivalent to the 1 (id) would then be
mapIdToString(1)
More Answers (1)
Andrei Bobrov
on 19 Apr 2017
D is Divident
F is Forecasted_DPS
A = {'good news','bad news','no news'};
ii = (D >= 1.03*F) + (D <= .97*F)*2;
ii(ii == 0) = 3;
Announcements = A(ii);
See Also
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!