how to add string matrix to numeric matrix?

79 Ansichten (letzte 30 Tage)
eri
eri am 26 Okt. 2012
example:
from
a=[rice;corn;wheat]
b=[3;4;3]
become
c=[rice 3;corn 4;wheat 3]

Antworten (3)

José-Luis
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
eri am 26 Okt. 2012
Bearbeitet: eri am 26 Okt. 2012
it did work, but the result is in one column, is it possible to make it two columns, for the example above i have two 3x1 matrix and i want the result to be 3x2 matrix?
Walter Roberson
Walter Roberson am 26 Okt. 2012
[a, strcat({' '}, num2str(b))] %output will be cell 3x2 of strings

Melden Sie sich an, um zu kommentieren.


Walter Roberson
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
eri am 26 Okt. 2012
my question is that i already have a and b, and what should i do to get output like c by operating a and b?
Walter Roberson
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

Melden Sie sich an, um zu kommentieren.


Azzi Abdelmalek
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 Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by