Main Content

기호 행렬 만들기

기존 기호 변수 사용하기

순환 행렬에서 각각의 행은 이전의 행의 요소를 한 칸씩 앞으로 순환적으로 치환하여 얻어진다는 속성이 있습니다. 예를 들어, 다음 명령을 사용하여 요소가 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

다음과 같이 Asym을 적용하면

A = sym(A)

3×3 힐베르트 행렬의 정확한 기호 형식을 얻을 수 있습니다.

A =
[   1, 1/2, 1/3]
[ 1/2, 1/3, 1/4]
[ 1/3, 1/4, 1/5]

수치 형식에서 기호 형식으로 변환하는 방법에 대한 자세한 내용은 수치 형식에서 기호 형식으로 변환 항목을 참조하십시오.

관련 항목