MATLAB: データの保存、dlmwrite、およびデータの読み取りロード、いくつかの有効桁を保存; ロードの間違った使用は、MAT ファイル mndata.mat を読み取ることができません。バイナリ MAT ファイルではありません。

環境: matlab2019b

1. データの保存

matlab によって生成されたデータを .txt または .mat ファイルとして保存する必要がある場合は、save、dlmwrite、または fopen+fprintf+fclose などの固定関数を使用できます.具体的な使用方法については、ヘルプで見つけることができます。 . 今回は dlmwrite で生成したデータファイルを使用したのですが、save とは値の生成結果が異なりますので比較すると以下のようになります。

以下は、保存に保存された txt ファイルです (3w+ データ)。

以下は、dlmwrite によって保存された txt ファイル (3w+ データ) です。新しい結果を生成するためにプログラムを再度実行したため、値が異なります。

2. データ読み込み

load を使用して保存された .mat ファイル データを読み取ると、次のエラーが発生しました。

MAT ファイル E:\work\MATLAB\perject\dete202212226\mndata.mat を読み取れません。バイナリ MAT ファイルではありません。load -ASCII を試して、テキストとして読み取ってください。

プログラム内の load mndata.mat を load mndata.mat -ascii に変更して正常に読み込む必要があり、パスが英語でなければならないことに注意する必要があります。

デバッグ プロセス中に、.txt ファイルの読み取りの最終的な出力結果が .mat ファイルの読み取りの結果と同じであることがわかり、load mndata.txt を使用するときに接尾辞を追加する必要はありません。

補充:

dlmwrite は 5 桁の有効数字を保持します。

おすすめ

転載: blog.csdn.net/weixin_46152123/article/details/128615780