How do I use sprintf to create a matrix of string and number arrays?

31 Ansichten (letzte 30 Tage)
Neha
Neha am 25 Jul. 2014
Kommentiert: Ben11 am 28 Jul. 2014
Here is an example of the data I want to output using sprintf
a = {'abea','b','c'}
b=[1 2 3]
How do I get it so the output is out =
abea 1
b 2
c 3
the variables a and b may be any length.

Antworten (2)

Michael Haderlein
Michael Haderlein am 25 Jul. 2014
In such cases, I use
>> v=[a;num2cell(b)]
v =
'abea' 'b' 'c'
[ 1] [2] [3]
>> sprintf('%s %d ',v{:})
ans =
abea 1 b 2 c 3
  1 Kommentar
Neha
Neha am 25 Jul. 2014
sorry, I mean for the question to be getting an output of
abea 1
b 2
c 3
And between each column there should be a tab.

Melden Sie sich an, um zu kommentieren.


Ben11
Ben11 am 27 Jul. 2014
Bearbeitet: Ben11 am 27 Jul. 2014
Following on Michael's answer, what if you try this:
clear
clc
a = {'abea','b','c'};
b = [1 2 3];
b_cell = num2cell(b);
OutCell = cell(size(a,2),1);
for k = 1:size(a,2)
OutCell{k} = sprintf('%s %s',a{k},num2str(b_cell{k}));
end
disp(OutCell)
which gives this:
'abea 1'
'b 2'
'c 3'

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