MATLAB Function Reference | ![]() ![]() |
ワークスペース内で、MATLABで表わされた式を含む文字列の計算を実行
表示
evalin(ws
,expression
) [a1,a2,a3,...] = evalin(ws
,expression
) evalin(ws
,expression,catch_exp
r
)
詳細
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 | ![]() |