주요 콘텐츠

symfun

기호 함수 만들기

설명

f(inputs) = formula는 기호 함수 f를 만듭니다. 예를 들어, f(x,y) = x + y를 만듭니다. inputs의 기호 변수는 입력 인수입니다. 기호 표현식 formula는 함수 f의 본문입니다.

예제

f = symfun(formula,inputs)는 기호 함수를 만드는 공식적인 방법입니다.

예제

f = symfun(fM)symfunmatrix 유형의 기호 행렬 함수 fMsymfun 유형의 기호 함수 f로 변환합니다. (R2024b 이후)

예제

예제

모두 축소

기호 함수 f(x,y) = x + y를 정의합니다. 먼저 syms를 사용하여 함수를 만듭니다. 그런 다음 함수를 정의합니다.

syms f(x,y)
f(x,y) = x + y
f(x, y) = x+y

x = 1y = 2에서 f 값을 구합니다.

f(1,2)
ans = 3

공식적인 구문을 사용하여 함수를 다시 정의합니다.

syms x y
f = symfun(x+y,[x y])
f(x, y) = x+y

formula를 사용하여 기호 함수의 본문을 반환합니다. 함수의 요소를 참조하는 것과 같은 작업에 본문을 사용할 수 있습니다. argnames를 사용하여 기호 함수의 인수를 반환합니다.

기호 함수 [x^2, y^4]의 요소를 참조합니다. 기호 함수는 스칼라이므로 함수를 직접 참조할 수 없습니다. 대신 함수의 본문을 참조합니다.

syms f(x,y)
f(x,y) = [x^2, y^4];
fbody = formula(f);
fbody(1)
ans = x2
fbody(2)
ans = y4

함수의 인수를 반환합니다.

fvars = argnames(f)
fvars = (xy)

두 개의 기호 함수를 만듭니다.

syms f(x) g(x)
f(x) = 2*x^2 - x;
g(x) = 3*x^2 + 2*x;

두 기호 함수를 symfun 데이터형의 또 다른 기호 함수 h(x)로 결합합니다.

h(x) = [f(x); g(x)]
h(x) = 

(2x2-x3x2+2x)

x=1x=2일 때 함수 h(x)를 계산합니다.

h(1)
ans = 

(15)

h(2)
ans = 

(616)

sym 데이터형의 기호 표현식으로 구성된 배열로 두 함수를 결합할 수도 있습니다.

h_expr = [f(x); g(x)]
h_expr = 

(2x2-x3x2+2x)

첫 번째와 두 번째 기호 표현식에 액세스하려면 h_expr의 요소를 참조하십시오.

h_expr(1)
ans = 2x2-x
h_expr(2)
ans = 3x2+2x

R2024b 이후

행렬 XA를 나타내는 2×12×2 기호 행렬 변수를 만듭니다.

syms X [2 1] matrix
syms A [2 2] matrix

함수 F(X,A)F(X,A)/XT를 나타내는 두 개의 기호 행렬 함수를 만듭니다. 기호 행렬 함수를 만들 때는 작업 공간에서 기호 행렬 변수 XA의 기존 정의를 유지하십시오. 기호 행렬 함수에는 입력 인수로 XA와 동일한 크기의 행렬들이 필요합니다.

syms F(X,A) [1 1] matrix keepargs
syms dF(X,A) [2 1] matrix keepargs

함수 F(X,A)=XT A X를 정의하고 이 함수의 도함수 F(X,A)/XT를 구합니다. 결과로 생성되는 기호 행렬 함수는 XA에 대해 행렬 표기법으로 표시됩니다.

F(X,A) = X.'*A*X
F(X, A) = XTAX
dF(X,A) = diff(F,X.')
dF(X, A) = AX+ATX

데이터형 symfunmatrix에서 symfun으로 기호 행렬 함수를 변환합니다. 결과로 생성되는 기호 함수는 XA의 행렬 요소에 대해 스칼라 표기법으로 표시됩니다. 이러한 함수는 스칼라를 입력 인수로 받습니다.

Fsymfun = symfun(F)
Fsymfun(X1, X2, A1_1, A1_2, A2_1, A2_2) = X1A1,1X1+A1,2X2+X2A2,1X1+A2,2X2
dFsymfun = symfun(dF)
dFsymfun(X1, X2, A1_1, A1_2, A2_1, A2_2) = 

(2A1,1X1+A1,2X2+A2,1X2A1,2X1+A2,1X1+2A2,2X2)

입력 인수

모두 축소

함수 본문으로, sym 데이터형으로 변환할 수 있는 기호 표현식, 기호 표현식으로 구성된 벡터 또는 기호 표현식으로 구성된 행렬로 지정됩니다.

예: x + y

함수의 입력 인수로, 기호 변수 또는 기호 변수로 구성된 배열로 지정됩니다.

예: [x,y]

데이터형: sym

R2024b 이후

변환할 기호 행렬 함수로, 기호 행렬 함수로 지정됩니다.

또는 symfunmatrix2symfun을 사용하여 기호 행렬 함수를 기호 함수로 변환할 수 있습니다.

데이터형: symfunmatrix

출력 인수

모두 축소

기호 함수로, symfun 객체로 반환됩니다.

함수 f의 데이터형은 symfun인 반면, f(1,2)와 같이 계산된 함수의 데이터형은 sym입니다.

버전 내역

R2012a에 개발됨

모두 확장

참고 항목

| | | | |

도움말 항목