Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

symfun

シンボリック関数の作成

説明

f(inputs) = formula はシンボリック関数 f を作成します。たとえば、f(x,y) = x + y を使用すると、inputs 内のシンボリック変数は、入力引数です。シンボリック式 formula は、関数 f の本体です。

f = symfun(formula,inputs) は、形式に則ったシンボリック関数の作成方法です。

すべて折りたたむ

シンボリック関数 f(x,y) = x + y を定義します。まず、syms を使用して関数を作成します。その後、関数を定義します。

syms f(x,y)
f(x,y) = x + y
f(x, y) = x+y

x = 1y = 2 における f の値を求めます。

f(1,2)
ans = 3

形式に則った方法を使用して関数を再定義します。

syms x y
f = symfun(x+y,[x y])
f(x, y) = x+y

formula を使用して、シンボリック関数の本体を返します。本体は、関数にインデックスを付けるといった演算に使用できます。argnames を使用して、シンボリック関数の引数を返します。

シンボリック関数 [x^2, y^4] にインデックスを付けます。シンボリック関数がスカラーであるため、関数に直接インデックス付けができません。代わりに、関数の本体にインデックスを付けます。

syms f(x,y)
f(x,y) = [x^2, y^4];
fbody = formula(f);
fbody(1)
ans = x2
fbody(2)
ans = y4

関数の引数を返します。

fvars = argnames(f)
fvars = (xy)

2 つのシンボリック関数を作成します。

syms f(x) g(x)
f(x) = 2*x^2 - x;
g(x) = 3*x^2 + 2*x;

2 つのシンボリック関数を、データ型が symfun の別のシンボリック関数 h(x) に結合します。

h(x) = [f(x); g(x)]
h(x) = 

(2x2-x3x2+2x)

関数 h(x)x=1 および x=2 で評価します。

h(1)
ans = 

(15)

h(2)
ans = 

(616)

また、この 2 つの関数を組み合わせて、データ型が sym のシンボリック式の配列にすることもできます。

h_expr = [f(x); g(x)]
h_expr = 

(2x2-x3x2+2x)

1 番目と 2 番目のシンボリック式にアクセスするために、h_expr にインデックスを付けます。

h_expr(1)
ans = 2x2-x
h_expr(2)
ans = 3x2+2x

入力引数

すべて折りたたむ

関数本体。シンボリック式、シンボリック式のベクトル、または sym データ型に変換可能なシンボリック式の行列として指定します。

例: x + y

関数の入力引数。シンボリック変数、またはシンボリック変数の配列 (複数指定の場合) で指定します。

例: [x,y]

データ型: sym

出力引数

すべて折りたたむ

シンボリック関数。symfun オブジェクトとして返されます。

関数 f のデータ型は symfun ですが、f(1,2) のような評価済みの関数のデータ型は sym になります。

バージョン履歴

R2012a で導入