Main Content

symmatrix

기호 행렬 변수 만들기

설명

예제

X = symmatrix('X',[nrow ncol])nrow×ncol 기호 행렬 변수 X를 만듭니다. 기호 행렬 변수는 간결한 행렬 표기법으로 행렬, 벡터 및 스칼라를 나타냅니다. 자세한 내용은 Create Symbolic Matrix Variables 항목을 참조하십시오.

예제

X = symmatrix('X',n)n×n 기호 행렬 변수 X를 만듭니다.

X = symmatrix('X')는 1×1 기호 행렬 변수 X를 만듭니다.

예제

X = symmatrix(S)S로 지정된 숫자형 행렬 또는 기호 스칼라 변수로 구성된 행렬을 기호 행렬 변수 X로 변환합니다.

예제

모두 축소

2×3 크기의 기호 행렬 변수 2개를 만듭니다. 비 스칼라 기호 행렬 변수는 라이브 편집기 및 명령 창에서 굵게 표시됩니다.

A = symmatrix('A',[2 3])
A = A
B = symmatrix('B',[2 3])
B = B

두 행렬을 더합니다. 두 기호 행렬 변수의 합은 행렬 표기법 A+B로 나타냅니다.

X = A + B
X = A+B

기호 행렬 변수는 간결한 행렬 표기법으로 행렬, 벡터 및 스칼라를 나타냅니다. 비 스칼라를 나타낼 때 이러한 변수는 비가환적입니다. 수학 공식에 행렬 및 벡터가 포함된 경우 기호 행렬 변수를 사용하여 수학 공식을 작성하는 것이 성분별로 작성하는 것보다 더 간결하고 더 명확합니다.

기호 행렬 변수 2개를 만듭니다.

A = symmatrix('A',[2 2]);
B = symmatrix('B',[2 2]);

두 기호 행렬 변수 간의 곱셈에 대한 가환 관계를 확인합니다.

A*B - B*A
ans = AB-BA
isequal(A*B,B*A)
ans = logical
   0

두 기호 행렬 변수 간의 덧셈에 대한 가환 관계를 확인합니다.

isequal(A+B,B+A)
ans = logical
   1

3×3 기호 행렬 변수와 3×1 기호 행렬 변수를 만듭니다.

A = symmatrix('A',3)
A = A
X = symmatrix('X',[3 1])
X = X

XTAX의 헤세 행렬을 구합니다. 기호 행렬 변수를 포함하는 도출된 방정식이 교재에 표시되는 것처럼 조판 형식으로 표시됩니다.

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

차수가 4인 힐베르트 행렬을 만듭니다. 행렬의 데이터형은 double입니다.

H = hilb(4)
H = 4×4

    1.0000    0.5000    0.3333    0.2500
    0.5000    0.3333    0.2500    0.2000
    0.3333    0.2500    0.2000    0.1667
    0.2500    0.2000    0.1667    0.1429

class(H)
ans = 
'double'

숫자형 행렬을 기호 행렬 변수로 변환합니다. 변환된 행렬의 데이터형은 symmatrix입니다.

X = symmatrix(H)
X = 

Σ1where  Σ1=(1121314121314151314151614151617)

class(X)
ans = 
'symmatrix'

2×2 크기의 기호 행렬 변수 2개를 만듭니다.

A = symmatrix('A',2)
A = A
B = symmatrix('B',2)
B = B

AB 간의 행렬 곱셈을 수행합니다. 두 기호 행렬 변수의 곱은 행렬 표기법 AB로 나타냅니다.

X = A*B
X = AB

기호 행렬 변수 X를 기호 스칼라 변수로 구성된 행렬 S로 변환합니다. 기호 스칼라 변수로 구성된 두 행렬의 곱은 행렬 곱의 요소로 나타냅니다.

S = symmatrix2sym(X)
S = 

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

입력 인수

모두 축소

변수 이름으로, 문자형 벡터로 지정됩니다. 인수 X는 유효한 변수 이름이어야 합니다. 즉, X는 문자로 시작하고 영숫자와 밑줄만 포함해야 합니다. 변수 이름이 유효한지 확인하려면 isvarname을 사용하십시오.

예: x, y12, z_1

벡터 차원 또는 행렬 차원으로, 정수로 구성된 벡터로 지정됩니다. nrow는 행의 개수, ncol은 열의 개수입니다. 하나의 정수만 지정하여 정사각 기호 행렬 변수를 간단히 만들 수도 있습니다. 예를 들어, X = symmatrix('X',3)은 기호 행렬 변수로 구성된 3×3 정사각 행렬을 만듭니다.

예: [2 3], [2,3]

기호 행렬 변수로 변환할 숫자 행렬 또는 기호 스칼라 변수로 구성된 행렬로, 숫자, 숫자형 행렬, 기호 스칼라 변수 또는 기호 스칼라 변수로 구성된 행렬로 지정됩니다.

예: 10, eye(3), pi, hilb(3)

제한 사항

  • jacobianlaplacian과 같은 미분 함수는 현재 기호 행렬 변수를 입력값으로 받지 않습니다. 벡터 및 행렬에 대한 미분을 계산하려면 diff 함수를 대신 사용할 수 있습니다.

  • Symbolic Math Toolbox™에서 기호 행렬 변수를 입력값으로 받는 함수를 모두 표시하려면 명령 methods symmatrix를 사용하십시오.

대체 기능

기호 행렬 변수를 만드는 다른 방법

하나의 함수 호출에서 여러 개의 기호 행렬 변수를 만들려면 syms var1 ... varN [nrow ncol] matrix를 사용합니다. 자세한 내용은 syms 항목을 참조하십시오.

버전 내역

R2021a에 개발됨