column-wise input for string and double data using fprintf

2 views (last 30 days)
data_string=
32×3 char array
'G01'
'G02'
'G03'
.
'G32'
data_numeric= 32 x 6 double
fprintf('%s %.3f %.3f %.3f %.3f %.3f %.3f\n', data_string.', data_numeric.')
It writes the data_string and data_numeric in a text file as the following structure:
G01G02G03G04G05G06G07G08G09G10G11G12G13G14G15G16G17G18G19G20G21G22G23G24G25G26G27G28G29G30G31G32 . . . (along with 5 numeric values in the same line)
27 x 6 numeric values (after the first line)
How I can print the data_string and data_numeric as column-wise (7 x 32) in a text file? For example the output should be like this:
G01 . . . . . .
G02 . . . . . .
. . . . . . .
G32 . . . . . .

Accepted Answer

VBBV
VBBV on 19 Nov 2021
fprintf('%s\n %.3f\n %.3f\n %.3f\n %.3f\n %.3f\n %.3f\n', data_string.', data_numeric.')
Add a newline after each format specifier
  2 Comments
sermet OGUTCU
sermet OGUTCU on 19 Nov 2021
it produced the irrelevant format such as:
G01G02G03G04G05G06G07G08G09G10G11G12G13G14G15G16G17G18G19G20G21G22G23G24G25G26G27G28G29G30G31G32
0.809
1.231
.
.
VBBV
VBBV on 19 Nov 2021
data_string={'G01','G02','G03','G04','G05','G06'}
data_string = 1×6 cell array
{'G01'} {'G02'} {'G03'} {'G04'} {'G05'} {'G06'}
data_numeric= 1.4*rand(1,6)
data_numeric = 1×6
1.0413 0.6852 0.6532 0.5060 0.9655 0.5505
for i = 1:length(data_string)
fprintf('%s %.3f %.3f %.3f %.3f %.3f %.3f\n', data_string{i}, data_numeric)
end
G01 1.041 0.685 0.653 0.506 0.966 0.551 G02 1.041 0.685 0.653 0.506 0.966 0.551 G03 1.041 0.685 0.653 0.506 0.966 0.551 G04 1.041 0.685 0.653 0.506 0.966 0.551 G05 1.041 0.685 0.653 0.506 0.966 0.551 G06 1.041 0.685 0.653 0.506 0.966 0.551
try like this

Sign in to comment.

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!