이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
syms
기호 스칼라 변수와 기호 함수, 행렬 변수와 행렬 함수 만들기
구문
설명
syms
은 var1 ... varN
sym
유형의 기호 스칼라 변수 var1 ... varN
을 만듭니다. 각 변수는 공백으로 구분합니다. 이 구문은 var1 ... varN
의 이전 정의를 모두 지웁니다.
syms
은 기호 스칼라 변수 var1 ... varN
[n1 ... nM]
var1 ... varN
으로 구성된 배열을 만듭니다. 각 배열의 크기는 n1
×...
×nM
이며 자동 생성된 기호 스칼라 변수가 요소로 포함됩니다. 예를 들어, syms a [1 3]
은 기호 배열 a = [a1 a2 a3]
을 만들고 MATLAB® 작업 공간에 기호 스칼라 변수 a1
, a2
및 a3
을 만듭니다. 다차원 배열인 경우 요소는 접두사 a
뒤에 _
구분기호를 사용해서 요소의 인덱스가 추가됩니다(예: a1_3_2
).
syms
은 자동 생성된 요소로 채워진, 기호 스칼라 변수로 구성된 var1 ... varN
n
n
×n
행렬을 만듭니다.
syms
은 f(var1,...,varN)
symfun
유형의 기호 함수 f
와 f
의 입력 인수를 나타내는 sym
유형의 기호 스칼라 변수 var1,...,varN
을 만듭니다. 이 구문은 기호 가정을 포함하여 var1,...,varN
의 이전 정의를 모두 지웁니다. 계산된 기호 함수 f(var1,...,varN)
은 sym
유형입니다.
syms
은 자동 생성된 기호 함수를 요소로 가지는 f(var1,...,varN)
[n1 ... nM]
n1
×...
×nM
기호 배열을 만듭니다. 또한 이 구문은 f
의 입력 인수를 나타내는 기호 스칼라 변수 var1,...,varN
을 생성합니다. 예를 들어, syms f(x) [1 2]
는 기호 배열 f(x) = [f1(x) f2(x)]
, 기호 함수 f1
및 f2
, 기호 스칼라 변수 x
를 MATLAB 작업 공간에 만듭니다. 다차원 배열인 경우 요소는 접두사 f
뒤에
)._
구분기호를 사용해서 요소의 인덱스가 추가됩니다(예: f1_3_2
syms
은 자동 생성된 요소로 채워진, 기호 함수로 구성된 f(var1,...,varN)
n
n
×n
행렬을 만듭니다.
syms
는 var1 ... varN
[nrow ncol]
matrixsymmatrix
유형의 기호 행렬 변수 var1 ... varN
을 만듭니다. 여기서 기호 행렬 변수 각각의 크기는 nrow
×ncol
입니다.
syms
는 var1 ... varN
n
matrixn
×n
기호 행렬 변수를 만듭니다.
syms
는 f(var1,...,varN)
[nrow ncol]
matrixsymfunmatrix
유형의 기호 행렬 함수 f
와 sym
유형의 기호 스칼라 변수 var1,...,varN
을 만듭니다. 계산된 기호 행렬 함수 f(var1,...,varN)
은 symmatrix
유형이며 크기는 nrow
×ncol
입니다. 이 구문은 기호 가정을 포함하여 var1,...,varN
의 이전 정의를 모두 지웁니다.
syms
는 작업 공간에서 f(var1,...,varN)
[nrow ncol]
matrix keepargsvar1,...,varN
의 기존 정의를 유지합니다. 변수 var1,...,varN
이 작업 공간에 존재하지 않으면 이 구문은 변수를 sym
유형의 기호 스칼라 변수로 만듭니다. 계산된 기호 행렬 함수 f(var1,...,varN)
의 크기는 nrow
×ncol
입니다.
syms
는 정사각 기호 행렬 함수를 만듭니다. 여기서 계산된 기호 행렬 함수 f(var1,...,varN)
n
matrixf(var1,...,varN)
은 크기가 n
×n
입니다. 이 구문은 기호 가정을 포함하여 var1,...,varN
의 이전 정의를 모두 지웁니다.
syms
는 작업 공간에서 f(var1,...,varN)
n
matrix keepargsvar1,...,varN
의 기존 정의를 유지합니다. 변수 var1,...,varN
이 작업 공간에 존재하지 않으면 이 구문은 변수를 sym
유형의 기호 스칼라 변수로 만듭니다.
예제
입력 인수
출력 인수
제한 사항
divergence
,curl
,jacobian
,laplacian
과 같은 미분 함수는 현재 기호 행렬 변수와 기호 행렬 함수를 입력값으로 받지 않습니다. 벡터와 행렬에 대한 미분을 계산하려면diff
함수를 대신 사용하십시오.Symbolic Math Toolbox™에서 기호 행렬 변수와 기호 행렬 함수를 입력값으로 받는 함수를 모두 표시하려면 명령
methods symmatrix
와methods symfunmatrix
를 사용하십시오.
팁
한 번의 호출로 여러 개의 기호 객체를 만들 수 있습니다. 예를 들어,
syms f(x) g(t) y
는 2개의 기호 함수(f
,g
)와 3개의 기호 스칼라 변수(x
,t
,y
)를 만듭니다.syms
는sym
,symfun
,symmatrix
,symfunmatrix
의 간결한 구문입니다. 이 간결한 구문을 사용하면 하나의 함수 호출에서 여러 개의 기호 객체를 만들 수 있습니다. 예를 들어,sym
을 사용하여 각 기호 스칼라 변수를 따로 만들 수도 있습니다. 그러나sym
을 사용하여 변수를 만들면 생성된 변수에 대한 기존 가정이 유지됩니다.symfun
을 사용하여 기호 함수를 만들 수도 있습니다.함수와 스크립트에서
syms
를 사용하여 MATLAB 함수와 동일한 이름의 기호 스칼라 변수를 만들지 마십시오. 이러한 이름의 경우 MATLAB은 기호 스칼라 변수를 만들지 않고 MATLAB 함수에 할당된 이름을 유지합니다. 함수 또는 스크립트에서 MATLAB 함수와 동일한 이름의 기호 스칼라 변수를 만들려면 대신sym
을 사용하십시오. 예를 들어,alpha = sym('alpha')
를 사용합니다.syms
는 출력값이 직접 할당되지 않는 변수를 생성하므로 함수 내에서 사용하지 마십시오. 함수 내에서syms
를 사용하면 부작용과 기타 예기치 않은 동작이 발생할 수 있습니다. 대신t = sym('t')
와 같이 함수 내 좌변에 출력값이 할당되도록sym
을 사용하십시오. 자세한 내용은 syms 또는 sym 함수 선택하기 항목을 참조하십시오.변수 이름
integer
,real
,rational
,positive
,clear
는syms
와 함께 사용할 수 없습니다. 이러한 이름으로 기호 스칼라 변수를 만들려면sym
을 사용하십시오. 예를 들어,real = sym('real')
을 사용합니다.clear x
는 실수, 양수 같은 가정을 설정한 기호 객체와assume
,sym
,syms
로 설정한 가정을 지우지 않습니다. 가정을 제거하려면 다음 옵션 중 하나를 사용하십시오.syms x
또는syms f(x)
는x
에서 모든 가정을 지웁니다.assume(x,'clear')
는x
에서 모든 가정을 지웁니다.clear all
은 MATLAB 작업 공간에서 모든 객체를 지우고 기호 엔진을 초기화합니다.assume
과assumeAlso
를 사용하면 기호 스칼라 변수에 대한 가정을 더 유연하게 설정할 수 있습니다.
숫자형 벡터 또는 숫자형 행렬에서 하나 이상의 요소를 기호 숫자로 대체하면 MATLAB은 해당 숫자를 배정밀도 숫자로 변환합니다.
A = eye(3); A(1,1) = sym(pi)
A = 3.1416 0 0 0 1.0000 0 0 0 1.0000
숫자형 벡터 또는 숫자형 행렬의 요소를 기호 스칼라 변수, 기호 표현식 또는 기호 함수로 대체할 수 없습니다. 이러한 요소는 배정밀도 숫자로 변환할 수 없기 때문입니다. 예를 들어,
syms a; A(1,1) = a
는 오류를 발생시킵니다.기호 행렬 함수를 계산할 때는 정의된 입력 인수와 동일한 크기의 값을 대입해야 합니다. 예제는 벡터와 스칼라로 구성된 함수 계산하기 항목을 참조하십시오. 비교를 위해 이 예제에서는 오류를 반환합니다.
syms X [2 2] matrix syms f(X) [1 1] matrix keepargs f(ones(4))
버전 내역
R2006a 이전에 개발됨참고 항목
assume
| assumeAlso
| assumptions
| isvarname
| reset
| sym
| symfun
| symmatrix
| symfunmatrix
| symvar