Question regarding writing data to txt file

조회 수: 1 (최근 30일)
jana
jana 2014년 10월 26일
댓글: Azzi Abdelmalek 2014년 10월 26일
Hi,
I have the following matrices:
A = [10,8,6;1,4,5]
B = [3,4,7;8,9,10]
I would like to print my data to a txt file that displays the name of the matrix, followed by row and column index of the data followed by the specific value for that column and row. For example:
A,1,1,10,1,2,8,1,3,6,2,1,1,2,2,4,2,3,5
B,1,1,3,1,2,4,1,3,7,2,1,8,2,2,9,2,3,10
Please help!..I am new to matlab

채택된 답변

Image Analyst
Image Analyst 2014년 10월 26일
This should be rather straightforward and easy to understand. If not, ask.
A = [10,8,6;1,4,5]
B = [3,4,7;8,9,10]
fid = fopen('delete_me.txt', 'wt');
% Print out the line for A
[rows, columns] = size(A);
fprintf(fid, 'A');
for col = 1 : columns
for row = 1 : rows
fprintf(fid, ',%d,%d,%d', row, col, A(row, col));
end
end
% Now for the B matrix.
[rows, columns] = size(B);
fprintf(fid, '\nB');
for col = 1 : columns
for row = 1 : rows
fprintf(fid, ',%d,%d,%d', row, col, B(row, col));
end
end
fclose(fid);
% In the file, there should be this:
% A,1,1,10,1,2,8,1,3,6,2,1,1,2,2,4,2,3,5
% B,1,1,3,1,2,4,1,3,7,2,1,8,2,2,9,2,3,10

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2014년 10월 26일
A = [10,8,6;1,4,5]
[n,m]=size(A)
[ii,jj]=ind2sub(size(A),1:numel(A))
iA=reshape(ii,n,m)'
jA=reshape(jj,n,m)'
A=A'
s1=sprintf('%d,%d,%d,',[iA(:)';jA(:)';A(:)'])
  댓글 수: 2
jana
jana 2014년 10월 26일
Thank you! but, using sprintf I cannot print my data to a txt file. Is there any other command that I can use?
Azzi Abdelmalek
Azzi Abdelmalek 2014년 10월 26일
A = [10,8,6;1,4,5]
[n,m]=size(A)
[ii,jj]=ind2sub(size(A),1:numel(A))
iA=reshape(ii,n,m)'
jA=reshape(jj,n,m)'
A=A'
fid=fopen('file.txt','w')
fprintf(fid,'%d,%d,%d,',[iA(:)';jA(:)';A(:)'])
fclose(fid)

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

카테고리

Help CenterFile Exchange에서 Text Data Preparation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by