Different arrays to one text file

조회 수: 3 (최근 30일)
Debbie Oomen
Debbie Oomen 2017년 11월 1일
댓글: KL 2017년 11월 2일
header1= 'Name file';
header2='Median frequencies of MVCs';
outputFile1 = fopen(fullfile(mydir1,'Results.txt'),'w');
I have two different types of arrays: one is the filename which is a character array and the other one is a number array. I want the filename to be in the left column of the text file and the median frequency in the right column with the corresponding filename. How should I go on from here? Everything I have tried gave me the error that I was using wrong matrices.. Please help
  댓글 수: 2
Debbie Oomen
Debbie Oomen 2017년 11월 1일
Yes this works! Now I also need to do this for a struct array and numeric array. How can I do this?
KL
KL 2017년 11월 2일
My answer should work for numeric arrays as well and for structures you could use struct2cell or even struct2table and then writetable but it all comes down to how you've stacked up your data.

댓글을 달려면 로그인하십시오.

답변 (1개)

KL
KL 2017년 11월 1일
편집: KL 2017년 11월 1일
store them in a cell array and use fprintf,
yourCell = {'a', 'b', 'c'; 1, 2, 3};
fprintf('%s %d\n',yourCell{:});
  댓글 수: 2
Debbie Oomen
Debbie Oomen 2017년 11월 2일
When I open the text file, it does not save it as two column next to each other with corresponding headers. How can I ensure this?
KL
KL 2017년 11월 2일
see, here's a complete working example,
yourCell = {'a', 'b', 'c'; 1, 2, 3};
head = {'filename', 'values'};
fid = fopen('sample.txt','w');
fprintf(fid,'%s %s\n',head{:});
fprintf(fid,'%s %d\n',yourCell{:});
fclose(fid)
This does exactly what you ask for. You can check it by importing the data again into the workspace,
importCheck = readtable('sample.txt')

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by