Matlab関数とコマンドウィンドウで同じコードを実行すると、奇妙な動作が見られます。Matlabでのスコープはどのように機能しますか?ですでに説明されています。、しかし、私は自分の特定の問題をどのように解決できるかわかりません。コードは次のとおりです。
exporteddata.m %File created by an external program
%to export data in Matlab format
surface = struct('vertices', [...]) ;
%I can't specify in the external program
%the name of the variable, it's always "surface"
私の実際のコードは次のとおりです。
myfunction.m
function output = myfunction(input)
load(input);
n = size(surface.vertices);
....
走っているとき
myfunction('exporteddata.m');
次のエラーが発生します。
??? クラスhg.surfaceに適切なメソッド、プロパティ、またはフィールド頂点がありません。
コマンドウィンドウから、またはデバッグモードで同じ命令を実行する場合、コードは適切に機能します。
Matlab関数ではなく、ワークスペースに存在する可変サーフェスが必要であることを関数で指定するにはどうすればよいですか?