数字のファイルの保存方法[コマンド:save]
33 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
以下のような行列を作成し、ファイルに保存するプログラムを作りました。
その結果、 ~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 commentaires
Kiyoto Matsumoto
le 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
源樹 上林
le 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で書式指定はどうやるんだ…?
Réponses (0)
Voir également
Catégories
En savoir plus sur テキスト ファイル dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!