미분이란?
특정 점에서 함수의 기울기 같은것을 구하는 것
다항식에서의 미분 : 각 항마다 차수만큼을 곱하여 주고 차수를 1줄임
뉴턴법이란?
뉴턴-랩슨법(Newton-Raphson method)이라고도 불리며, 폐구간 [a,b]에서 실수R 에 대하여 정의된 f:[a,b]→R이 미분가능할 때 방정식 f(x) = 0 의 해를 근사적으로 찾을 때 유용하게 사용되는 방법이다.
- 구하고자 하는 수와 가까운 초깃값과 함수와 그 함수에서 구하고자 하는 수가 나오는 y좌표 기준으로 그래프를 그립니다
- 처음 구했던 초기값을 x에 대입하여 y값을 구합니다(이 숫자를 a라고 하겠음). 그 후 미분한 함수에도 초기값을 대입하여 숫자 하나를 구합니다(이 숫자를 b라고 하겠음).
- 의 직선과 맨 처음 구하고자 하는 숫자가 있는 y좌표의 그래프와 교차하는 교점의 x좌표를 초기값에 대입함
- 2~3번 과정을 반복함, 반복할수록 일치하는 자릿수가 배수로 증가하게됨
구현
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double a=2;//초기값임 교제와 동일
int repeat=5;//반복 횟수 교제와 동일
int f_x, f_y;
for(int i=0; i<=repeat; i++)
{
cout <<setw(2)<<i<<"번 반복시 :"<< setprecision(27) << a << endl;
double f_x = a * a + 2;
double f_prime_x = 2 * a;
a = f_x / f_prime_x;
}
return 0;
}결과
0번 반복시 :2
1번 반복시 :1.5
2번 반복시 :1.41666666666666674068153498
3번 반복시 :1.4142156862745098866440685
4번 반복시 :1.41421356237468986982719343
5번 반복시 :1.41421356237309492343001693
이 식에서 y가 2일때를 구함으로
이 외의 수치 계산 문제는
- 수치 미분과 수치 적분
- 아주 큰 정수 계산 문제가 있음