Main Content

evalc

MATLAB 式を評価し、結果を取得する

説明

results = evalc(expression) は、expression で表された MATLAB® コードを評価し、results でコマンド ウィンドウに通常書き込まれるすべての内容を取得します。

メモ

セキュリティについての考慮事項: 信頼されていないユーザー入力を使用して evalc を呼び出す場合は、予期しないコード実行を回避するために入力を検証してください。信頼されていないユーザー入力の例としては、知らないユーザーからのデータや制御できないソースからのデータが挙げられます。この懸念事項に対処しなければならない場合は、以下の方法を検討してください。

  • evalc への入力を検証します。まず、実行可能な演算を検索します。その他の演算が見つかった場合は、実行を許可しないようにします。

  • evalc を別のものに置き換えます。詳細については、関数 eval の代替方法を参照してください。

パフォーマンスについての考慮事項: ほとんどの場合、関数 evalc を使用すると、他の MATLAB 関数や言語構成を使用するよりも効率も下がり、結果のコードは読み取りやデバッグが困難になる可能性があります。evalc の代替手段の使用を検討してください。

[results,output1,...,outputN] = evalc(expression) はさらに、expression からの出力を指定された変数で返します。

すべて折りたたむ

evalc を使用して式 magic(5) を評価し、結果を保存します。

results = evalc('magic(5)')
results =
    
    '
     ans =
     
         17    24     1     8    15
         23     5     7    14    16
          4     6    13    20    22
         10    12    19    21     3
         11    18    25     2     9
     
     '

入力引数

すべて折りたたむ

評価する式。文字ベクトルまたは string スカラーとして指定します。expression は有効な MATLAB 式でなければならず、MATLAB キーワードを含めてはなりません。単語が MATLAB キーワードかどうかを確認するには、関数 iskeyword を使用します。

例: evalc('magic(5)')

出力引数

すべて折りたたむ

取得されたコマンド ウィンドウ出力。文字配列として返されます。取得された出力の個々の行は \n 文字で区切られます。

評価される式からの出力。MATLAB データ型として返されます。

制限

  • evalc を使用する場合、関数 diarymore、および input は無効です。

  • 無名関数、入れ子関数、または入れ子関数を含む関数内で evalc を使用した場合、評価された expression は変数を作成しません。

ヒント

  • MATLAB パーサーでコードに対して厳しいチェックを行い、把握できないエラーやその他の予期しない動作を防ぐために、関数 evalc への入力に出力引数を含めないでください。たとえば、ステートメント result = evalc(['output = ',expression]) は推奨されません。

    代わりに、関数 evalc の出力引数を指定して、評価された式の結果を保存します。以下に例を示します。

      [result,output] = evalc(expression)

拡張機能

バージョン履歴

R2006a より前に導入