Ältere Kommentare anzeigen
関数ワークスペースの変数を参照する方法をご教示ください。
やりたいことは
関数でデータを読み込み、ベースワークスペースの値を書き換える、です。
現状実装したコードは以下です。
run('option.m');
funcWsName = who ('OP_*');
for j = 1:numel(funcWsName)
funcWsData = evalin('caller' ,funcWsName{j});
baseWsData = evalin('base' ,funcWsName{j});
baseWsData.Value = funcWsData.Value;
end
funcWsDataで関数ワークスペースの値を取得できるかなと思ったのですが、ベースが参照されていました。
asigninを使用する方法でも良いので、書き換える方法をご教示ください。
1 Kommentar
Akihiko Ueda
am 27 Feb. 2020
Antworten (1)
Musashi Ito
am 26 Feb. 2020
Bearbeitet: Musashi Ito
am 26 Feb. 2020
1 Stimme
関数の出力引数で関数内の値を出力する方法はいかがでしょうか。関数を呼び出すスクリプトファイル側で、ベースワークスペースで扱っている変数名を関数の出力に指定して、上書きすれば簡単にできるかなと思います。
出力引数の数が多い場合は、構造体やテーブルのデータ型でデータを整理してから出力すればすぐできるかなと思います。
1 Kommentar
Akihiko Ueda
am 27 Feb. 2020
Kategorien
Mehr zu ワークスペース変数と MAT ファイル finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!