Filter löschen
Filter löschen

make replacements in an array

1 Ansicht (letzte 30 Tage)
Michael
Michael am 10 Jun. 2011
i have an array of doubles, A.
A = [0; 0; 1; 1; 0; 1];
I wish to replace all the 1's with 'yes' and the 0's with 'no'. can this be done in order to produce an output B?
B = [no; no; yes; yes; no; yes];
  1 Kommentar
Michael
Michael am 10 Jun. 2011
ok, in understand the whole character thing, but just say i want to add a 3rd option to the mix..
A = [1; 2; 3]
how do i get:
B = ['one '; 'two '; 'three']
?
thanks again everyone

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 10 Jun. 2011
B must be a cell array.
A = [0; 0; 1; 1; 0; 1];
B = repmat({'no'},size(A));
B(logical(A)) = {'yes'}
Part 2
Numbs = {'one';'two';'three'}; %etc
A = [1;2;3];
B = Numbs(A)
  1 Kommentar
Michael
Michael am 10 Jun. 2011
i was making this way to complicated, thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Jan
Jan am 10 Jun. 2011
A = [0; 0; 1; 1; 0; 1];
C = {'no', 'yes'}
B = reshape(C(A + 1), [], 1);
But as Matt T. said: Now B is a CELL string, which is not exactly "[no; no; yes; yes; no; yes]", because this is not possible in Matlab.

Matt Tearle
Matt Tearle am 10 Jun. 2011
You can't have a matrix of strings 'yes' and 'no', like you've shown. You can have logicals (true/false), but they will display like 1/0. You can make a cell array of strings. You can make a character array of strings by padding the 'no's with a space ('no '). Or, if you have Statistics Toolbox, you can make a nominal array.
What is your purpose in all of this?
  2 Kommentare
Michael
Michael am 10 Jun. 2011
basically for work i have to produce reports and there are different types of data that i look at and wanted to tag each type of data with strings. right now i just have numbers to tag them instead of character labels. this was just a simple example. there are actually 3 types of data that i tagged as 1, 2, and 3.
Matt Tearle
Matt Tearle am 10 Jun. 2011
A = randi(3,1,10)
B = nominal(A,{'one','two','three'},1:3)
(if you have Stats TB)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by