lec 09. symbolic math toolbox ii

61
MATLAB Programming Symbolic Math Toolbox II 김탁은 [email protected] 1

Upload: tak-eun-kim

Post on 15-Jun-2015

629 views

Category:

Education


11 download

TRANSCRIPT

Page 1: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Symbolic Math Toolbox II

김 탁 은[email protected]

1

Page 2: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식 (polynomial)

MATLAB에서 다항식의 표현 방법

• 다항식 𝑝𝑝 𝑥𝑥 = 𝑝𝑝1𝑥𝑥𝑛𝑛 + 𝑝𝑝2𝑥𝑥𝑛𝑛−1 + ⋯+ 𝑝𝑝𝑛𝑛𝑥𝑥 + 𝑝𝑝𝑛𝑛+1 가 주어졌을 때, 각

계수 pi를 차수가 높은 순으로 나열한 벡터로 표현함

• 𝑃𝑃 = 𝑝𝑝1, 𝑝𝑝2, … , 𝑝𝑝𝑛𝑛+1

다항식의 값 계산

• y = polyval( P, X )

– 다항식 P를 주어진 X 값에 대해 계산

𝑓𝑓 𝑥𝑥 = 3𝑥𝑥2 − 2𝑥𝑥 + 1

evaluate 𝑓𝑓(𝑥𝑥) at 𝑥𝑥 = 5

>> p = [3 -2 1];>> polyval(p,5)

ans =66

2

Page 3: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

MATLAB에서 다항식의 표현 방법

다항식이 아래와 같이 정의

• 𝑓𝑓 𝑥𝑥 = 3𝑥𝑥6 − 3𝑥𝑥4 − 2𝑥𝑥

• 위의 다항식에서 x의 5차, 3차, 2차, 1차 항과 상수항이 없으므로,

다항식을 MATLAB 벡터로 표현할 때 빈자리를 0으로 채워줌

• 벡터는 차수가 높은 항의 계수부터 적음

• P = [3 0 -3 0 0 -2 0]

>> P = [3 0 -3 0 0 -2 0];>> polyval(P, 0)

ans =0

>> polyval(P, 1)

ans =-2

3

Page 4: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식의 계산

여러 값에 대해 다항식 동시에 계산하기

• 𝑓𝑓 𝑥𝑥 = 3𝑥𝑥6 − 3𝑥𝑥4 − 2𝑥𝑥

• Y = polyval( P, X) 함수에서, X 값으로 스칼라, 벡터, 또는 행렬 가능

• 계산 결과 Y는 입력된 X와 동일한 크기를 가짐

• P = [3 0 -3 0 0 -2 0]

>> polyval(P, [0 -3 2])

ans =

0 1950 140

>> polyval(P, magic(2))

ans =

-2 193811512 140

4

Page 5: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz

다음 다항식의 값을 x = 0:2:6 에서 계산해 봅시다.

𝑓𝑓 𝑥𝑥 = 3𝑥𝑥2 − 7𝑥𝑥2 + 2𝑥𝑥 + 23

𝑓𝑓 𝑥𝑥 = 4𝑥𝑥3 − 0.53𝑥𝑥4

𝑓𝑓 𝑥𝑥 = 𝑥𝑥3 − 2𝑥𝑥4 − 2

5

Page 6: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식 쉽게 만들기

만약 다항식 차수가 매우 높거나, 다항식의 항들이 매우 많다면?

• 𝑓𝑓 𝑥𝑥 = 3𝑥𝑥100 − 3𝑥𝑥90 + 5𝑥𝑥23 − 3𝑥𝑥3 − 2𝑥𝑥

• 다항식을 만들기 위해, 아래와 같이 길이가 1001인 벡터 P를 생성

• P = [3 0 0 0 0 0 0 0 0 0 -3 0 0 0 0 0 0 … -3 0 -2 0]

• 수작업으로 다항식을 생성하는 것은 오타의 확률이 높음!

• Symbolic Math Toolbox를 이용하자!!

– P = sym2poly( F )

• 심볼릭 다항식 (symbolic polynomial)을 polynomial coefficient vector로 변환

>> syms x>> f = 3*x^100 - 3*x^90 + 5*x^23 - 3*x^3 - 2*x;>> P = sym2poly(f)

6

Page 7: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식 계수 벡터 검증하기

다항식 계수 벡터가 정확하게 잘 기술되었는지 검증하려면?

• Symbolic Math Toolbox를 이용하자!!

– F = poly2sym( P )

• polynomial coefficient vector로부터 심볼릭 다항식 생성

• 수작업으로 생성한 다항식 계수 벡터를 심볼릭 다항식으로 바꿔서

검증

• P = [3 1 -1 0 -5 0]

>> P = [3 1 -1 0 -5 0];>> poly2sym(P)

ans =3*x^5 + x^4 - x^3 - 5*x

7

Page 8: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식의 곱셈

다항식들 간의 곱셈은 두 계수 배열의 convolution으로 계산

• C = conv( A, B )

• 𝑓𝑓 𝑥𝑥 = 4𝑥𝑥3 − 2𝑥𝑥 + 1 F = [4 0 -2 1]

• 𝑔𝑔 𝑥𝑥 = 3𝑥𝑥3 + 5𝑥𝑥2 − 3𝑥𝑥 − 2 G = [3 5 -3 -2]

1 -2 0 4

3 5 -3 -2 4 x 3 = 12

3 5 -3 -2 0 x 3 + 4 x 5 = 20

3 5 -3 -2 -2 x 3 + 0 x 5 + 4 x -3 = -18

3 5 -3 -2 1 x 3 + -2 x 5 + 0 x -3 + 4 x -2 = -15

3 5 -3 -2 1 x 5 + -2 x -3 + 0 x -2 = 11

3 5 -3 -2 1 x -3 + -2 x -2 = 1

3 5 -3 -2 1 x -2 = -2

>> F = [4 0 -2 1];>> G = [3 5 -3 -2];>> conv(F,G)

ans =

12 20 -18 -15 11 1 -2

8

Page 9: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식의 곱셈

Convolution을 이용하지 않는 방법

1. 각각의 다항식을 symbolic polynomial로 변경

2. symbolic polynomial 간의 곱셈 연산 수행

3. sym2poly 함수를 이용하여 polynomial coefficient vector로 변환

>> F = [4 0 -2 1];>> G = [3 5 -3 -2];>> fn = expand( poly2sym(F) * poly2sym(G) )

fn =12*x^6 + 20*x^5 - 18*x^4 - 15*x^3 + 11*x^2 + x – 2

>> sym2poly(fn)

ans =12 20 -18 -15 11 1 -2

9

Page 10: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

세 다항식의 곱셈

두 다항식을 곱한 다음, 그 결과와 나머지 다항식을 곱함

𝑎𝑎 𝑥𝑥 = 2𝑥𝑥2 − 𝑥𝑥 + 1

𝑏𝑏 𝑥𝑥 = 𝑥𝑥3 − 2𝑥𝑥2 − 2

𝑐𝑐 𝑥𝑥 = 𝑥𝑥 + 1

>> A = [2 -1 1];>> B = [1 -2 0 -2];>> C = [1 1];>> D = conv(conv(A,B),C)

D =

2 -3 -2 -3 -4 0 -2

>> A = poly2sym([2 -1 1]);>> B = poly2sym([1 -2 0 -2]);>> C = poly2sym([1 1]);>> D = A*B*C

D =-(x + 1)*(2*x^2 - x + 1)*(- x^3 + 2*x^2 + 2)

>> sym2poly(D)

ans =2 -3 -2 -3 -4 0 -2

또는

10

Page 11: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식 나눗셈

다항식 g를 h로 나누는 경우

• 𝑔𝑔 𝑥𝑥 = ℎ 𝑥𝑥 𝑞𝑞 𝑥𝑥 + 𝑟𝑟(𝑥𝑥) 를 만족하는 몫 𝑞𝑞(𝑥𝑥) 과 나머지 𝑟𝑟(𝑥𝑥) 를 구할

수 있음

• [q, r] = deconv( g, h )

– 다항식 g를 h로 나누어, 몫 q와 나머지 r을 반환 (q, r은 다항식)

>> g = [1 -6 12 -8];>> h = [1 -2];>> [q, r] = deconv(g,h)

q =1 -4 4

r =0 0 0 0

𝑔𝑔 𝑥𝑥 = 𝑥𝑥3 − 6𝑥𝑥2 + 12𝑥𝑥 − 8

ℎ 𝑥𝑥 = 𝑥𝑥 − 2

11

Page 12: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz

다항식 g 와 h의 나눗셈을 symbolic expression으로 수행해

봅시다.

다음 두 다항식을 symbolic expression으로 표현하고 나눗셈을

했을 때, 그 결과를 확인해봅시다.

𝑔𝑔 𝑥𝑥 = 𝑥𝑥3 − 6𝑥𝑥2 + 12𝑥𝑥 − 8

ℎ 𝑥𝑥 = 𝑥𝑥 − 2

𝑔𝑔 𝑥𝑥 = 𝑥𝑥3 − 6𝑥𝑥2 + 12𝑥𝑥 − 8

ℎ 𝑥𝑥 = 𝑥𝑥 − 1 주의: 상수항이 1로바뀌었음

12

Page 13: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

다항식 g 와 h의 나눗셈을 symbolic expression으로 수행해

봅시다.

𝑔𝑔 𝑥𝑥 = 𝑥𝑥3 − 6𝑥𝑥2 + 12𝑥𝑥 − 8

ℎ 𝑥𝑥 = 𝑥𝑥 − 2

>> g = [1 -6 12 -8];>> h = [1 -2];>> sg = poly2sym(g); sh = poly2sym(h);>> sg/sh

ans = (x^3 - 6*x^2 + 12*x - 8)/(x - 2)

>> simplify(sg/sh)

ans =(x - 2)^2

>> expand(simplify(sg/sh))

ans =x^2 - 4*x + 4

13

Page 14: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

다음 두 다항식을 symbolic expression으로 표현하고 나눗셈을

했을 때, 그 결과를 확인해봅시다.

𝑔𝑔 𝑥𝑥 = 𝑥𝑥3 − 6𝑥𝑥2 + 12𝑥𝑥 − 8

ℎ 𝑥𝑥 = 𝑥𝑥 − 1

>> g = [1 -6 12 -8];>> h = [1 -1];>> sg = poly2sym(g); sh = poly2sym(h);>> sg/sh

ans =(x^3 - 6*x^2 + 12*x - 8)/(x - 1)

>> simplify(sg/sh)

ans =(x - 2)^3/(x - 1)

몫과나머지를구하려면??14

Page 15: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Symbolic 다항식에서 몫과 나머지 구하기

[Q, R] = quorem( F, G )

• 심볼릭 다항식 F와 G를 입력 받아 F/G 나눗셈을 수행하고, 몫과

나머지를 각각 Q, R로 반환함

𝑔𝑔 𝑥𝑥 = 𝑥𝑥3 − 6𝑥𝑥2 + 12𝑥𝑥 − 8

ℎ 𝑥𝑥 = 𝑥𝑥 − 1

>> g = [1 -6 12 -8];>> h = [1 -1];>> sg = poly2sym(g); sh = poly2sym(h);>> [q, r] = quorem(sg, sh)

q =x^2 - 5*x + 7

r =-1

% 검산

>> expand(q*sh+r)

ans =x^3 - 6*x^2 + 12*x - 8 15

Page 16: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

심볼릭 다항식에서 계수 구하기

sym/coeffs 함수

• [c, terms] = coeffs( P )

– 다항식 P에서 모든 미정변수들의 계수를 반환

– c는 계수, terms는 각 미정 변수들의 차수

• [c, terms] = coeffs( P, X )

– 다항식 P에서 미정계수 X의 차수를 반환

– c는 계수, terms는 각 미정 변수들의 차수

>> syms x y>> z = 3*x^2*y^2 + 5*x*y^3>> [c, terms] = coeffs(z)

c =[ 3, 5]

terms =[ x^2*y^2, x*y^3]

>> syms x y>> z = 3*x^2*y^2 + 5*x*y^3>> [c, terms] = coeffs(z, x)

c =[ 3*y^2, 5*y^3]

terms =[ x^2, x]

>> [c, terms] = coeffs(z, y)

c = [ 5*x, 3*x^2]

terms =[ y^3, y^2] 16

Page 17: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

심볼릭 다항식을 분수 형태로 나타내기

[N, D] = numden( A )

• 심볼릭 다항식 또는 심볼릭 표현 A를 분수 형태로 나타냄

• 반환 값 N (numerator), D (denominator)

>> sym x y>> r = 1 + x^2 / (3 + x^2/5);r =x^2/(x^2/5 + 3) + 1

>> [n, d] = numden( r )

n =6*x^2 + 15

d = x^2 + 15

>> [n,d] = numden(sym(4/5))

n =4

d =5

>> [n,d] = numden(x/y + y/x)

n =x^2 + y^2

d =x*y

17

Page 18: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Taylor 수열

F = taylor( A )

• 함수 A가 입력되면, 함수를 근사하는 심볼릭 다항식 F가 반환됨

• 기본적으로 0 부근의 Taylor 수열이 5차 항까지 생성

>> syms x y z>> f = taylor(log(1+x))

f =x^5/5 - x^4/4 + x^3/3 - x^2/2 + x

>> ezplot( 'log(1+x)' )>> hold on;>> h = ezplot( f );>> set(h, 'color', 'red');

18

Page 19: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Taylor 수열

F = taylor( A, x, a, ‘order’, n )

• 함수 A를 x = a 에서 n차 항의 다항식으로 근사

% sin(x)를 x=0에서근사

>> syms x;>> f = taylor(sin(x), x, 0, 'order', 10)

f =

x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x

>> ezplot( 'sin(x)' );>> hold on;>> h = ezplot( f );>> set( h, 'color', 'red' );

19

Page 20: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Taylor 수열

F = taylor( A, x, a, ‘order’, n )

• 함수 A를 x = a 에서 n차 항의 다항식으로 근사

% sin(x)를 x=2에서근사

>> syms x;>> f = taylor(sin(x), x, 2, 'order', 10)

f =

x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x

>> ezplot( 'sin(x)' );>> hold on;>> h = ezplot( f );>> set( h, 'color', 'red' );>> ylim( [-5 5] )

20

Page 21: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Multivariable Taylor 수열

F = taylor( A, [x1, x2, …, xk] , [a1, a2, …, ak], ‘order’, n )

• 다변수 함수 A를 (x1, x2, …, xk) = (a1, a2, ..., ak) 에서 n차 항의 다항식으로 근사

% 2변수함수를 (x,y) = (0, 0) 에서근사

>> syms x y;>> f = x + y + 3*exp(-x^2-y^2); >> ezsurf(f, [-1 2]);

>> g = taylor(f, [x,y], [0,0], 'order', 10);>> hold on;>> ezsurf(g, [-1 2]);

21

Page 22: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Parametric 함수의 Taylor 수열

공간상의 함수가 𝑥𝑥 𝑡𝑡 = 𝑒𝑒−𝑡𝑡20 cos 𝑡𝑡, 𝑦𝑦 𝑡𝑡 = 𝑒𝑒−

𝑡𝑡20 sin 𝑡𝑡, 𝑧𝑧 𝑡𝑡 = 𝑡𝑡 일 때,

• Taylor로 위의 함수를 근사하는 방법은, 각 함수 x(t), y(t), z(t)를 t에 대해 근사

syms x y tx = exp(-t/20)*cos(t);y = exp(-t/20)*sin(t);z = t;

figure(1);ezplot3(x,y,z, [-10 10]);

p = [x y z];f = taylor(p, t, 0, 'order', 30);

figure(2);ezplot3(f(1), f(2), f(3), [-10, 10]);

원래함수

원함수를근사한함수

22

Page 23: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

방정식 풀이

23

Page 24: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Symbolic Equation Solver

solve 함수

• solve( eqn1, eqn2, …, eqnN)

• solve( eqn1, eqn2, …, eqnN, var1, var2, …, varN)

– var 는 방정식에서 풀고자 하는 미지수

방정식의 해 구하기 예제

• 𝑎𝑎𝑥𝑥2 + 𝑏𝑏𝑥𝑥 + 𝑐𝑐 = 0

>> syms a b c x>> f = a*x^2+b*x+c;>> solve(f)

ans =

-(b + (b^2 - 4*a*c)^(1/2))/(2*a)-(b - (b^2 - 4*a*c)^(1/2))/(2*a)

2차방정식이므로두개의해를얻음

f==0 으로계산함

𝑠𝑠𝑠𝑠𝑠𝑠 ≔−𝑏𝑏 ± 𝑏𝑏2 − 4𝑎𝑎𝑐𝑐

2𝑎𝑎

24

Page 25: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Symbolic Equation Solver

solve 함수 사용법

• eg) 𝑥𝑥2 − 2𝑥𝑥 − 4 = 0

• solve 함수를 쓸 때, symbolic 표현을 입력으로 주거나, 방정식을 문자열

형태로 줄 수 있음.

>> syms x>> f = x^2-2*x-4;>> solve(f==0, x)

ans =

5^(1/2) + 11 - 5^(1/2)

>> solve('x^2-2*x-4==0')

ans =

5^(1/2) + 11 - 5^(1/2)

또는

25

Page 26: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Symbolic Equation Solver

𝑓𝑓 𝑥𝑥 = 𝑔𝑔(𝑥𝑥) 방정식의 경우,

• 문자열로 입력하는 경우, ‘f(x) = g(x)’ 로 하면 되고, symbolic 표현으로

기술하는 경우, f(x) – g(x) == 0 형태로 만들어 주어야 함.

• eg) cos 2𝑥𝑥 = 1 − sin(𝑥𝑥)

>> solve('cos(2*x) = 1 - sin(x)')

ans =

0pi/6

(5*pi)/6

>> syms x>> f = cos(2*x) + sin(x) - 1

f = cos(2*x) + sin(x) - 1

>> solve(f)

ans =

0pi/6

(5*pi)/6

또는

26

Page 27: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다변수 방정식의 풀이

예를 들어, 2𝑥𝑥 − log𝑦𝑦 = 1 방정식의 경우,

• 어느 변수에 대해 풀 지 지정해주면 됨

>> syms x y>> f = 2*x-log(y)-1

f =2*x - log(y) - 1

>> solve(f, x)

ans =log(y)/2 + 1/2

>> solve(f, y)

ans =exp(2*x - 1)

>> solve('2*x-log(y)=1', 'x')

ans =

log(y)/2 + 1/2

>> solve('2*x-log(y)=1', 'y')

ans =

exp(2*x - 1)

또는

27

Page 28: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

연립 방정식의 풀이

예를 들어, 𝑥𝑥2 − 𝑦𝑦 = 2 와 y − 2𝑥𝑥 = 5 로 구성된 연립 방정식을 푼다고

하면,

• 1. 여러 변수가 있을 때, 어느 한 변수를 지정하여 해당 변수를 좌변에 두고

방정식을 정리 (y 변수로 식을 정리)

𝑓𝑓1 ≔ 𝑦𝑦 = 𝑥𝑥2 − 2 , 𝑓𝑓2 ≔ 𝑦𝑦 = 2𝑥𝑥 + 5

• 2. 두 식을 각각 좌변, 우변에 두고 등식으로 만듦

𝑥𝑥2 − 2 = 2𝑥𝑥 + 5

• 3. 등식으로 만들어진 식의 해를 찾음 (x에 대한 해)

𝑥𝑥 = 1 ± 2 2

• 4. 3번에서 찾은 해를 식에 대입하여 나머지 변수에 대한 값을 계산

𝑦𝑦 = 7 + 4 2, 𝑦𝑦 = 7 − 4 2

28

Page 29: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

연립 방정식의 풀이

예를 들어, 𝑥𝑥2 − 𝑦𝑦 = 2 와 y − 2𝑥𝑥 = 5 로 구성된 연립 방정식을 푼다고

하면,

>> syms x>> y1 = x^2 - 2;>> y2 = 2*x + 5;>> xsols = solve(y1 == y2)

xsols =

2*2^(1/2) + 11 - 2*2^(1/2)

>> simplify(subs(y1, xsols))

ans =

4*2^(1/2) + 77 - 4*2^(1/2)

>> simplify(subs(y2, xsols))

ans =

4*2^(1/2) + 77 - 4*2^(1/2)

29

Page 30: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

연립 방정식의 풀이

solve 함수를 이용하면 연립 방정식을 쉽게 풀 수 있음

𝑥𝑥2 − 𝑦𝑦 = 2 와 y − 2𝑥𝑥 = 5 로 구성된 연립 방정식

>> syms x y>> sols = solve( x^2 - y == 2, y - 2*x == 5 )

sols =

x: [2x1 sym]y: [2x1 sym]

% 첫번째해

>> sols.x(1)

ans =

2*2^(1/2) + 1

>> sols.y(1)

ans =

4*2^(1/2) + 7

% 두번째해

>> sols.x(2)

ans =

1 - 2*2^(1/2)

>> sols.y(2)

ans =

7 - 4*2^(1/2)

30

Page 31: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz

다음 연립 방정식들의 해를 solve 함수를 이용하여 구해봅시다.

• �𝑥𝑥 + 𝑦𝑦 − 𝑧𝑧 = 03𝑥𝑥 + 2𝑦𝑦 − 𝑧𝑧 = 52𝑥𝑥 − 𝑦𝑦 − 3𝑧𝑧 = −6

• � 𝑦𝑦 = 32𝑥𝑥𝑦𝑦 = 5𝑥𝑥 + 1

•𝑥𝑥1 + 2𝑥𝑥2 + 4𝑥𝑥3 − 3𝑥𝑥4 = 5−2𝑥𝑥1 + 3𝑥𝑥2 − 𝑥𝑥3 − 6𝑥𝑥4 = 2𝑥𝑥1 + 5𝑥𝑥2 − 3𝑥𝑥3 + 2𝑥𝑥4 = 4

𝑥𝑥1 − 3𝑥𝑥2 − 5𝑥𝑥3 = 1

31

Page 32: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

다음 연립 방정식들의 해를 solve 함수를 이용하여 구해봅시다.

• �𝑥𝑥 + 𝑦𝑦 − 𝑧𝑧 = 03𝑥𝑥 + 2𝑦𝑦 − 𝑧𝑧 = 52𝑥𝑥 − 𝑦𝑦 − 3𝑧𝑧 = −6

• � 𝑦𝑦 = 32𝑥𝑥𝑦𝑦 = 5𝑥𝑥 + 1

•𝑥𝑥1 + 2𝑥𝑥2 + 4𝑥𝑥3 − 3𝑥𝑥4 = 5−2𝑥𝑥1 + 3𝑥𝑥2 − 𝑥𝑥3 − 6𝑥𝑥4 = 2𝑥𝑥1 + 5𝑥𝑥2 − 3𝑥𝑥3 + 2𝑥𝑥4 = 4

𝑥𝑥1 − 3𝑥𝑥2 − 5𝑥𝑥3 = 1

% problem 1>> syms x y z>> f1 = x + y - z == 0;>> f2 = 3*x + 2*y - z == 5;>> f3 = 2*x - y - 3*z == -6;>> sols = solve(f1, f2, f3)

sols =

x: [1x1 sym]y: [1x1 sym]z: [1x1 sym]

>> [sols.x sols.y sols.z]

ans =[ 2, 1, 3]

% problem 2>> syms x y>> sols = solve('y=3^(2*x)', 'y=5^x+1')

sols =

x: [1x1 sym]y: [1x1 sym]

>> [sols.x sols.y]

ans =

[ 0.57107246071180090433600366899982, 3.

>> digits(5)>> [sols.x sols.y]

% problem 3>> syms x1 x2 x3 x4>> f1 = x1+2*x2+4*x3-3*x4 == 5;>> f2 = -2*x1+3*x2-x3-6*x4 == 2;>> f3 = x1+5*x2-3*x3+2*x4 == 4;>> f4 = x1-3*x2-5*x3==1;>> sols = solve(f1,f2,f3,f4)

sols = x1: [1x1 sym]x2: [1x1 sym]x3: [1x1 sym]x4: [1x1 sym]

>> [sols.x1 sols.x2 sols.x3 sols.x4]

ans =[ 720/337, 397/674, -85/674, -246/337] 32

Page 33: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz

다음 두 함수 f(x,y)와 g(x,y)가 교차하는 지점의 좌표값을 구해봅시다.

• 𝑓𝑓 𝑥𝑥,𝑦𝑦 = 𝑦𝑦 − 4𝑥𝑥2 + 3

• 𝑔𝑔 𝑥𝑥,𝑦𝑦 = 𝑥𝑥2

4+ 𝑦𝑦2 − 1

33

Page 34: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

다음 두 함수 f(x,y)와 g(x,y)가 교차하는 지점의 좌표값을 구해봅시다.

• 𝑓𝑓 𝑥𝑥,𝑦𝑦 = 𝑦𝑦 − 4𝑥𝑥2 + 3

• 𝑔𝑔 𝑥𝑥,𝑦𝑦 = 𝑥𝑥2

4+ 𝑦𝑦2 − 1

% solutionsyms x yf = y - 4*x^2+3;g = x^2/4 + y^2 - 1;h1 = ezplot(g);set(h1, 'color', 'r');hold on;h2 = ezplot(f);set(h2, 'color', 'b');grid on;axis([-3 3 -4 4]);

[xs, ys] = solve(f, g)sols = [double(xs) double(ys)]

34

Page 35: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz

탄도 미사일을 쏘았을 때, 시간에 따른 x축, y축 방향의 거리는 아래와

같습니다.

• 𝑑𝑑𝑑𝑑𝑠𝑠𝑡𝑡𝑥𝑥 𝑡𝑡 = 𝑣𝑣0 𝑡𝑡 cos(𝜃𝜃)

• 𝑑𝑑𝑑𝑑𝑠𝑠𝑡𝑡𝑦𝑦 𝑡𝑡 = 𝑣𝑣0 𝑡𝑡 sin 𝜃𝜃 − 12𝑔𝑔𝑡𝑡2

초기 속도 v0가 100 m/s 이고, 중력가속도 g가 9.8 m/s2 일 때, 미사일을

쏘는 각도에 따라 미사일이 땅에 닿을 때까지 도달하는 거리가 어떻게

변화하는지 그래프로 그려봅시다.

35

Page 36: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

disty(t) 그래프가 0이 되는 순간의 t 값이 미사일이 땅에 닫는

순간이므로, disty(t) 함수가 0이 될 때, t값의 해를 찾아냄.

syms v0 t theta g

disty = v0 * t * sin(theta) - 1/2 * g * t^2;distx = v0 * t * cos(theta)

impact_time = solve(disty, t, 0)

impact_time =

0(2*v0*sin(theta))/g

36

Page 37: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

disty(t) 함수가 0이 될 때, t값의 해를 distx 값의 t에 대입

그러면, distx 함수는 theta에 관한 함수가 됨

impact_dist = subs(distx, t, impact_time(2));

g = 9.8;v0 = 100;

impact_dist = subs(impact_dist)

impact_dist =

(100000*cos(theta)*sin(theta))/49

37

Page 38: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

distx(theta) 함수를 theta = 0 .. pi/2 까지 plot 함수 이용하여 그림

t = 0:0.1:pi/2;y = subs(impact_dist, theta, t);

plot(t, y)grid on

38

Page 39: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

fzero

solve를 통해 f(x) = sin(x) – 0.5x 의 해를 구하면 0만 나옴

• 그러나, 그래프를 그려보면 해가 2개 더 존재함을 확인할 수 있음

fzero는 “단일변수” 함수 f의 부호가 변하는 지점 (즉, f(x) = 0)의 근을 구하는 데에 사용

• 원하는 근에 가깝다고 생각되는 시작값 x0 로부터 근을 탐색하여,

𝑥𝑥𝑛𝑛 − 𝑥𝑥∗ ≤ 2 × 10−16 을 만족하는 추정근 x*를 구할 때 까지 반복적으로 계산

>> syms x>> ezplot('sin(x) - 0.5*x')>> grid on

39

Page 40: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

fzero

solve를 통해 f(x) = sin(x) – 0.5x 의 해를 구하면 0만 나옴

• 그러나, 그래프를 그려보면 해가 2개 더 존재함을 확인할 수 있음

>> solve('sin(x)-0.5*x==0')

ans =0

>> fzero('sin(x)-0.5*x', [1 3])

ans =1.8955

>> fzero('sin(x)-0.5*x', [-3 -1])

ans =-1.8955

>> fzero('sin(x)-0.5*x', [-5 -3])Error using fzero (line 274)The function values at the interval endpoints must differ in sign.

40

Page 41: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz

다음 방정식들의 근을 fzero 함수를 이용하여 구해봅시다.

• x – tan(x) = 0

• cos(x) – x = 0

41

Page 42: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

다음 방정식들의 근을 fzero 함수를 이용하여 구해봅시다.

• x – tan(x) = 0

• cos(x) – x = 0

>> solve('x - tan(x) == 0')

ans =0

>> ezplot('x - tan(x)')>> grid on>> fzero('x - tan(x)', -4)

ans =-4.4934

>> fzero('x - tan(x)', 4)

ans =4.4934

42

Page 43: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식의 근 계산

roots 함수

• 다항식 p의 근을 수치적으로 계산해주는 함수

• z = roots( p )

– p 는 다항식의 계수 벡터

– z 는 다항식 p = 0 의 근

>> syms x>> p = sym2poly(x^2 - x - 1)

p =1 -1 -1

>> z = roots(p)

z =-0.61801.6180

43

Page 44: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

다항식의 근의 검증

polyval 함수

• 다항식 p에 값을 대입하여 다항식의 값을 계산함

• v = polyval( p, z )

– p 는 다항식의 계수 벡터

– z 는 다항식의 값을 계산할 값

% 다항식근계산

>> syms x>> p = sym2poly(x^2 - x - 1)

p =1 -1 -1

>> z = roots(p)

z =-0.61801.6180

% 다항식근검증

>> polyval(p, z)

ans =

1.0e-15 *

-0.11100.2220

0 에근접한값

44

Page 45: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

미분 방정식 풀기

45

Page 46: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

미분 방정식의 표현

MATLAB에서는 미분 연산자를 다음과 같이 표현함

• 𝑑𝑑𝑑𝑑𝑥𝑥 D, 𝑑𝑑2

𝑑𝑑𝑥𝑥2 D2, 𝑑𝑑

3

𝑑𝑑𝑥𝑥3 D3, …, 𝑑𝑑

𝑛𝑛

𝑑𝑑𝑥𝑥𝑛𝑛 Dn

• 아래 미분 방정식은 미분연산자 D를 이용하여 다음과 같이 표현 가능

𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= −2𝑥𝑥𝑦𝑦 Dy = -2xy

미분방정식의 해 구하기 예제

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= −2𝑥𝑥𝑦𝑦, y 1 = 1

>> dsolve('Dy = -2*x*y', 'y(1) = 1', 'x')

ans =

exp(1)*exp(-x^2)46

Page 47: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Symbolic Expression 이용한 미분 방정식 풀이

Symbolic Math에서는 아래 미분연산자 D가 적용되지 않음

• 𝑑𝑑𝑑𝑑𝑥𝑥 D, 𝑑𝑑2

𝑑𝑑𝑥𝑥2 D2, 𝑑𝑑

3

𝑑𝑑𝑥𝑥3 D3, …, 𝑑𝑑

𝑛𝑛

𝑑𝑑𝑥𝑥𝑛𝑛 Dn

• 대신 diff(x) 로 표현해야 함

미분방정식의 해 구하기 예제

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= −2𝑥𝑥𝑦𝑦, y 1 = 1

>> syms x y(t)>> dsolve(diff(y) == -2*x*y, y(1) == 1, x)

ans =

exp(1)*exp(-x^2)

47

Page 48: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

n차 미분 방정식의 풀이

𝑦𝑦′′ + 6𝑦𝑦′ + 9𝑦𝑦 = 0, y 0 = −4, y′ 0 = 14

• 여기서 y’’ 는 𝑑𝑑2𝑦𝑦𝑑𝑑𝑥𝑥2

또는 D2y, y’는 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥또는 Dy 를 의미함

>> Dsol = dsolve('D2y+6*Dy+9*y=0', 'y(0)=-4', 'Dy(0)=14', 'x')

Dsol =

2*x*exp(-3*x) - 4*exp(-3*x)

>> simple(Dsol)

ans =

2*exp(-3*x)*(x - 2)

48

Page 49: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

n차 미분 방정식의 풀이

𝑦𝑦′′ + 6𝑦𝑦′ + 9𝑦𝑦 = 0, y 0 = −4, y′ 0 = 14

• 여기서 y’’ 는 𝑑𝑑2𝑦𝑦𝑑𝑑𝑥𝑥2

또는 D2y, y’는 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥또는 Dy 를 의미함

• symbolic expression으로 쓰면 아래와 같음

>> syms x y(t)>> D2y = diff(diff(y));>> Dy = diff(y);>> Dsol = dsolve(D2y+6*Dy+9*y==0, y(0)==-4, Dy(0)==14, x)

Dsol =

2*x*exp(-3*x) - 4*exp(-3*x)

49

Page 50: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

연립 미분 방정식

연립미분방정식 (D = 𝑑𝑑𝑑𝑑𝒕𝒕

)

• �𝑥𝑥′ − 2𝑥𝑥 − 3𝑦𝑦 = 2𝑒𝑒2𝑡𝑡

−𝑥𝑥 + 𝑦𝑦′ − 4𝑦𝑦 = 3𝑒𝑒2𝑡𝑡, x 0 = − 2

3, y 0 = 1

3

• 여기서 x’ 는𝑑𝑑𝑥𝑥𝑑𝑑𝑡𝑡또는 Dx, y’는

𝑑𝑑𝑦𝑦𝑑𝑑𝑡𝑡또는 Dy 를 의미함

>> DSol2 = dsolve('Dx-2*x-3*y=2*exp(2*t)', '-x+Dy-4*y=3*exp(2*t)', 'x(0)=-2/3', 'y(0)=1/3')

DSol2 = y: [1x1 sym]x: [1x1 sym]

>> DSol2.x

ans =- (3*exp(2*t))/4 - exp(5*t)*((11*exp(-3*t))/12 - 1)

>> DSol2.y

ans =exp(2*t)/4 - exp(5*t)*((11*exp(-3*t))/12 - 1) 50

Page 51: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

연립 미분 방정식

연립 미분 방정식 (D = 𝑑𝑑𝑑𝑑𝒕𝒕

) 을 Symbolic Expression으로 풀이

• �𝑥𝑥′ − 2𝑥𝑥 − 3𝑦𝑦 = 2𝑒𝑒2𝑡𝑡

−𝑥𝑥 + 𝑦𝑦′ − 4𝑦𝑦 = 3𝑒𝑒2𝑡𝑡, x 0 = − 2

3, y 0 = 1

3

• 여기서 x’ 는𝑑𝑑𝑥𝑥𝑑𝑑𝑡𝑡또는 Dx, y’는

𝑑𝑑𝑦𝑦𝑑𝑑𝑡𝑡또는 Dy 를 의미함

syms x y x(t) y(t)Dx = diff(x);Dy = diff(y);deq1 = Dx-2*x-3*y==2*exp(2*t);deq2 = -x+Dy-4*y==3*exp(2*t);DSol2 = dsolve(deq1, deq2, 'x(0)=-2/3', 'y(0)=1/3', t);

51

Page 52: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz

아래 주어진 미분 방정식을 symbolic expression을 사용하여 풀어봅시다

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= 𝑒𝑒𝑥𝑥

2𝑦𝑦

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= 𝑒𝑒𝑦𝑦𝑥𝑥𝑒𝑒𝑦𝑦+𝑥𝑥2𝑒𝑒𝑦𝑦

• 𝑒𝑒𝑥𝑥(𝑑𝑑𝑥𝑥𝑑𝑑𝑡𝑡

+ 1) = 1 , 𝑥𝑥(0) = 1

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

+ 1−𝑦𝑦2

1−𝑥𝑥2= 0

52

Page 53: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Quiz Sol.

아래 주어진 미분 방정식을 symbolic expression을 사용하여 풀어봅시다

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= 𝑒𝑒𝑥𝑥

2𝑦𝑦

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

= 𝑒𝑒𝑦𝑦𝑥𝑥𝑒𝑒𝑦𝑦+𝑥𝑥2𝑒𝑒𝑦𝑦

• 𝑒𝑒𝑥𝑥(𝑑𝑑𝑥𝑥𝑑𝑑𝑡𝑡

+ 1) = 1 , 𝑥𝑥(0) = 1

• 𝑑𝑑𝑦𝑦𝑑𝑑𝑥𝑥

+ 1−𝑦𝑦2

1−𝑥𝑥2= 0

syms x y(t)Dy = diff(y);dsolve(Dy==exp(x)/(2*y))

syms x y(t)Dy = diff(y);dsolve(Dy==(exp(y)*x)/(exp(y)+x^2*exp(y)))

syms x(t)Dx = diff(x);f = exp(x)*(Dx+1)==1;dsolve(f, x(0)==1)

syms x y(t)Dy = diff(y);f = Dy + sqrt((1-y^2)/(1-x^2)) == 0;dsolve(f)

53

Page 54: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

변환

54

Page 55: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

변환이란?

어떠한 함수 f(t)를 다른 함수 F(s)로 변환하는 것.• 전자공학에서는 시간

변환을 통해 복잡한 함수 f(t)를 쉽게 풀 수 있는 F(s)로 변환하여 문제를 해결.

미분 방정식 등을 풀 때 널리 사용.

예를 들어, 미분방정식을 푼다고 하면,

• 1. 함수 f(t)를 F(s)로 변환 (식이 간단해짐)• 2. F(s)의 미분 방정식을 품• 3. F(s)에서 얻은 해를 다시 역변환하면 원 식 f(t)의 해가 됨

종류• Laplace 변환, Z-변환, Fourier 변환, …

55

Page 56: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Laplace 변환

라플라스 변환 : 𝐹𝐹 𝑠𝑠 = 𝐿𝐿 𝑓𝑓 𝑡𝑡 = ∫0∞𝑓𝑓 𝑡𝑡 𝑒𝑒−𝑠𝑠𝑡𝑡𝑑𝑑𝑡𝑡

역 라플라스 변환 : 𝑓𝑓 𝑡𝑡 = 12𝜋𝜋𝑖𝑖 ∫𝜎𝜎−𝑖𝑖∞

𝜎𝜎+∞ 𝐹𝐹 𝑠𝑠 𝑒𝑒𝑠𝑠𝑡𝑡𝑑𝑑𝑠𝑠

변환 예

% 라플라스변환>> syms t w>> laplace(t^2)

ans =2/s^3

>> laplace(cos(w*t))

ans =s/(s^2 + w^2)

>> laplace(t^1)

ans =1/s^2

% 라플라스역변환>> syms s w>> ilaplace( 1/s^3 )

ans =t^2/2

>> ilaplace( 3/(s+w) )

ans =3*exp(-t*w)

>> ilaplace( s/(s^2+4) )

ans =cos(2*t)

56

Page 57: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Laplace 변환

라플라스 변환을 이용한 미분 방정식의 풀이 (1/2)

• 1차와 2차 미분 방정식의 Laplace 변환 𝐿𝐿 𝑑𝑑𝑑𝑑

𝑑𝑑𝑡𝑡= 𝑠𝑠𝐹𝐹 𝑠𝑠 − 𝑓𝑓 0

𝐿𝐿 𝑑𝑑2𝑑𝑑𝑑𝑑𝑡𝑡2

= 𝑠𝑠2𝐹𝐹 𝑠𝑠 − 𝑠𝑠𝐹𝐹 𝑠𝑠 − 𝑓𝑓′(0)

• 다음 미분 방정식 𝑦𝑦′′ + 6𝑦𝑦′ + 9𝑦𝑦 = 0, y 0 = −4, y′ 0 = 14 을Laplace 변환으로 풀이

𝐿𝐿 𝑦𝑦′′ + 6𝑦𝑦′ + 9𝑦𝑦 = 𝐿𝐿 𝑦𝑦′′ + 6𝐿𝐿 𝑦𝑦′ + 9𝐿𝐿 𝑦𝑦

= 𝑠𝑠2𝑌𝑌 𝑠𝑠 − 𝑠𝑠𝑌𝑌 𝑠𝑠 − 𝑦𝑦′ 0 + 6𝑠𝑠𝑌𝑌 𝑠𝑠 − 6𝑦𝑦 0 + 9𝑌𝑌 𝑠𝑠 = 0

𝑠𝑠2 + 6𝑠𝑠 + 9 𝑌𝑌 𝑠𝑠 = −4𝑠𝑠 + 14

𝐹𝐹 𝑠𝑠 = −4𝑠𝑠+14𝑠𝑠2+6𝑠𝑠+9

57

Page 58: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Laplace 변환

라플라스 변환을 이용한 미분 방정식의 풀이 (2/2)

𝐹𝐹 𝑠𝑠 = −4𝑠𝑠+14𝑠𝑠2+6𝑠𝑠+9

F(s)를 라플라스 역변환 하면 원 미분방정식의 해가 구해짐

>> syms s>> Y = (-4*s+14)/(s^2+6*s+9)

Y =-(4*s - 14)/(s^2 + 6*s + 9)

>> ilaplace(Y)

ans =26*t*exp(-3*t) - 4*exp(-3*t)

58

Page 59: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Z 변환

Z 변환 : 𝐹𝐹 𝑠𝑠 = 𝑍𝑍 𝑓𝑓 𝑡𝑡 = ∑𝑛𝑛=0∞ 𝑓𝑓 𝑛𝑛𝑛𝑛 𝑧𝑧−𝑛𝑛

변환 예

% Z 변환>> syms t>> f = sin(2*t)

f = sin(2*t)

>> fz = ztrans(f)

fz =(z*sin(2))/(z^2 - 2*cos(2)*z + 1)

>> pretty(fz)

z sin(2) -------------------2 z - 2 cos(2) z + 1

% Z 역변환>> syms z>> f = 3*z/(z^2 - 4*z + 5);>> f = 3*z/(z^2 - 4*z + 5)

f = (3*z)/(z^2 - 4*z + 5)

>> ft = iztrans(f)

ft =((-1)^n*(- 2 - i)^(n - 1)*15*i)/4 - ((-1)^n*(- 2 + i)^(n - 1)*15*i)/4 + (3*(-1)^n*5^n*cos(n*(pi - a

>> pretty(ft)

/ / / 1/2 \ \ \n n | | | 2 5 | | |

3 (-1) 5 cos| n | pi - acos| ------ | | | n n - 1 \ \ \ 5 / / / 15 (-1) (i - 2) i

------------------------------------------- - ----------------------- + 1/2 n 4

2 (5 )

n n - 1 15 (-1) (- i - 2) i -------------------------

4

𝑓𝑓 𝑧𝑧 =3𝑧𝑧

𝑧𝑧2 − 4𝑧𝑧 + 5

59

Page 60: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Fourier 변환

Fourier 변환 : 𝐹𝐹 𝑤𝑤 = ∫−∞∞ 𝑓𝑓 𝑥𝑥 𝑒𝑒−𝑖𝑖𝑖𝑖𝑥𝑥𝑑𝑑𝑥𝑥

역 Fourier 변환 : 𝑓𝑓 𝑡𝑡 = 12𝜋𝜋 ∫−∞

∞ 𝐹𝐹 𝑤𝑤 𝑒𝑒𝑖𝑖𝑖𝑖𝑥𝑥𝑑𝑑𝑤𝑤

변환 예

% Fourier 변환>> syms x u>> f = x*exp(-abs(x))

f =x*exp(-abs(x))

>> g = fourier(f, u)

g =-(u*4*i)/(u^2 + 1)^2

>> pretty(g)

4 u i - ---------

2 2 (u + 1)

% Fourier 역변환>> syms x>> f = exp(-abs(x))

f =

exp(-abs(x))

>> g = ifourier(f)

g =

1/(pi*(t^2 + 1))

𝑓𝑓 𝑥𝑥 = 𝑥𝑥𝑒𝑒−|𝑥𝑥| 𝑔𝑔 𝑥𝑥 = 𝑒𝑒−|𝑥𝑥|

60

Page 61: Lec 09. Symbolic Math Toolbox II

MATLAB Programming

Symbolic Math Toolbox 주요 함수들함수명 함수기능

syms symbolic 변수정의

ezplot symbolic 수식 plotting

double symbolic 변수를 double형데이터로변환

diff 함수를미분

int 함수를적분

limit 함수의극한

symsum 급수계산

solve 방정식의해구함

fourier 함수의 fourier transform

ifourier 함수의 inverse fourier transform

laplace 함수의 laplace transform

ilaplace 함수의 inverse laplace transform

ztrans 함수의 z transformation

iztrans 함수의 inverse z transformation

collect 다항식의공통항정리

expand 다항식전개

factor 인수분해

hornor 다항식을 nested form으로만듦

simple 다항식을가장간소화된표현으로바꿈

simplify 다항식을간소화된표현으로 바꿈

pretty 수학적표현으로 symbolic 수식을변형 61