2016-06-01 8 views
-2

私はmatlabを初めて使い、matlabの結果を自分が望むフォルダに保存するための独自の関数を書こうとしています。しかし、以下のコードでは、保存するすべての変数が同じ名前、つまり「resultName」で保存されているようです。結果の名前を保存するために入力の書式を設定する必要があるようです。私はこれにどのように対処しますか? ご協力ありがとうございますmatlabで結果を保存する関数

function [] = saveResults(variableName,resultName) 
%save variable in vName to resultName 
resultsDir = 'Z:\data\folder'; 
fNameCollections = fullfile(resultsDir,'resultName.mat'); 
save(fNameCollections,'variableName'); 
+2

「保存」のドキュメントを読んでください。それはあなたが必要とするすべてのものを含んでいます。 – Adriaan

答えて

0

申し訳ありません、このコードは機能しません。保存docs

(ファイル名)からファイル名と呼ばれるMATLAB®フォーマットされたバイナリファイル(MATファイル)で、現在のワークスペースからすべての変数が保存されます。 filenameが存在する場合、saveはファイルを上書きします。

save(ファイル名、変数)は、変数で指定された構造体配列の変数またはフィールドのみを保存します。

saveは関数内で呼び出されるため、変数は現在のワークスペースでは定義されていません。 basicsで読んでみてください。

前述のように、すべての機能はsaveです。ドキュメントを読むだけで問題を解決できます。 Matlabのディレクトリを扱う良い方法は、ディレクトリに関する情報を構造体に保存することです。これは、いくつかの設定ファイルまたはGUIで定義されています。次に、この構造体をプログラムに渡すことができます。代わりにハードコードされたパスが必要な場合は、saveに電話するとハードコードされます。 ファイルを上書きすることを避けるために、日付タグなどが必要な場合があります。

これ以外にも、人生で同じような間違いを犯した男からのヒント。何かを保存するたびに余分な数の文字を書くことは、これをデバッグすることから得られるすべての努力の価値がありません。貴方の貴重な時間と指の皮膚を数秒で犠牲にして、あなたの現在の方法に従う全てのデバッグ作業を避けてください。

関連する問題