Main Content

symfunmatrix2symfun

シンボリック行列関数からシンボリック関数への変換

説明

f = symfunmatrix2symfun(fM) は、symfunmatrix 型のシンボリック行列関数 fMsymfun 型のシンボリック関数 f に変換します。

出力シンボリック関数は、入力シンボリック行列関数と同じ行列次元をもち、その成分は自動生成された要素で埋められます。たとえば、syms fM(x) [1 2] matrix; f = symfunmatrix2symfun(fM) は、シンボリック行列関数 fM(x) をシンボリック関数 f(x) = [fM1_1(x), fM1_2(x)] に変換します。生成された要素 fM1_1 および fM1_2 は MATLAB® ワークスペースに表示されません。

すべて折りたたむ

21 列および 22 列のシンボリック行列変数を作成して、行列 X および A を表します。

syms X [2 1] matrix
syms A [2 2] matrix

関数 F(X,A)F(X,A)/XT を表す 2 つのシンボリック行列関数を作成します。シンボリック行列関数を作成すると、シンボリック変数の既存の定義 X および A がワークスペースに保持されます。シンボリック行列関数は、入力引数として X および A と同じサイズの行列を必要とします。

syms F(X,A) [1 1] matrix keepargs
syms dF(X,A) [2 1] matrix keepargs

関数 F(X,A)=XT A X を割り当て、その微分 F(X,A)/XT を求めます。結果は、XA による行列表記になります。

F(X,A) = X.'*A*X
F(X, A) = XTAX
dF(X,A) = diff(F,X.')
dF(X, A) = AX+ATX

シンボリック行列関数をデータ型 symfunmatrix から symfun に変換します。結果は、XA の行列要素によるスカラー表記になります。以下の関数は、入力引数としてスカラーを受け入れます。

Fsymfun = symfunmatrix2symfun(F)
Fsymfun(X1, X2, A1_1, A1_2, A2_1, A2_2) = X1A1,1X1+A1,2X2+X2A2,1X1+A2,2X2
dFsymfun = symfunmatrix2symfun(dF)
dFsymfun(X1, X2, A1_1, A1_2, A2_1, A2_2) = 

(2A1,1X1+A1,2X2+A2,1X2A1,2X1+A2,1X1+2A2,2X2)

入力引数

すべて折りたたむ

入力。シンボリック行列関数として指定します。

データ型: symfunmatrix

ヒント

  • シンボリック行列関数を入力として受け入れるすべての関数を Symbolic Math Toolbox™ で表示するには、コマンド methods symfunmatrix を使用します。

バージョン履歴

R2022a で導入