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

1 view (last 30 days)
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'.

Accepted Answer

Stephen23
Stephen23 on 29 Jan 2025
Edited: Stephen23 on 29 Jan 2025
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

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!