기호 행렬 만들기
기존 기호 변수 사용하기
순환 행렬에서 각각의 행은 이전의 행의 요소를 한 칸씩 앞으로 순환적으로 치환하여 얻어진다는 속성이 있습니다. 예를 들어, 다음 명령을 사용하여 요소가 a
, b
, c
인 기호 순환 행렬을 만들 수 있습니다.
syms a b c A = [a b c; c a b; b c a]
A = [ a, b, c] [ c, a, b] [ b, c, a]
행렬 A
는 순환 행렬이므로 각 행 및 각 열의 요소의 합은 동일합니다. 첫 번째 행의 모든 요소의 합을 구합니다.
sum(A(1,:))
ans = a + b + c
첫 번째 행의 요소의 합이 두 번째 열의 요소의 합과 동일한지 확인하려면 isAlways
함수를 사용하십시오.
isAlways(sum(A(1,:)) == sum(A(:,2)))
두 합은 동일합니다.
ans = logical 1
이 예제에서 기호 객체를 사용하는 것은 일반 MATLAB® 수치적 객체를 사용하는 것과 매우 비슷함을 알 수 있습니다.
행렬을 만들면서 요소 생성하기
sym
함수를 사용하면 요소를 미리 정의하지 않고 기호 행렬 또는 기호 벡터를 정의할 수 있습니다. 이 경우 sym
함수는 행렬을 만드는 동시에 기호 행렬의 요소를 생성합니다. 이 함수에서 생성된 모든 요소는 동일한 형식으로 표현되며, 그 형식은 바탕 이름(유효한 변수 이름이어야 함), 행 인덱스 및 열 인덱스로 구성됩니다. sym
의 첫 번째 인수를 사용하여, 생성된 요소의 이름에 사용될 바탕 이름을 지정합니다. 임의의 유효한 변수 이름을 바탕 이름으로 사용할 수 있습니다. 이름이 유효한 변수 이름인지 확인하려면 isvarname
함수를 사용하십시오. 기본적으로 sym
은 행 인덱스와 열 인덱스를 밑줄로 구분합니다. 예를 들어, 요소 A1_1, ..., A2_4
를 갖는 2×4 행렬 A
를 만들어 보겠습니다.
A = sym('A', [2 4])
A = [ A1_1, A1_2, A1_3, A1_4] [ A2_1, A2_2, A2_3, A2_4]
행렬 요소에 대해 생성된 이름의 형식을 제어하려면 첫 번째 인수에서 %d
를 사용하십시오.
A = sym('A%d%d', [2 4])
A = [ A11, A12, A13, A14] [ A21, A22, A23, A24]
기호 숫자로 구성된 행렬 만들기
sym
의 특히 효과적인 용도는 행렬을 수치 형식에서 기호 형식으로 변환하는 경우입니다. 다음 명령을 실행하면
A = hilb(3)
다음과 같이 3×3 힐베르트 행렬이 생성됩니다.
A = 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000
다음과 같이 A
에 sym
을 적용하면
A = sym(A)
3×3 힐베르트 행렬의 정확한 기호 형식을 얻을 수 있습니다.
A = [ 1, 1/2, 1/3] [ 1/2, 1/3, 1/4] [ 1/3, 1/4, 1/5]
수치 형식에서 기호 형식으로 변환하는 방법에 대한 자세한 내용은 수치 형식에서 기호 형식으로 변환 항목을 참조하십시오.