how to add string matrix to numeric matrix?
이전 댓글 표시
example:
from
a=[rice;corn;wheat]
b=[3;4;3]
become
c=[rice 3;corn 4;wheat 3]
답변 (3개)
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
2012년 10월 26일
Walter Roberson
2012년 10월 26일
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
2012년 10월 26일
[a, strcat({' '}, num2str(b))] %output will be cell 3x2 of strings
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
2012년 10월 26일
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
2012년 10월 26일
a={'rice';'corn';'wheat'}
b=[3;4;3]
c=arrayfun(@(x) [a{x} ' ' num2str(b(x))],1:3,'un',0)
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!