フィルターのクリア

how to add string matrix to numeric matrix?

60 ビュー (過去 30 日間)
eri
eri 2012 年 10 月 26 日
example:
from
a=[rice;corn;wheat]
b=[3;4;3]
become
c=[rice 3;corn 4;wheat 3]

回答 (3 件)

José-Luis
José-Luis 2012 年 10 月 26 日
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 件のコメント
eri
eri 2012 年 10 月 26 日
編集済み: eri 2012 年 10 月 26 日
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 2012 年 10 月 26 日
[a, strcat({' '}, num2str(b))] %output will be cell 3x2 of strings

サインインしてコメントする。


Walter Roberson
Walter Roberson 2012 年 10 月 26 日
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 件のコメント
eri
eri 2012 年 10 月 26 日
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 2012 年 10 月 26 日
編集済み: Walter Roberson 2012 年 10 月 26 日
c = [a, num2cell(b)]; %output will be cell 3x2 first col strings second col numeric

サインインしてコメントする。


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

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by