Main Content

symmatrix2sym

シンボリック行列変数をスカラー変数の配列に変換する

説明

S = symmatrix2sym(M) は、symmatrix 型のシンボリック行列変数 Msym 型のシンボリック スカラー変数の配列 S に変換します。

出力配列は入力のシンボリック行列変数と同じサイズであり、その成分は自動生成された要素で埋められます。たとえば、syms M [1 3] matrix; S = symmatrix2sym(M) は行列 S = [M1_1, M1_2, M1_3] を作成します。生成された要素 M1_1M1_2、および M1_3 は MATLAB® ワークスペースに表示されません。

すべて折りたたむ

サイズが 23 列の 2 つのシンボリック行列変数を作成します。非スカラーのシンボリック行列変数は、ライブ エディターおよびコマンド ウィンドウにおいて太字で表示されます。

syms A B [2 3] matrix
A
A = A
B
B = B

2 つの行列を加算します。結果は、行列表記 A+B で表現されます。

X = A + B
X = A+B

X のデータ型は symmatrix です。

class(X)
ans = 
'symmatrix'

シンボリック行列変数 X をシンボリック スカラー変数の行列 Y に変換します。結果は、行列成分の和で表されます。

Y = symmatrix2sym(X)
Y = 

(A1,1+B1,1A1,2+B1,2A1,3+B1,3A2,1+B2,1A2,2+B2,2A2,3+B2,3)

Y のデータ型は sym です。

class(Y)
ans = 
'sym'

Y での変換結果がシンボリック スカラー変数の 2 つの行列の和と等しいことを示します。

syms A B [2 3]
Y2 = A + B
Y2 = 

(A1,1+B1,1A1,2+B1,2A1,3+B1,3A2,1+B2,1A2,2+B2,2A2,3+B2,3)

isequal(Y,Y2)
ans = logical
   1

33 列および 31 列のシンボリック行列変数を作成します。

syms A [3 3] matrix
syms X [3 1] matrix

XTAX のヘッセ行列を求めます。

f = X.'*A*X;
H = diff(f,X,X.')
H = AT+A

シンボリック行列変数 H からの結果をシンボリック スカラー変数の行列 S に変換します。

S = symmatrix2sym(H)
S = 

(2A1,1A1,2+A2,1A1,3+A3,1A1,2+A2,12A2,2A2,3+A3,2A1,3+A3,1A2,3+A3,22A3,3)

ベクトルを表現する 13 列のシンボリック行列変数を作成します。

syms A [1 3] matrix

ベクトル A の 2 ノルムを求めます。結果は、symmatrix データ型のシンボリック行列変数となります。

N = norm(A)
N = A2
class(N)
ans = 
'symmatrix'

N をシンボリック スカラー変数に変換し、A の成分に関する 2 ノルムを表します。結果は、sym データ型のシンボリック スカラー変数となります。

N = symmatrix2sym(N)
N = 

|A1,1|2+|A1,2|2+|A1,3|2

class(N)
ans = 
'sym'

サイズが 31 列の 2 つのベクトルをシンボリック行列変数として作成します。

syms A B [3 1] matrix

transpose(A)*B を評価して 2 つのベクトルのドット積を求めます。

C = transpose(A)*B
C = ATB

C をシンボリック スカラー変数に変換し、A および B の成分に関するドット積を表します。

C = symmatrix2sym(C)
C = A1B1+A2B2+A3B3

23 列のシンボリック行列変数を 2 つ作成します。

syms A B [2 3] matrix

コマンド vertcat(A,B) または [A; B] を使用して 2 つの行列を垂直方向に連結します。

C = [A; B]
C = 

(AB)

C をシンボリック スカラー変数の行列に変換します。

C = symmatrix2sym(C)
C = 

(A1,1A1,2A1,3A2,1A2,2A2,3B1,1B1,2B1,3B2,1B2,2B2,3)

入力引数

すべて折りたたむ

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

データ型: symmatrix

ヒント

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

バージョン履歴

R2021a で導入