이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

기호 숫자, 기호 변수 및 기호 표현식 만들기

이 페이지에서는 기호 숫자, 기호 변수 및 기호 표현식을 만드는 방법을 다룹니다. 기호 수학을 사용하는 방법에 대해서는 기호 계산 수행하기 항목을 참조하십시오.

기호 숫자 만들기

sym을 사용하여 기호 숫자를 만들 수 있습니다. 기호 숫자는 부동소수점 숫자와 달리 정확한 표현입니다.

sym을 사용하여 기호 숫자를 만들고 이와 동일한 부동소수점 숫자와 비교합니다.

sym(1/3)
1/3
ans =
1/3
ans =
    0.3333

기호 숫자는 정확한 유리수 형식으로 표현되는 반면, 부동소수점 숫자는 소수로 표현되는 근삿값입니다. 표준 MATLAB® 결과는 들여쓰기로 표시되지만 기호 결과는 들여쓰기로 표시되지 않습니다.

기호 숫자에 대한 계산은 정확합니다. 기호적으로, 그리고 수치적으로 sin(pi)를 구해 이 정확함을 확인해 보겠습니다. 숫자를 사용할 때의 결과는 근삿값이지만 기호를 사용하면 결과가 정확합니다.

sin(sym(pi))
sin(pi)
ans =
0
ans =
   1.2246e-16

숫자의 기호 표현에 대한 자세한 내용은 Numeric to Symbolic Conversion 항목을 참조하십시오.

기호 변수 만들기

syms 또는 sym을 사용하여 기호 변수를 만들 수 있습니다. 이러한 함수의 일반적인 용도는 다음과 같습니다.

  • sym – MATLAB 함수에서 번호가 매겨진 기호 변수를 만들거나 기호 변수를 만듭니다.

  • syms – 대화형 방식의 기호 워크플로에 대한 새로운 기호 변수를 만듭니다. 즉, MATLAB 명령줄 또는 MATLAB 라이브 스크립트에서 기호 변수를 만들 수 있습니다. 새로운 기호 변수에는 어떠한 가정도 없습니다.

syms 명령은 sym 구문의 축약적 표현법이지만 두 함수는 가정을 다르게 처리합니다. 자세한 내용은 기호 객체의 이름 재사용하기 항목을 참조하십시오.

symssym을 사용하여 기호 변수 xy를 각각 만듭니다.

syms x
y = sym('y')

첫 번째 명령은 MATLAB 작업 공간에서 변수 x에 값 x가 할당된 기호 변수 x를 만듭니다. 두 번째 명령은 값이 y인 기호 변수 y를 만듭니다.

syms를 사용하면 하나의 명령으로 여러 변수를 만들 수 있습니다. 변수 a, bc를 만듭니다.

syms a b c

번호가 매겨진 기호 변수로 이루어진 MATLAB 배열을 만들 때는 syms 구문이 적합하지 않습니다. 그러므로 번호가 매겨진 기호 변수가 많은 배열을 만들려면 대신 sym을 사용하십시오.

작업 공간을 지웁니다. 기호 변수 a1, ..., a20을 포함하는 행 벡터를 만들고 이를 MATLAB 변수 A에 할당합니다. MATLAB 작업 공간에 변수를 표시합니다.

clear all
A = sym('a', [1 20])
whos
A =
[ a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,...
 a11, a12, a13, a14, a15, a16, a17, a18, a19, a20]

  Name      Size            Bytes  Class    Attributes

  A         1x20                8  sym                

A는 20개의 기호 변수로 이루어진 1x20 배열입니다.

symsyms를 조합하면 대응하는 변수 이름을 갖는 새로운 기호 변수를 MATLAB 작업 공간에 많이 만들 수 있습니다.

작업 공간을 지웁니다. 새로운 기호 변수 a1, ..., a10을 만들고 각각에 대해 MATLAB 변수 이름 a1, ..., a10을 할당합니다. MATLAB 작업 공간에 변수를 표시합니다.

clear all
syms(sym('a', [1 10]))
whos
  Name      Size            Bytes  Class    Attributes

  a1        1x1                 8  sym                
  a10       1x1                 8  sym                
  a2        1x1                 8  sym                
  a3        1x1                 8  sym                
  a4        1x1                 8  sym                
  a5        1x1                 8  sym                
  a6        1x1                 8  sym                
  a7        1x1                 8  sym                
  a8        1x1                 8  sym                
  a9        1x1                 8  sym     

MATLAB 작업 공간에는 기호 변수인 MATLAB 변수가 10개 있습니다.

syms 명령은 sym 구문에 대한 편리한 축약적 표현법이며 통상적으로 대화형 방식의 기호 워크플로에 사용할 새로운 기호 변수를 만드는 데 사용됩니다. sym 구문을 사용하면 다음을 만들 수 있습니다.

  • MATLAB 함수의 기호 변수

  • 번호가 매겨진 다수의 기호 변수

  • MATLAB 작업 공간에서 이름과 값이 서로 다른 기호 변수

  • sym(5) 등의 기호 숫자

  • 같은 이름을 가진 이전에 사용된 기호 변수로부터 가정을 상속 받은 기호 변수

기호 표현식 만들기

황금비를 나타내기 위해 기호 변수를 사용한다고 가정해 보겠습니다.

φ=1+52

다음 명령을 실행하면

phi = (1 + sqrt(sym(5)))/2;

이 목적을 달성할 수 있습니다. 이제 phi에 대해 다양한 수학 연산을 수행할 수 있습니다. 예를 들어, 다음 명령을 실행하면

f = phi^2 - phi - 1

다음 결과가 반환됩니다.

f =
(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2

이제 2차 함수 f = ax2 + bx + c를 살펴보려 한다고 가정해 보겠습니다. 먼저 기호 변수 a, b, cx를 만듭니다.

syms a b c x

그런 다음 표현식을 f에 할당합니다.

f = a*x^2 + b*x + c;

기호 숫자를 만들려면 sym 명령을 사용하십시오. 상수인 기호 표현식을 만들고자 하면 syms 함수를 사용하지 마십시오. 예를 들어, 값이 5인 표현식을 만들려면 f = sym(5)를 입력하면 됩니다. 명령 f = 5f를 기호 표현식으로 정의하지 않습니다.

기호 객체의 이름 재사용하기

어떤 변수를 기호 표현식과 동일하게 설정한 후 syms 명령을 변수에 적용하면 MATLAB은 이전에 정의된 표현식을 이 변수에서 제거합니다. 예를 들어, 다음 명령을 실행하면

syms a b
f = a + b

다음 결과가 반환됩니다.

f =
a + b

나중에 다음을 입력하면

syms f
f

MATLAB은 표현식 f에서 값 a + b를 제거합니다.

f =
f

syms 명령을 사용하여 이전에 MATLAB 세션에서 할당한 정의를 갖는 변수를 지울 수 있습니다. syms는 변수에 대한 가정(복소수, 실수, 정수 및 양수)을 지웁니다. 이러한 가정은 기호 객체와는 별도로 저장됩니다. 그러나 sym을 사용하여 변수를 다시 만들어도 변수의 가정이 지워지지는 않습니다. 자세한 내용은 Delete Symbolic Objects and Their Assumptions 항목을 참조하십시오.

관련 항목