how to add string matrix to numeric matrix?

74 visualizaciones (últimos 30 días)
eri
eri el 26 de Oct. de 2012
example:
from
a=[rice;corn;wheat]
b=[3;4;3]
become
c=[rice 3;corn 4;wheat 3]

Respuestas (3)

José-Luis
José-Luis el 26 de Oct. de 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 comentarios
eri
eri el 26 de Oct. de 2012
Editada: eri el 26 de Oct. de 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 el 26 de Oct. de 2012
[a, strcat({' '}, num2str(b))] %output will be cell 3x2 of strings

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 26 de Oct. de 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 comentarios
eri
eri el 26 de Oct. de 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 el 26 de Oct. de 2012
Editada: Walter Roberson el 26 de Oct. de 2012
c = [a, num2cell(b)]; %output will be cell 3x2 first col strings second col numeric

Iniciar sesión para comentar.


Azzi Abdelmalek
Azzi Abdelmalek el 26 de Oct. de 2012
a={'rice';'corn';'wheat'}
b=[3;4;3]
c=arrayfun(@(x) [a{x} ' ' num2str(b(x))],1:3,'un',0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by