How do I print one value on one row and another on the next

조회 수: 1 (최근 30일)
Joshua
Joshua 2025년 1월 29일
댓글: Joshua 2025년 2월 1일
So I have a matrix which I am trying to print into a file so that one row has one value the next row a different and so one. The first collum in each row should alternate between B and N, which it is doing, however the rest of the row values are the same. For example here is the first four rows of the printed file :
B 55.31897464 3.07237728 -1002.88631401
N 55.31897464 3.07237728 -1002.88631401
B 53.43739489 3.94977174 -1001.67387801
N 53.43739489 3.94977174 -1001.67387801
Instead of the N row being the same as the B row I would like the file to be printed as:
B 55.31897464 3.07237728 -1002.88631401
N 53.43739489 3.94977174 -1001.67387801
Attatched is my code :
for i = 1:2:size(unit,1)
fprintf(fid_1, '%s %10.8f %10.8f %10.8f\r\n','B',unit(i,1),unit(i,2),unit(i,3)); %print boron atoms
fprintf(fid_1, '%s %10.8f %10.8f %10.8f\r\n','N',unit(i,1),unit(i,2),unit(i,3)); %print nitrogen atoms
end
Unrecognized function or variable 'unit'.

채택된 답변

Stephen23
Stephen23 2025년 1월 29일
편집: Stephen23 2025년 1월 29일
Taking a wild guess:
fmt = '%s %10.8f %10.8f %10.8f\r\n';
for i = 1:2:size(unit,1)
fprintf(fid_1, fmt,'B',unit(i+0,1:3)); %print boron atoms
fprintf(fid_1, fmt,'N',unit(i+1,1:3)); %print nitrogen atoms
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by