Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

syms 또는 sym 함수 선택하기

Symbolic Math Toolbox™에서 syms 또는 sym 함수를 사용하여 기호 객체를 선언할 수 있습니다. 이 두 함수는 개념적으로 서로 다릅니다.

  • syms 함수는 동일한 이름의 MATLAB® 변수에 자동으로 할당되는 기호 객체를 생성합니다.

  • sym 함수는 동일한 이름 또는 다른 이름의 MATLAB 변수에 할당할 수 있는 기호 객체를 참조합니다.

기호 변수를 MATLAB 변수에 할당하기

syms 함수는 변수를 동적으로 생성합니다. 예를 들어, 명령 syms x는 기호 변수 x를 생성하여 동일한 이름의 MATLAB 변수에 자동으로 할당합니다.

syms x
x
x = x

sym 함수는 기호 변수를 참조하며, 사용자는 이를 다른 이름으로 MATLAB 변수에 할당할 수 있습니다. 예를 들어, 명령 f1 = sym('x')는 기호 변수 x를 참조하며 이를 MATLAB 변수 f1에 할당합니다.

f1 = sym('x')
f1 = x

기호 숫자 만들기

syms 함수를 사용하여 기호 변수 x만들고 MATLAB 변수 x에 자동으로 할당합니다. MATLAB 변수 x에 숫자를 할당하면, 숫자가 배정밀도로 표현되며 이 할당이 기호 변수에 대한 이전 할당을 덮어씁니다. x의 클래스는 double이 됩니다.

syms x
x = 1/33
x = 0.0303
class(x)
ans = 
'double'

sym 함수를 사용하여 부동소수점 근사 없이 정확한 기호 숫자를 참조합니다. 그러면 이 숫자를 MATLAB 변수 x에 할당할 수 있습니다. x의 클래스는 sym입니다.

x = sym('1/33')
x = 

133

class(x)
ans = 
'sym'

가정이 있는 기호 변수 만들기

가정이 있는 기호 변수를 만들면 MATLAB은 기호 변수와 가정을 따로 저장합니다.

syms 함수를 사용하여 동일한 이름의 MATLAB 변수에 할당되는 기호 변수를 만듭니다. 그러면 가정이 없는 깨끗한 기호 변수를 얻게 됩니다. syms를 사용하여 변수를 선언하면 기존 가정이 지워집니다.

syms x positive
syms x
assumptions
 
ans =
 
Empty sym: 1-by-0
 

sym을 사용하여 기존의 기호 변수를 참조합니다. 이 기호 변수가 이전 MATLAB 세션에서 사용되었다면 sym은 그 기호 변수와 현재 가정을 참조합니다. 이전에 사용되지 않았다면 sym은 가정이 없는 기호 변수를 만듭니다.

syms x positive
x = sym('x');
assumptions
ans = 0<x

여러 기호 변수 만들기

여러 기호 변수를 동시에 만들려면 syms 함수를 사용하는 것이 더 편리합니다. 한 줄의 코드에 여러 개의 변수를 만들 수 있습니다.

syms a b c

sym을 사용할 때는, MATLAB 변수를 하나씩 선언하고 각 변수를 해당 기호 변수로 참조해야 합니다.

a = sym('a');
b = sym('b');
c = sym('c');

기호 변수로 구성된 배열 만들기

기호 변수가 요소로 포함된 기호 배열을 선언하려면 syms 또는 sym을 사용합니다.

명령 syms a [1 3]은 1×3 기호 배열 a와 기호 변수 a1, a2, a3을 작업 공간에 만듭니다. 기호 변수 a1, a2, a3은 기호 배열 a에 자동으로 할당됩니다.

clear
syms a [1 3]
a
a = (a1a2a3)
whos
  Name      Size            Bytes  Class    Attributes

  a         1x3                 8  sym                
  a1        1x1                 8  sym                
  a2        1x1                 8  sym                
  a3        1x1                 8  sym                

명령 a = sym('a',[1 3])은 기호 변수 a1, a2, a3참조하며 이들 변수는 작업 공간의 기호 배열 a에 할당됩니다. 요소 a1, a2, a3은 작업 공간에 생성되지 않습니다.

clear
a = sym('a',[1 3])
a = (a1a2a3)
whos
  Name      Size            Bytes  Class    Attributes

  a         1x3                 8  sym                

중첩 함수의 기호 변수

중첩 함수 내에서 기호 변수를 선언하려면 sym을 사용합니다. 예를 들어, 부모 함수 작업 공간에서 MATLAB 변수 x를 명시적으로 정의하고 x를 동일한 이름의 기호 변수로 참조할 수 있습니다.

function primaryFx
    x = sym('x')
    function nestedFx
        ...
    end
end

중첩 함수는 작업 공간을 정적으로 만듭니다. 따라서 syms를 사용하여 동적으로 변수를 추가할 수 없습니다.

관련 항목