以下のコードを使用して行列を読み込み、すべての値の最後にセミコロン(;
)と改行を適用します。Matlab fprintf小数点以下14桁までの丸めの正しい書式指定子
精度フォーマット指定子に問題があります。コードブロックの下には、csv出力からの行があります。列5と6は適切に書式設定されていますが、小数点以下14桁に四捨五入する必要がある指数値があります。 4行目の '%f.14'がこれを行うのはなぜですか?私はそれが指数表記を使用していないと思った?
function write_to_csv(filepath, decision)
csv = fopen('matrix.csv', 'a+');
for ii = 1:length(decision)
format = '%d; %f.14';
fprintf(csv, format, decision(ii));
end
fprintf(csv,'\n')
fclose(csv);
end
1; 1.032204e-03; -2.580511e-04; 1; 32190201170708; 17682101210450; 2; 7.600000e-01; -1;質問から上記のコードを供給するためのMChandlerへ
クレジット:Add a delimiter to end of each line of csv file MATLAB
は ''%の.14f持つ%のf.14'を交換してください'。詳細については、[documentation](https://mathworks.com/help/matlab/ref/fprintf.html?requestedDomain=www.mathworks.com#input_argument_formatSpec)を参照してください。 – codeaviator
明確にするために '-2.580511e-04'を' -0.00025805110000'としてレンダリングしますか? – toshiomagic
はい私はtoshiomagicを行います – Lucas