MATLAB Function Reference    
evalin

ワークスペース内で、MATLABで表わされた式を含む文字列の計算を実行

表示

詳細

evalin(ws,expression) は、ワークスペースwsの中で、正しいMATLAB表現を含む文字列expressionを実行します。wsは、MATLABのベースワークスペースを定義するため'base'または、'caller'の値をもつか、または、セル関数のワークスペースのどちらかです。ユーザは、鍵括弧の中に変数や文字列を並べることにより、expressionを作成することができます。

[a1,a2,a3,...] = evalin(ws,expression) は、expressionを実行し、指定した出力変数に結果を出力します。また、つぎのように、evalinの引数として、計算する出力引数リストを表現式の中に含ませることもできます。

上の表現では、MATLABパーサによる厳密なチェック処理が避けられ、そのために、エラーを把握できなかったり、予期せぬ挙動を示すことがあります。

evalin(ws,expression,catch_expr) は、expressionを実行し、エラーが検出されたなら、文字列 catch_exprを実行します。そして、expressionがエラーを生じると、lasterr関数を使って、エラーの文字列が得られます。この書式は、expressionが、複数の文字列から構成された文字列の場合、有効なものです。これと異なる場合は、ユーザのコード内のフローステートメントをコントロールするtry...catchを使ってください。

注意

MATLABのワークスペースは、MATLABのコマンドラインから見ることのできるもので、デバッガの中のものとは、異なります。セル関数のワークスペースは、M-ファイルを読み込む関数のワークスペースです。ベースワークスペースとセル関数ワークスペースは、MATLABのコマンドラインから読み込まれたM-ファイルの内容の中で等価です。

例題

この例題は、MATLABのベースワークスペースの中の変数varの値とローカル変数vの中の値を抽出するものです。

制限

evalinは、式の評価に対してリカーシブに使用できません。evalin('caller','evalin(''caller'',''x'')') の型の式は、機能しません。

参考

assignin, catch, eval, feval, lasterr, try


 evalc exist