# Multiple lines to write using fid open

조회 수: 2(최근 30일)
lilly lord 2021년 9월 14일
답변: Cris LaPierre 2021년 9월 14일
I have a matrix and some operation is performed on the rows e.g average of each row. I want to store those rows whose average is above some condition and if multiple rows satisfy the condition then both should be written in a text file. My code only writes last row [10 11 2] where as I want both 2 and 3rd rows.
M=[2 3 4; 6 7 9; 10 11 2];
R1=sum(M(1,:))/3; % ans is 3
R2=sum(M(2,:))/3;% ans is 7.3333
R3=sum(M(3,:))/3; % ans is 7.6667
T=[R1,R2,R3];
for i = 1:3
if T(i) >= 7.3333
fid = fopen(['Result/T(i)',',','.txt'], 'w');
fprintf(fid,'%d',M(i,:));
fprintf(fid,',');
fclose(fid);
end
end

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

### 채택된 답변

Cris LaPierre 2021년 9월 14일
The issue is with the permission you are using with fopen ('w').
• 'w' Open or create new file for writing. Discard existing contents, if any.
You probably want 'a+'
• 'a+' Open or create new file for reading and writing. Append data to the end of the file.

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

### Community Treasure Hunt

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

Start Hunting!