数字のファイルの保存方法[コマンド:save]
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
以下のような行列を作成し、ファイルに保存するプログラムを作りました。
その結果、 ~e++00 のようなあまり見かけない数字の表記方法になりました。
save内のasciiが原因だと考えたのですが通常の数字で表示する方法がわかりません。
教えてください
%初期化
clear
N=4;
%頭の数字でない文字列のファイル名
rootname = 'tonbo'; % ファイル名に使用する文字列
%保存するファイルの拡張子の指示
extension = '.txt'; % 拡張子
for k = 1:4
for x=1:N
for y=1:N
Data_trans(x,y)=N*(x-1)+y;
end
end
data = Data_trans;
filename = [rootname, num2str(k), extension]; % ファイル名の作成
save(filename,'data','-ascii') % ファイルへの保存
end
2 Kommentare
Kiyoto Matsumoto
am 6 Nov. 2020
save()のオプションで指数表現をしない方法は分らなかったのですが、
代わりにwritematrix()を使うのはどうでしょう。
%初期化
clear
N=4;
%頭の数字でない文字列のファイル名
rootname = 'tonbo'; % ファイル名に使用する文字列
%保存するファイルの拡張子の指示
extension = '.txt'; % 拡張子
for k = 1:4
for x=1:N
for y=1:N
Data_trans(x,y)=N*(x-1)+y+0.1;
end
end
data = Data_trans;
filename = [rootname, num2str(k), extension]; % ファイル名の作成
writematrix(data,filename)
end
源樹 上林
am 7 Nov. 2020
> ~e++00 のようなあまり見かけない数字の表記方法になりました。
分野が違えば普通に使う書式なんですが、指数表現です。
saveで数値をASCIIファイル形式で保存する場合は、指数表現に限定されます。
ヘルプにも記載がありますが、dlmwrite または fprintf を使用する方法を検討したほうがいいと思います。
https://jp.mathworks.com/help/matlab/ref/save.html
> ヒント
> より柔軟に ASCII ファイルを作成するには、dlmwrite または fprintf を使用します。
「通常の数字」は整数表記だと思います。こうかな。
dlmwrite(filename, data, 'precision', '%d')
writematrixで書式指定はどうやるんだ…?
Antworten (0)
Siehe auch
Kategorien
Mehr zu テキスト ファイル finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!