Using save() and -ascii format to limit output numbers to 2 decimals

92 visualizzazioni (ultimi 30 giorni)
Hello All, I need help with save() command. here is the extract of my code:
save(fullfile(PathName,filename),'x','-ascii');
Where x is a column of 120 values upto 2 decimal points.
Now what I am getting with above code is 4.7300000e+01 which I want to limit to 47.30 only. I know they are one of same but I have another script which reads only 47.30 kind of format. So even though both are same I have to restrict it to 2 decimals only.
So is there any way to do that?

Risposta accettata

Stephen23
Stephen23 il 7 Giu 2017
Modificato: Stephen23 il 7 Giu 2017
Method one: fprintf:
fnm = fullfile(PathName,filename);
fid = fopen(fnm,'wt');
fprintf(fid,'%.2f\n',x);
fclose(fid);
Method two: dlmwrite:
dlmwrite(fnm,x,'precision','%.2f')
  6 Commenti
adi kul
adi kul il 7 Giu 2017
Please check this question:
https://in.mathworks.com/matlabcentral/answers/343722-how-to-change-default-message-box-when-using-xlsread-filename-1
Jabbar moosavi
Jabbar moosavi il 7 Feb 2020
Modificato: Jabbar moosavi il 7 Feb 2020
I've same question ,the reference data has 3 columns " x,y and pixel values" but this code save the data under "x".I want all the values in the same columns .
so how can I do that ?

Accedi per commentare.

Più risposte (1)

Do Hieu Trinh
Do Hieu Trinh il 15 Apr 2021
Dear Stephen,
Do you know a trick which works for saving data into .m file using matlab.io.saveVariablesToScript?
Best regards,
Do Hieu.

Community Treasure Hunt

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

Start Hunting!

Translated by