| MATLAB Function Reference | ![]() |
ワークスペース内で、MATLABで表わされた式を含む文字列の計算を実行
表示
evalin(ws,expression) [a1,a2,a3,...] = evalin(ws,expression) evalin(ws,expression,catch_expr)
詳細
evalin(ws, は、ワークスペースexpression)
wsの中で、正しいMATLAB表現を含む文字列expressionを実行します。wsは、MATLABのベースワークスペースを定義するため'base'または、'caller'の値をもつか、または、セル関数のワークスペースのどちらかです。ユーザは、鍵括弧の中に変数や文字列を並べることにより、expressionを作成することができます。
expression= [string1,int2str(var),string2,...]
[a1,a2,a3,...] = evalin(ws, は、expression)
expressionを実行し、指定した出力変数に結果を出力します。また、つぎのように、evalinの引数として、計算する出力引数リストを表現式の中に含ませることもできます。
evalin(ws,'[a1,a2,a3,...] =function(var)')
上の表現では、MATLABパーサによる厳密なチェック処理が避けられ、そのために、エラーを把握できなかったり、予期せぬ挙動を示すことがあります。
evalin(ws, は、expression,catch_expr)
expressionを実行し、エラーが検出されたなら、文字列 catch_exprを実行します。そして、expressionがエラーを生じると、lasterr関数を使って、エラーの文字列が得られます。この書式は、expressionが、複数の文字列から構成された文字列の場合、有効なものです。これと異なる場合は、ユーザのコード内のフローステートメントをコントロールするtry...catchを使ってください。
注意
MATLABのワークスペースは、MATLABのコマンドラインから見ることのできるもので、デバッガの中のものとは、異なります。セル関数のワークスペースは、M-ファイルを読み込む関数のワークスペースです。ベースワークスペースとセル関数ワークスペースは、MATLABのコマンドラインから読み込まれたM-ファイルの内容の中で等価です。
例題
この例題は、MATLABのベースワークスペースの中の変数varの値とローカル変数vの中の値を抽出するものです。
v = evalin(`base','var');
制限
evalinは、式の評価に対してリカーシブに使用できません。evalin('caller','evalin(''caller'',''x'')') の型の式は、機能しません。
参考
assignin, catch, eval, feval, lasterr, try
| evalc | exist | ![]() |