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

22 ビュー (過去 30 日間)
Joshua
Joshua 2025 年 1 月 29 日 19:32
コメント済み: Joshua 2025 年 2 月 1 日 1:00
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 日 19:55
編集済み: Stephen23 2025 年 1 月 29 日 19:56
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 Center および File ExchangeData Import from MATLAB についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by