필터 지우기
필터 지우기

How to save in a sequence of files each output of a "for" loop

조회 수: 3 (최근 30일)
Katerina F
Katerina F 2014년 9월 12일
댓글: Star Strider 2014년 9월 14일
A have a number of txt files with data, and names like ABR1998, ABR1999 etc. I am running a script that includes a "for" loop to manupulate these files and I want each time the output is saved in txt files with the same (or similar name) e.g. ABRa1998,ABRa1999 etc. The output of each loop is the "A" (see below) which is a matrix with several columns and rows of data. Could you please tell me how to do this? Thanks-K.
matfiles=dir(fullfile('N:','My Documents','MATLAB','runfilesABR', '*.txt'));
for n=1998:2005
filename = ['ABR', int2str(n), '.txt'];
A=load(filename);
XXXXXXXXXX
XXXXXXXXXX
[d,c] = find(isnan(A));
A(d,:) = [];
A
end

채택된 답변

Star Strider
Star Strider 2014년 9월 14일
In the function forms of save and load, all arguments have to be strings:
filename = ['ABRa', int2str(n), '.txt'];
save(filename, 'A', '-ascii');

추가 답변 (1개)

Guillaume
Guillaume 2014년 9월 12일
편집: Image Analyst 2014년 9월 12일
save(filename, A, '-ascii'); %change filename if you wish
I don't particularly understand why you're getting the list of file in the runfilesABR directory and then never you that list, though.
Can you write the code you used to generate the new filename? As the message tells you it's not a string.
  댓글 수: 4
per isakson
per isakson 2014년 9월 14일
Add the lines
filename
whos A
before save or put a breakpoint at save to verify that they have appropriate values
Katerina F
Katerina F 2014년 9월 14일
I tried it. It shows the same error message

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

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by