how to add string matrix to numeric matrix?
Ältere Kommentare anzeigen
example:
from
a=[rice;corn;wheat]
b=[3;4;3]
become
c=[rice 3;corn 4;wheat 3]
Antworten (3)
José-Luis
am 26 Okt. 2012
You could use cell arrays:
a={'rice';'corn';'wheat'};
b={3;4;3};
your_result = cellfun(@(a,b) [a ' ' num2str(b)],a,b,'uniformoutput',false);
4 Kommentare
eri
am 26 Okt. 2012
Walter Roberson
am 26 Okt. 2012
It creates a cell array of strings, converting the numbers to strings and putting them at the end of the original strings.
Another way to do the same thing is
your_result = strcat(a, {' '}, num2str(b));
Note that in order for this to work without modification, the two arrays must be column arrays.
Walter Roberson
am 26 Okt. 2012
[a, strcat({' '}, num2str(b))] %output will be cell 3x2 of strings
Walter Roberson
am 26 Okt. 2012
No, numeric arrays can never contain strings.
Cell arrays can contain both strings and numbers, in separate elements.
c = {'rice', 3; 'corn', 4; 'wheat', 3};
2 Kommentare
eri
am 26 Okt. 2012
Walter Roberson
am 26 Okt. 2012
Bearbeitet: Walter Roberson
am 26 Okt. 2012
c = [a, num2cell(b)]; %output will be cell 3x2 first col strings second col numeric
Azzi Abdelmalek
am 26 Okt. 2012
a={'rice';'corn';'wheat'}
b=[3;4;3]
c=arrayfun(@(x) [a{x} ' ' num2str(b(x))],1:3,'un',0)
Kategorien
Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!