Effacer les filtres
Effacer les filtres

how to add string matrix to numeric matrix?

60 vues (au cours des 30 derniers jours)
eri
eri le 26 Oct 2012
example:
from
a=[rice;corn;wheat]
b=[3;4;3]
become
c=[rice 3;corn 4;wheat 3]

Réponses (3)

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

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 26 Oct 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 commentaires
eri
eri le 26 Oct 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 le 26 Oct 2012
Modifié(e) : Walter Roberson le 26 Oct 2012
c = [a, num2cell(b)]; %output will be cell 3x2 first col strings second col numeric

Connectez-vous pour commenter.


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

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by