MATLAB for C/C++ Programmers

Similar documents
Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

MATLAB for C/C++ Programmers

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

MATLAB and Numerical Analysis

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

PowerPoint Presentation

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

슬라이드 1

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

<4D F736F F F696E74202D204D41544C4142B0ADC0C7B7CF28B9E8C6F7BFEB295F3031C0E55FBDC3C0DBC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37

Chapter 연습문제답안. y *sin-*cos*^ep-*/sqrt. y [ ; sinpi/ ; sin*pi ; ] 혹은 [ sinpi/ sin*pi ]. a ais[- ] b et.,., sin. c.. a A는주어진행렬 M의 번째열만을표시하는새로운행렬을나타낸다.

제 2 장육상관측소지상종관기상전문의해독과기입,.,. (FM 12) (FM 13). (WMO) FM 12-Ⅸ Ext. SYNOP, FM 13-Ⅸ Ext. SHIP. ZCZC 612 SMKO01 RKSL AAXX

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

436 8., {(x, y) R 2 : y = x, < x 1} (, 1] φ(t) = (t, t), (, 2] ψ(t) = (t/2, t/2), [1, ) σ(t) = (1/t, 1/t).. ψ φ, σ φ. (φ, I) φ(i) φ : I φ(i). 8.2 I =

C 언어 프로그래밊 과제 풀이

CS322 중간고사.docx

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

OCW_C언어 기초

<4E505F415AB1DBB7CEB9FABAF1C1EEC7C3B7A35FBEE0B0FC E687770>

Advanced Engineering Mathematics

슬라이드 1

슬라이드 1

(001~042)개념RPM3-2(정답)

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

MATLAB for C/C++ Programmers

Open methods

(Microsoft PowerPoint - Ch6_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

02장.배열과 클래스

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

체의원소를계수로가지는다항식환 Theorem 0.1. ( 나눗셈알고리듬 (Division Algorithm)) F 가체일때 F [x] 의두다항식 f(x) = a 0 + a 1 x + + a n x n, a n 0 F 와 g(x) = b 0 + b 1 x + + b m x

11장 포인터

Microsoft PowerPoint - m22_ODE(Print) [호환 모드]

A 001~A 036

PowerPoint Presentation

Microsoft PowerPoint - chap04-연산자.pptx

ÀÎÅͳÝ-°ø°£µµÇüÇØ

C 프로그래밊 개요

통신이론 2 장주파수해석 성공회대학교 정보통신공학과 1

PowerPoint Presentation

Microsoft PowerPoint - Chapter_04.pptx

ch15

함수공간 함수공간, 점열린위상 Definition 0.1. X와 Y 는임의의집합이고 F(X, Y ) 를 X에서 Y 로의모든함수족이라하자. 집합 F(X, Y ) 에위상을정의할때이것을함수공간 (function space) 이라한다. F(X, Y ) 는다음과같이적당한적집합과

현대대학물리학 12(415~456p)

제 3강 역함수의 미분과 로피탈의 정리

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

제 5 장복소수함수적분 5 이므로 z = r(cosθ + i sin θ) = re iθ (5.3) 와같이나타낼수도있는데이표현식을복소수의 극형식 (polar form) 이라부른다. 복소함수의미분은실함수미분의정의와같이 d f(z + z) f(z) f(z) = lim z z

fx-570EX_fx991EX

(Microsoft PowerPoint - Ch17_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

소성해석

Ⅰ 기본사항 1. 기본연산자 명령어 비고 더하기 + + 빼기 - - 곱하기 * 매트릭스연산에서는. ( 마침표 ) 를사용 나누기 / 지수 ^ ** 도같이사용할수있음 1.2E3 지수표기 e3 E 또는 e 는일반변수로사용할수없음 2. 기본수학함수 명령어

-주의- 본 교재는 최 상위권을 위한 고난이도 모의고사로 임산부 및 노약자의 건강에 해로울 수 있습니다.

HWP Document

Microsoft PowerPoint - ch07 - 포인터 pm0415

<B1B9BEEE412E687770>

PowerPoint Presentation

π >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) π

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

파이널생명과학1해설OK

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

fx-82EX_fx-85EX_fx-350EX

0 cm (++x)=0 x= R QR Q =R =Q = cm =Q =-=(cm) =R =x cm (x+) = +(x+) x= x= (cm) =+=0 (cm) =+=8 (cm) + =0+_8= (cm) cm + = + = _= (cm) 7+x= x= +y= y=8,, Q

<B0F8BDC4C1A4B8AE2838C2F720BCF6C7D032292E687770>

슬라이드 1

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

2018년 수학성취도 측정시험 모범답안/채점기준/채점소감 (2018학년도 수시모집, 정시모집 및 외국인특별전형 합격자 대상) 2018년 2월 13일, 고사시간 90분 2018년 1번 x3 + x2 + x 3 = x 1 x2 1 lim. [풀이] x3 + x2 + x 3

제 12강 함수수열의 평등수렴

A y y y y y # 2#

Computer Architecture

Microsoft PowerPoint - additional01.ppt [호환 모드]

Application TI-89 / Voyage TM 200 PLT application. application, application. APPLICATIONS :, N. 1. O application. 2. application : D C application,. a

문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의

WS12. Security

슬라이드 1

Microsoft PowerPoint - Chapter_08.pptx

설계란 무엇인가?

2013 학년도수학성취도측정시험 (2013학년도수시모집및외국인특별전형합격자대상 ) 2012년 12월 18일, 고사시간 90분 1번부터 11번까지는단답형이고, 12번부터 16번까지는서술형입니다. 답안지는깨끗한글씨로바르게작성하되, 단답형은답만쓰고, 서술형은풀이과정과답을명시

<4D F736F F F696E74202D20C1A63134C0E520C6F7C0CEC5CD5FC8B0BFEB>

FGB-P 학번수학과권혁준 2008 년 5 월 19 일 Lemma 1 p 를 C([0, 1]) 에속하는음수가되지않는함수라하자. 이때 y C 2 (0, 1) C([0, 1]) 가미분방정식 y (t) + p(t)y(t) = 0, t (0, 1), y(0)

PowerPoint 프레젠테이션

Java ...

Matlab Graphics

ch3.hwp

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

컴파일러

Microsoft PowerPoint - chap_2_rep.ppt [호환 모드]

초4-1쌩큐기본(정답)본지

고 학년도 9월고수학 1 전국연합학력평가영역문제지 1 1 제 2 교시 수학영역 5 지선다형 3. 두다항식, 에대하여 는? [ 점 ] 1. 의값은? ( 단, ) [ 점 ] 다항식 이 로인수분해될때, 의값은? ( 단,,

16중등빨이수학3-2교부(01~23)

슬라이드 1

2018 년수학임용고시기출풀이 ( 대수학, 해석학, 복소해석, 위상수학, 정수론, 선형대수, 미적분학 ) - 하이어에듀 - 구준모강사 1

Áß2±âÇØ(01~56)

MATLAB for C/C++ Programmers

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

금오공대 컴퓨터공학전공 강의자료

Transcription:

오늘강의내용 (2014/01/15) Symbolic Math Toolbox 숫자로주어진변수 값 이아니라변수심볼에대한수식연산 ( 즉, symbolic expression 계산 ) 미분, 극한, 적분, 변환의 symbolic expression 계산 1

다항식 김탁은 kmste2@kaist.ac.kr 2

다항식 (polynomial) MATLAB 에서다항식의표현방법 다항식 pp xx = pp 1 xx nn + pp 2 xx nn 1 + + pp nn xx + pp nn+1 가주어졌을때, 각 계수 p i 를차수가높은순으로나열한벡터로표현함 PP = pp 1, pp 2,, pp nn+1 다항식의값계산 y = polyval( P, X ) 다항식 P 를주어진 X 값에대해계산 ff xx = 3xx 2 2xx + 1 evaluate ff(xx) at xx = 5 >> p = [3-2 1]; >> polyval(p,5) 66 3

MATLAB 에서다항식의표현방법 다항식이아래와같이정의 ff xx = 3xx 6 3xx 4 2xx 위의다항식에서 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) 0 >> polyval(p, 1) -2 4

다항식의계산 여러값에대해다항식동시에계산하기 ff xx = 3xx 6 3xx 4 2xx Y = polyval( P, X) 함수에서, X 값으로스칼라, 벡터, 또는행렬가능 계산결과 Y는입력된 X와동일한크기를가짐 P = [3 0-3 0 0-2 0] >> polyval(p, [0-3 2]) 0 1950 140 >> polyval(p, magic(2)) -2 1938 11512 140 5

Quiz 다음다항식의값을 x = 0:2:6 에서계산해봅시다. ff xx = 3xx 2 7xx 2 + 2xx + 23 ff xx = 4xx 3 0.53xx 4 ff xx = xx 3 2xx 4 2 6

다항식쉽게만들기 만약다항식차수가매우높거나, 다항식의항들이매우많다면? ff xx = 3xx 100 3xx 90 + 5xx 23 3xx 3 2xx 다항식을만들기위해, 아래와같이길이가 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) 7

다항식계수벡터검증하기 다항식계수벡터가정확하게잘기술되었는지검증하려면? 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) 3*x^5 + x^4 - x^3-5*x 8

다항식의곱셈 다항식들간의곱셈은두계수배열의 convolution 으로계산 C = conv( A, B ) ff xx = 4xx 3 2xx 2 + 1 F = [4 0-2 1] gg xx = 3xx 3 + 5xx 2 3xx 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) 12 20-18 -15 11 1-2 9

다항식의곱셈 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) 12 20-18 -15 11 1-2 10

세다항식의곱셈 두다항식을곱한다음, 그결과와나머지다항식을곱함 aa xx = 2xx 2 xx + 1 bb xx = xx 3 2xx 2 2 cc xx = xx + 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) 2-3 -2-3 -4 0-2 11

다항식나눗셈 다항식 g 를 h 로나누는경우 gg xx = h xx qq xx + rr(xx) 를만족하는몫 qq(xx) 과나머지 rr(xx) 를구할 수있음 [q, r] = deconv( g, h ) 다항식 g 를 h 로나누어, 몫 q 와나머지 r 을반환 (q, r 은다항식 ) gg xx = xx 3 6xx 2 + 12xx 8 h xx = xx 2 >> g = [1-6 12-8]; >> h = [1-2]; >> [q, r] = deconv(g,h) q = 1-4 4 r = 0 0 0 0 12

Quiz 다항식 g 와 h의나눗셈을 symbolic expression으로수행해봅시다. gg xx = xx 3 6xx 2 + 12xx 8 h xx = xx 2 다음두다항식을 symbolic expression 으로표현하고나눗셈을 했을때, 그결과를확인해봅시다. gg xx = xx 3 6xx 2 + 12xx 8 h xx = xx 1 주의 : 상수항이 1 로바뀌었음 13

Symbolic 다항식에서몫과나머지구하기 [Q, R] = quorem( F, G ) 심볼릭다항식 F 와 G 를입력받아 F/G 나눗셈을수행하고, 몫과 나머지를각각 Q, R 로반환함 gg xx = xx 3 6xx 2 + 12xx 8 h xx = xx 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) x^3-6*x^2 + 12*x - 8 14

심볼릭다항식에서계수구하기 sym/coeffs 함수 [c, terms] = coeffs( P ) 다항식 P에서모든미정변수들의계수를반환 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, terms] = coeffs( P, X ) 다항식 P 에서미정계수 X 의차수를반환 c 는계수, terms 는각미정변수들의차수 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] 15

심볼릭다항식을분수형태로나타내기 [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 16

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'); 17

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' ); 18

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] ) 19

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]); 20

Parametric 함수의 Taylor 수열 공간상의함수가 xx tt = ee tt 20 cos tt, yy tt = ee tt 20 sin tt, zz tt = tt 일때, Taylor 로위의함수를근사하는방법은, 각함수 x(t), y(t), z(t) 를 t 에대해근사 syms x y t x = 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]); 원래함수 21

방정식풀이 22

Symbolic Equation Solver solve 함수 solve( eqn1, eqn2,, eqnn) solve( eqn1, eqn2,, eqnn, var1, var2,, varn) var 는방정식에서풀고자하는미지수 방정식의해구하기예제 aaxx 2 + bbbb + cc = 0 >> syms a b c x >> f = a*x^2+b*x+c; >> solve(f) f==0 으로계산함 ssssss bb ± bb2 4aaaa 2aa -(b + (b^2-4*a*c)^(1/2))/(2*a) -(b - (b^2-4*a*c)^(1/2))/(2*a) 2 차방정식이므로두개의해를얻음 23

Symbolic Equation Solver solve 함수사용법 eg) xx 2 2xx 4 = 0 solve 함수를쓸때, symbolic 표현을입력으로주거나, 방정식을문자열형태로줄수있음. >> syms x >> f = x^2-2*x-4; >> solve(f==0, x) 5^(1/2) + 1 1-5^(1/2) 또는 >> solve('x^2-2*x-4==0') 5^(1/2) + 1 1-5^(1/2) 24

Symbolic Equation Solver ff xx = gg(xx) 방정식의경우, 문자열로입력하는경우, f(x) = g(x) 로하면되고, symbolic 표현으로기술하는경우, f(x) g(x) == 0 형태로만들어주어야함. eg) cos 2xx = 1 sin(xx) >> solve('cos(2*x) = 1 - sin(x)') 0 pi/6 (5*pi)/6 또는 >> syms x >> f = cos(2*x) + sin(x) - 1 f = cos(2*x) + sin(x) - 1 >> solve(f) 0 pi/6 (5*pi)/6 25

다변수방정식의풀이 예를들어, 2xx log yy = 1 방정식의경우, 어느변수에대해풀지지정해주면됨 >> syms x y >> f = 2*x-log(y)-1 f = 2*x - log(y) - 1 >> solve(f, x) log(y)/2 + 1/2 >> solve(f, y) exp(2*x - 1) 또는 >> solve('2*x-log(y)=1', 'x') log(y)/2 + 1/2 >> solve('2*x-log(y)=1', 'y') exp(2*x - 1) 26

연립방정식의풀이 예를들어, xx 2 yy = 2 와 y 2xx = 5 로구성된연립방정식을푼다고하면, 1. 여러변수가있을때, 어느한변수를지정하여해당변수를좌변에두고방정식을정리 (y 변수로식을정리 ) fff yy = xx 2 2, ff2 yy = 2xx + 5 2. 두식을각각좌변, 우변에두고등식으로만듦 xx 2 2 = 2xx + 5 3. 등식으로만들어진식의해를찾음 (x에대한해 ) xx = 1 ± 2 2 4. 3번에서찾은해를식에대입하여나머지변수에대한값을계산 yy = 7 + 4 2, yy = 7 4 2 27

연립방정식의풀이 예를들어, xx 2 yy = 2 와 y 2xx = 5 로구성된연립방정식을푼다고 하면, >> simplify(subs(y1, xsols)) >> syms x >> y1 = x^2-2; >> y2 = 2*x + 5; >> xsols = solve(y1 == y2) xsols = 2*2^(1/2) + 1 1-2*2^(1/2) 4*2^(1/2) + 7 7-4*2^(1/2) >> simplify(subs(y2, xsols)) 4*2^(1/2) + 7 7-4*2^(1/2) 28

연립방정식의풀이 solve 함수를이용하면연립방정식을쉽게풀수있음 xx 2 yy = 2 와 y 2xx = 5 로구성된연립방정식 >> syms x y >> sols = solve( x^2 - y == 2, y - 2*x == 5 ) sols = x: [2x1 sym] y: [2x1 sym] % 첫번째해 >> sols.x(1) 2*2^(1/2) + 1 >> sols.y(1) 4*2^(1/2) + 7 % 두번째해 >> sols.x(2) 1-2*2^(1/2) >> sols.y(2) 7-4*2^(1/2) 29

Quiz 다음연립방정식들의해를 solve 함수를이용하여구해봅시다. xx + yy zz = 0 3xx + 2yy zz = 5 2xx yy 3zz = 6 yy = 32xx yy = 5 xx + 1 xx 1 + 2xx 2 + 4xx 3 3xx 4 = 5 2xx 1 + 3xx 2 xx 3 6xx 4 = 2 xx 1 + 5xx 2 3xx 3 + 2xx 4 = 4 xx 1 3xx 2 5xx 3 = 1 30

Quiz 다음두함수 f(x,y) 와 g(x,y) 가교차하는지점의좌표값을구해봅시다. ff xx, yy = yy 4xx 2 + 3 gg xx, yy = xx2 4 + yy2 1 31

Quiz 탄도미사일을쏘았을때, 시간에따른 x축, y축방향의거리는아래와같습니다. ddddddtt xx tt = vv 0 tt cos(θθ) ddddddtt yy tt = vv 0 tt sin θθ 1 2 ggtt2 초기속도 v 0 가 100 m/s 이고, 중력가속도 g 가 9.8 m/s 2 일때, 미사일을 쏘는각도에따라미사일이땅에닿을때까지도달하는거리가어떻게 변화하는지그래프로그려봅시다. 32

fzero solve 를통해 f(x) = sin(x) 0.5x 의해를구하면 0 만나옴 그러나, 그래프를그려보면해가 2 개더존재함을확인할수있음 >> syms x >> ezplot('sin(x) - 0.5*x') >> grid on fzero 는 단일변수 함수 f 의부호가변하는지점 ( 즉, f(x) = 0) 의근을구하는데에사용 원하는근에가깝다고생각되는시작값 x 0 로부터근을탐색하여, xx nn xx 2 10 16 을만족하는추정근 x * 를구할때까지반복적으로계산 33

fzero solve 를통해 f(x) = sin(x) 0.5x 의해를구하면 0 만나옴 그러나, 그래프를그려보면해가 2 개더존재함을확인할수있음 >> solve('sin(x)-0.5*x==0') 0 >> fzero('sin(x)-0.5*x', [1 3]) 1.8955 >> fzero('sin(x)-0.5*x', [-3-1]) -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. 34

Quiz 다음방정식들의근을 fzero 함수를이용하여구해봅시다. x tan(x) = 0 cos(x) x = 0 35

다항식의근계산 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.6180 1.6180 36

다항식의근의검증 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.6180 1.6180 % 다항식근검증 >> polyval(p, z) 1.0e-15 * -0.1110 0.2220 0 에근접한값 37

미분방정식풀기 38

미분방정식의표현 MATLAB 에서는미분연산자를다음과같이표현함 dd D, dd 2 dddd ddxx 2 D2, dd3 ddxx ddnn 3 D3,, nn Dn 아래미분방정식은미분연산자 D 를이용하여다음과같이표현가능 ddyy = 2xxxx Dy = -2xy dddd ddxx 미분방정식의해구하기예제 dddd = 2xxxx, y 1 = 1 dddd >> dsolve('dy = -2*x*y', 'y(1) = 1', 'x') exp(1)*exp(-x^2) 39

Symbolic Expression 이용한미분방정식풀이 Symbolic Math 에서는아래미분연산자 D 가적용되지않음 dd D, dd 2 dddd ddxx 2 D2, dd3 ddxx 대신 diff(x) 로표현해야함 ddnn 3 D3,, nn Dn ddxx 미분방정식의해구하기예제 dddd = 2xxxx, y 1 = 1 dddd >> syms x y(t) >> dsolve(diff(y) == -2*x*y, y(1) == 1, x) exp(1)*exp(-x^2) 40

n 차미분방정식의풀이 yy + 6yy + 9yy = 0, y 0 = 4, y 0 = 14 여기서 y 는 dd2 yy ddyy ddxx2 또는 D2y, y 는 ddxx 또는 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) 2*exp(-3*x)*(x - 2) 41

n 차미분방정식의풀이 yy + 6yy + 9yy = 0, y 0 = 4, y 0 = 14 여기서 y 는 dd2 yy dddd ddxx2 또는 D2y, y 는 dddd symbolic expression 으로쓰면아래와같음 또는 Dy 를의미함 >> 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) 42

연립미분방정식 연립미분방정식 (D = dd ddtt ) xx 2xx 3yy = 2ee 2tt xx + yy 4yy = 3ee 2tt, x 0 = 2 3, y 0 = 1 3 여기서 x 는 dddd dddd 또는 Dx, y 는 ddtt ddtt 또는 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 - (3*exp(2*t))/4 - exp(5*t)*((11*exp(-3*t))/12-1) >> DSol2.y exp(2*t)/4 - exp(5*t)*((11*exp(-3*t))/12-1) 43

연립미분방정식 연립미분방정식 (D = dd ) 을 Symbolic Expression으로풀이 ddtt xx 2xx 3yy = 2ee 2tt xx + yy 4yy = 3ee 2tt, x 0 = 2 3, y 0 = 1 3 여기서 x 는 dddd dddd 또는 Dx, y 는 ddtt ddtt 또는 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); 44

Quiz 아래주어진미분방정식을 symbolic expression 을사용하여풀어봅시다 dddd = eexx dddd 2yy dddd dddd = ee xx ( ddxx ddtt eeyy xx ee yy +xx 2 ee yy + 1) = 1, xx(0) = 1 dddd + dddd 1 yy2 1 xx 2 = 0 45

변환 46

변환이란? 어떠한함수 f(t) 를다른함수 F(s) 로변환하는것. 전자공학에서는시간 변환을통해복잡한함수 f(t) 를쉽게풀수있는 F(s) 로변환하여문제를해결. 미분방정식등을풀때널리사용. 예를들어, 미분방정식을푼다고하면, 1. 함수 f(t) 를 F(s) 로변환 ( 식이간단해짐 ) 2. F(s) 의미분방정식을품 3. F(s) 에서얻은해를다시역변환하면원식 f(t) 의해가됨 종류 Laplace 변환, Z- 변환, Fourier 변환, 47

Laplace 변환 라플라스변환 : FF ss = LL ff tt = 0 ff tt ee ssss dddd 역라플라스변환 : ff tt = 1 2ππii σσ+ σσ ii FF ss ee ssss ddss 변환예 % 라플라스변환 >> syms t w >> laplace(t^2) 2/s^3 >> laplace(cos(w*t)) s/(s^2 + w^2) >> laplace(t^1) 1/s^2 % 라플라스역변환 >> syms s w >> ilaplace( 1/s^3 ) t^2/2 >> ilaplace( 3/(s+w) ) 3*exp(-t*w) >> ilaplace( s/(s^2+4) ) cos(2*t) 48

Laplace 변환 라플라스변환을이용한미분방정식의풀이 (1/2) 1 차와 2 차미분방정식의 Laplace 변환 LL dddd dddd LL dd2 ff ddtt 2 = ssss ss ff 0 = ss 2 FF ss ssss ss ff (0) 다음미분방정식 yy + 6yy + 9yy = 0, y 0 = 4, y 0 = 14 을 Laplace 변환으로풀이 LL yy + 6yy + 9yy = LL yy + 6LL yy + 9LL yy = ss 2 YY ss ssss ss yy 0 + 6ssss ss 6yy 0 + 9YY ss = 0 ss 2 + 6ss + 9 YY ss = 4ss + 14 FF ss = 4ss+14 ss 2 +6ss+9 49

Laplace 변환 라플라스변환을이용한미분방정식의풀이 (2/2) FF ss = 4ss+14 ss 2 +6ss+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) 26*t*exp(-3*t) - 4*exp(-3*t) 50

Z 변환 Z 변환 : FF ss = ZZ ff tt = nn=0 ff nnnn zz nn 변환예 % Z 변환 >> syms t >> f = sin(2*t) f = sin(2*t) >> fz = ztrans(f) % 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) ff zz = 3zz zz 2 4zz + 5 fz = (z*sin(2))/(z^2-2*cos(2)*z + 1) >> pretty(fz) z sin(2) ------------------- 2 z - 2 cos(2) z + 1 / / / 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 51

Fourier 변환 Fourier 변환 : FF ww = ff xx ee iiiiii dddd 역 Fourier 변환 : ff tt = 1 2ππ FF ww ee iiiiii ddww 변환예 % 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) ff xx = xxee xx % Fourier 역변환 >> syms x >> f = exp(-abs(x)) f = exp(-abs(x)) >> g = ifourier(f) g = 1/(pi*(t^2 + 1)) gg xx = ee xx 4 u i - --------- 2 2 (u + 1) 52

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 수식을변형 53