박근 교수님 비선형 방정식의 해법
수치해석
1강
비선형 방정식 수치해법의 개요에 대해 이해하고 구간법과 개방법에 대한 차이를 이해할 수 있다.
이분법 (Bisection Method)을 사용한 비선형 방정식의 해법 및 수치적 알고리즘을 이해할 수 있다.
뉴튼랩슨법 (Newton-Raphson Method)을
사용한 비선형 방정식의 해법 및 수치적 알고리즘을 이해할 수 있다.
비선형 방정식의 수치해석을 위한 Matlab Program을 이해하고 작성할 수 있다.
학습목표
특수한 경우 (예 : 2차함수)를 제외하고는 해석적인 방법으로 해를 구하기 어려움
초기치 근사 및 반복계산에 의해 실제 해에 근접한 근사해를 얻어야 함
계산시간 증대
해의 수렴성 (convergence)이 항상 보장되지는 않음
1. 비선형 방정식 (Nonlinear Equation)의 개 요
비선형 방정식 선형 방정식 : Ax = b
해석적인 방법으로 방정식을 만족하는 해의 계산이 용이함
한번의 계산으로 해를 구할 수 있음 x = A-1b (Direct calculation) 하중을 받는 부재의 탄성 변형
기하학적 비선형성, 재료의 비선형성, 경계조건의 비선형성 등
고정점 반복법, 2분법, Newton-Raphson 반복법, Secant법 등
1. 비선형 방정식 (Nonlinear Equation)의 개 요
m t gc c
t gm v
m v g c dt dv
d
d d
tanh )
(
2
m (kg) f
(m)
자유낙하 4초 후에 36m/s를 초과하지 않는 임계 질량?
(단 항력계수는 0.25kg/m)
) ( tanh
)
( t v t
m gc c
m gm
f
dd
Q
A
f(m) = 0를 만족하는 m의 값 결 정(비선형 방정식 풀이)
그래프를 사용한 비선형방정식 해법
정해진 폐구간 [a, b]
사이에서 해를 찾는 방법 구간의 양끝을 나타내는 2개의 초기 가정값 사용 수렴성 보장되나 수렴속도 늦음
구간법
(Bracketing Methods)
개방법
(Open Methods)
특정한 구간 없이 한 개의 초기값에서 시작하여 해를 찾는 방법
수렴성이 항상 보장되지는 않음
수렴속도는 구간법에 비하여 빠름
증분탐색법, 이분법, 가위치법 등
고정점 반복법,
Newton-Raphson법, 할선법 등
1. 비선형 방정식 (Nonlinear Equation)의 개 요
구간법과 개방법
f (x
l) > 0 f (x
u) > 0
f (x
l) f (x
u) > 0
f (x
l) < 0 f (x
u) > 0
f (x
l) f (x
u) < 0
f (x
l) > 0 f (x
u) > 0
f (x
l) f (x
u) > 0
f (x
l) < 0 f (x
u) > 0
f (x
l) f (x
u) < 0
(a) (c)
(b) (d)
f (x) f (x)
f (x) f (x)
1. 비선형 방정식 (Nonlinear Equation)의 개 요
구간법에서의 해의 개수
2. 2분법 (Bisection Method)
초기근사치 :
x
0= x
l, x
1= x
u제 1 근사해
제 2 근사해
if f(x
0) f(x
2) < 0
else
u
l
x x
x
2
1 0 2
x x x
2
2 0 3
x x x
2
2 1 3
x x x
) 2 (
1
0 1
1
x x x
x
n n
n
방정식 f (x) = 0
에서
f (x)
가 연속이고,f (x
l) f (x
u) < 0
일 때 해는x
l과x
u 사이에 존재 xx1 y x2
x3 x0
x4
2. 2분법 (Bisection Method)
2. 2분법 (Bisection Method)
f (x) = x3 -9x +1의 근을 2분법으로 구하고, 오차가 ε ≤ 10-5이 되는 반복계산횟수 n을 구하라. (단, x0=2, x1 = 4로 하라.)
f (2) = -9, f (4) = 29이므로, 근 α 는 구간 (2, 4) 사이에 있다.
∴
3
2 4 2 2
1 0
2
x x
x
f (2) f (3) < 0이므로
2 . 5
2 3 2 2
2 0
3
x x
x
f (3) f (2.5) < 0이므로
2 . 75
2 5 . 2 3 2
3 2
4
x x
x
반복해 나가면
x5= 2.875, x6= 2.9375, x7= 2.96875, x8= 2.953125 x9= 2.9453125, x10 = 2.943354, x11= 2.9433594 …
ε = 10-5이라면,
6 . 3010 17
. 0
3010 .
5 2
log ) 5 ( 2 log 10
2
log
24
5
n
따라서 18회 반복하여야 한다.
2. 2분법 (Bisection Method)
알고리즘
Algorithm Biesction
) ( tanh
)
( t v t
m gc c
m gm
f
dd
p. 150 예제 5.5
3. Newton Raphson Method
비선형 방정식 f (x) = 0의 해 (y = f (x)의 그래프에서 y = 0를 만족하는 x 값) 구하기
초기값 (x0) 에서 접선을 그어 접선이 x
축과 만나는 점의 좌표를 x1라 하고,
점에서 y 축과 평행으로 선분을 그어
곡선
y = f(x) 와 만나는 교점을 (x1, y1)
교점에서 다시 접선을 그어 x축과 만나는
점의 좌표 x2를 구한다
교점에서 다시 접선을 그어 x축과 만나는
점의 좌표 x2를 구한다 xn이 수렴할때까지 반복
Newton Raphson의 반복공 식
) , 2 , 1 , 0 ) (
( '
) (
1
n
x f
x x f
x
n n n
n
(x2, y2)
(x1, y1)
(x0, y0) y = f (x)
x1
x2 x0
x3 x
y
3. Newton Raphson Method
3x3 -2x -1= 0 의 근의 초기값을 x0 = 2로 하여, Newton Raphson의 방법으로 풀어 라.
f (x) = 3x3 -2x -1이라면 f’ (x) = 9x3 -2, x0 = 2이므로
2 9
1 2 3
2 3
1
n n n
n
n x
x x x
x
44 . 2 1
4 9
1 2 2 8 2 3
1
x
14 . 7 1 . 16
08 . 44 5 . 2 1
44 . 1 9
1 44 . 1 2 44 . 1 44 3
.
1 2
3
2
x
02 . 69 1 . 9
16 . 14 1 . 2 1
14 . 1 9
1 14 . 1 2 14 . 1 14 3
.
1 2
3
3
x
00 . 36 1 . 7
14 . 02 0 . 2 1
02 . 1 9
1 02 . 1 2 02 . 1 02 3
.
1 2
3
4
x
00 . 00 1 . 7
00 . 00 0 . 2 1
00 . 1 9
1 00 . 1 2 00 . 1 00 3
.
1 2
3
5
x
계속 계산해도 같은 결과이다. 사실상 f (1) = 0이므로 구하는 근은 x = 1이다.
구하는 근의 근사값의 오차를 ε 이하로 한다면, │xn+1 - xn│ ≤ ε일 때,
xn+1을 근사근으로 취하고, 또한 │f (xn+1)│≒ 0일 때 xn+1을 근사근으로 취한다.
3. Newton Raphson Method
function root = newtraph(func,dfunc,xr,es,maxit)
% root = newtraph(func,dfunc,xguess,es,maxit):
% uses Newton-Raphson method to find the root of a function
% if necessary, assign default values
if nargin<3, error(‘insufficient arguments’), end
if nargin<5, maxit=50; end %if maxit blank set to 50 if nargin<4, es=0.001; end %if es blank set to 0.001
% Newton-Raphson iter = 0;
while (1) xrold = xr;
xr = xr –func(xr)/dfunc(xr);
iter = iter + 1;
if xr ~= 0, ea = abs((xr - xrold)/xr) * 100; end if ea <= es | iter >= maxit, break, end
end
root = xr;