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

1 visualización (últimos 30 días)
Joshua
Joshua el 29 de En. de 2025
Comentada: Joshua el 1 de Feb. de 2025
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'.

Respuesta aceptada

Stephen23
Stephen23 el 29 de En. de 2025
Editada: Stephen23 el 29 de En. de 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

Más respuestas (0)

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by