콘텐츠로 이동

미분

미분이란?

특정 점에서 함수의 기울기 같은것을 구하는 것

\(기울기=\frac{y 증가량}{x 증가량}\)

다항식에서의 미분 : 각 항마다 차수만큼을 곱하여 주고 차수를 1줄임

뉴턴법이란?

뉴턴-랩슨법(Newton-Raphson method)이라고도 불리며, 폐구간 [a,b]에서 실수R 에 대하여 정의된 f:[a,b]->R이 미분가능할 때 방정식 f(x) = 0 의 해를 근사적으로 찾을 때 유용하게 사용되는 방법이다.

  1. 구하고자 하는 수와 가까운 초깃값과 함수와 그 함수에서 구하고자 하는 수가 나오는 y좌표 기준으로 그래프를 그립니다
  2. 처음 구했던 초기값을 x에 대입하여 y값을 구합니다(이 숫자를 a라고 하겠음). 그 후 미분한 함수에도 초기값을 대입하여 숫자 하나를 구합니다(이 숫자를 b라고 하겠음).
  3. \(y=(b)x-a\) 의 직선과 맨 처음 구하고자 하는 숫자가 있는 y좌표의 그래프와 교차하는 교점의 x좌표를 초기값에 대입함
  4. 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\times a)x-a^2\)
이 식에서 y가 2일때를 구함으로
\(2=(2\times a)x-a^2\)
\(2+a^2=(2\times a)x\)
\((2+a^2)\div(2\times a)=x\)

이 외의 수치 계산 문제는 1. 수치 미분과 수치 적분 2. 아주 큰 정수 계산 문제가 있음