Professional Documents
Culture Documents
수치해석 Lecture04 방정식의근 S
수치해석 Lecture04 방정식의근 S
강원대학교 메카트로닉스전공
박용재
메카트로닉스공학전공
Mechatronics Engineering
• 이분법
• 가위치법
• 고정점 반복법
• 할선법
• 뉴턴법
방정식의 근
• 방정식을 만족하는 𝒙를 구하는 것
𝑓 𝑥 0
• 2차 방정식의 근
b b 2 4ac
ax bx c 0
2
x
2a
• 고차 방정식이나 다른 방정식은?
ax 5 bx 4 cx 3 dx 2 ex f 0 x ?
sin x x 0 x ?
함수의 근 구하는 법
• 함수의 근
sin x x 0 x?
MATLAB을 이용하면
clear all
c=[2 -5 0 8]
d=polyval(c,2)
disp([‘solution=‘,num2str(d)])
solution=4
x=[-5:0.01:10];
y=x.^3-5*x.^2-17*x+21;
figure
plot(x,y)
grid
f (x) = 0 이 되는 x를 구하는 방법
비선형 방정식
근 구하는 법
Open
Bracketing Graphical
Methods
이분법
고정점 반복법
(Bisection)
가위치법
뉴턴법
(False Position)
할선법(Secant)
그래프를 이용한 방법
• 가장 간단한 방법은 f(x)의 그래프를 그린 다음 x축과 만나는 점의 위치를 눈으로
찾는 것
그래프를 이용한 방법
• 함수값을 비교하여 근의 유무 판단
f (a ) f (b) 0 근이 존재
중근 불연속 함수
→ 따라서 다른 방법 필요함.
컴퓨터를 이용하여 근 구하기
f ( x) sin10 x cos 3 x
f (a ) f (b) 0 근이 존재
이분법 (Bisection)
• 반복법을 활용한 가장 간단한 방법- 중간값 정리를 이용하여 해를 찾는 방법
이분법 적용
이분법 예제
𝑓 𝑥 𝑥 𝑥 1
이분법 예제
f ( x) e x x 2 x
엑셀로 계산한 이분법
이분법에 대한 오차추정
15 14
a 100% 6.667%
15
Step2
Step1
Step5
Step3
Step2
Step4
new old
a 100
new
function f=f1(x)
f=exp(x)-x.^2-1;
bisect(‘f1’,-1,0,10^(-4),10)
이분법 장단점
• 장점 • 단점
쉽다. 느리다.
여러 개의 근을 구하기 어
렵다.
• 1번 반복한 후 L1=Lo/2
• 2번 반복한 후 L2=Lo/4
⁞ ⁞
• k번 반복한 후 Lk=Lo/2k
Lk
a 100% a s
x
• 요구되는 오차범위 내의 정확성을 얻기 위하여 반복해야 하는 횟수는?
2
10 4 2 k 2 10 4 k 14.3 15
2k
이분법에 의한 반복계산 횟수 n을 구하기
• n 번째 단계에서 이분법은 𝑏 𝑎 /2 의 오차로 근사시킴.
𝑓 𝑥 𝑥 𝑥 1
: 허용오차, b, a : 구간 [a, b]
5. 3번 계산을 반복 수행, 이때
→ | xn - xn-1| < ε 이면 6번으로
→ | xn - xn-1| > ε 이면 3번으로
6. xn 출력 후 계산 종료
반복적으로 미리 결정된 근의 값을 수행
(2)
• 직선방정식의 절편
왜 가위치법을 사용하는가?
이분법이 가위치법보다 나은 경우
• 빠르다.
가위치법 예제
𝑓 𝑥 𝑥 𝑥 1
Tip !
주어진 구간의 왼쪽 끝점 1을 a0, 오른쪽 끝점 2를 b0로 지정
가위치법 예제2
가위치법 정리
• 가위치법은 이분법과 다르게 주어진 구간에 대한 구간법 이용이 불확실
이분법보다 계산은 복잡
• 가위치법은 끝점 두 개가 필요하고 항상 실제 근에 수렴
고정점 반복법 (Fixed‐point iteration)
• 방정식의 형태를 변형하여 근을 구하는 방법
f ( x) 0 g ( x) x
xk g ( xk 1 ) xo given, k 1, 2, ...
고정점 반복법
• x = g(x) 는 아래의 식과 같이 표현할 수
있음.
y1 x
y2 g ( x )
고정점 반복법 예제
고정점 반복법 예제
예제 고정점 반복법을 이용
이 프로그램은 f(x) = x 일때
뉴턴법 (뉴턴‐랩슨법: Newton‐Raphson법)
• 비선형방정식의 근을 결정할 때 자주 사용하는 방법
• 단점:
뉴턴법
• 근 a는 y = f(x) 그래프가 x축과 교차하는 점을 찾음
• 근을 찾기 위한 문제 f(x) = 0을 쉽게 찾기 힘든 경우
x1 은 x0 보다 좀 더 a 에 근접
뉴턴법 간단히 정리
• 주어진 식을 미분한다.
• 초깃값 x0 를 선택한다.
( x a )2 ( x a )n ( n )
f ( x ) f (a ) ( x a ) f ' (a ) f '' (a ) ...... f (a ) ......
2! n!
• 이때 f(x) = 0을 만족하는 근을 x = p 라 하면 (임의점 a를 x1 이라하면)
( p x1 )2 ( p x1 )n ( n )
f ( p ) 0 f ( x1 ) ( p x1 ) f ' ( x1 ) f '' ( x1 ) ...... f ( x1 ) ......
2! n!
• 만약 x1 이 x = p 에 매우 가까운 근사값이라면 2차항 이상은 무시가능
f ( x1 )
0 f ( x1 ) ( p x1 ) f ' ( x1 ) p x1
f ' ( x1 )
• 이것을 반복과정의 형태로 나타내면,
f ( xn )
xn 1 xn
f ' ( xn )
N-R 반복계산식
뉴턴법을 이용하기 위해 새로운 근사해를 구하는 방법 II
• 기하학적 방법
f1
f ' ( x1 ) ( tan θ )
x1 x2
이 식을 x2 에 관하여 풀면,
이를 일반항으로 나타내면
반복계산하면 근사해 P 를 구할 수 있음
뉴턴법 사용 시 주의
• 초기 근사해 x1을 잘못 선정하는 경우
x3 x2 x1 x1
x2 x3
뉴턴법 예제
𝑓 𝑥 𝑥 𝑥 1
뉴턴법 예제
뉴턴법 예제
뉴턴법 MATLAB 예제
미분
할선법 (Secant)
• 뉴턴법을 기초로 이용
• 세 번째 추정점 x2는 좀 더 실제 근 a에 근접
할선법
• 두 점을 이용하여 구간을 선정함.
f f (xi ) f (xi 1 )
• 뉴턴법에서 f ' ( xn ) 을 차분형태 로 바꾼 방법
x xi xi 1
𝛥𝑓
𝛥𝑥
할선법 예제
x2 4 0
할선법 예제
f ( x) log( x 5.0) x, x0 0, x1 1
할선법 예제
f ( x) x3 x 2 1, x0 1, x1 2
수정된 할선법
• 도함수를 추정하기 위하여 독립변수에 약간의 변동을 주는 방법
수정된 할선법 예제
f ( x ) e x x, 0.01, x0 1.0
할선법 정리
• 할선법은 이분법보다 더 빠르게 실제 근에 수렴하는 장점이 있음
할선법 MATLAB 예제
근 찾기 방법 비교
Q&A