ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

feval

引数を指定した MuPAD 式の評価

構文

result = feval(symengine,F,x1,...,xn)
[result,status] = feval(symengine,F,x1,...,xn)

説明

result = feval(symengine,F,x1,...,xn) は、引数 x1,...,xn を使用して、MuPAD® 関数名またはシンボリック オブジェクトである F を評価し、シンボリック オブジェクトを返します。引数 x1,...,xn をもつ F が MuPAD でエラーを返す場合、この構文は MATLAB® でエラーとなります。

[result,status] = feval(symengine,F,x1,...,xn) を使用して、MuPAD で発生したエラーをキャッチできます。status が非ゼロの場合、この構文は status にエラー ステータスを、result にエラー メッセージを返します。status が 0 の場合、result はシンボリック オブジェクトです。それ以外の場合、result は文字列です。

入力引数

F

MuPAD の関数名またはシンボリック オブジェクト。

x1,...,xn

F の引数。

出力引数

result

MuPAD エラー メッセージを 1 つ含む、シンボリック オブジェクトまたは文字列。

status

エラー ステータスを示す整数。引数 x1,...,xn をもつ F がエラーなしで実行される場合、エラー ステータスは 0 です。

syms a b c x
p = a*x^2+b*x+c;
feval(symengine,'polylib::discrim', p, x)
ans =
b^2 - 4*a*c

または、MATLAB ワークスペースで定義されていない変数を使った同じ計算方法としては、以下があります。

feval(symengine,'polylib::discrim', 'a*x^2 + b*x + c', 'x')
ans =
b^2 - 4*a*c

polylib::discrim を使用して次の非多項式の判別式を計算してみます。

[result, status] = feval(symengine,'polylib::discrim',...
                                   'a*x^2 + b*x + c*ln(x)', 'x')
result =
Error: An arithmetical expression is expected. [normal]

status =
     2

関連する例

代替方法

evalin では引数を明示的に指定せずに MuPAD 式を評価できます。

詳細

すべて折りたたむ

ヒント

  • feval で返される結果は、MuPAD Notebook を直接使用して得られる結果と異なる場合があります。これは、feval ではパフォーマンス向上のために評価のレベルが低く設定されるためです。

  • feval は MuPAD Notebook を開けないので、この関数を使用して MuPAD グラフィックス機能にアクセスできません。

参考

| |

この情報は役に立ちましたか?