본문 바로가기

수학

(18)
[수치해석 17] Runge kutta법 미분방정식(differential equation) : 미지의 함수 및 해당 함수의 도함수로 구성되는 방정식 상미분 방정식(ordinary DE) : 하나의 독립변수에 대한 도함수를 포함하는 미분 방정식 편미분 방정식(partial DE) : 둘 이상의 독립변수에 대한 편도함수를 포함하는 미분방정식 미분방정식에서 차수(order) 은 가장 높은 도함수의 차수를 의미한다. 초기값 문제 특정 방정식을 미분하게 되면 원 방정식의 상수부 C가 해당 과정에서 소실된다. 이때 미분된 방정식을 적분한다고 해도 추가적인 조건 없이는 소실된 상수부 C는 알 수 없다. 이때 상미분 방정식의 경우 해를 구하기 위해 적분을 진행하는데, 이 경우 위 설명과 마찬가지로 원래 방정식의 상수에 해당하는 적분 상수 C는 구할 수 없다..
[수치해석 16] 수치미분 미분 독립변수 x와 종속변수 y 및 f(x) 가 존재할 때, 독립변수의 변화에 대한 종속변수의 변화를 고려하자. 차분 근사는 다음과 같다. 이때 Δx 가 0에 접근하게 되면, 차분은 도함수가 되고, 이는 xi에서의 전선의 기울기에 대응된다. 테일러 급수 전개를 이용한 도함수 근사 테일러 급수는 다음과 같은 모습을 가진다. 테일러 급수를 이용한 도함수의 근사는 테일러 급수의 항을 변형하여 우리가 원하는 f(n)(x)을 구하는 것을 목표로 한다. 전진 차분 근사 ( forward difference by forward expansion ) xi 에 대해 xi+1을 구하는 식을 이용하여 근사하는 방법. i 의 인덱스가 증가한다고 해서 전진 전개(forward expansion) 이라고 한다. 해당 결과로 나오..
[수치해석 15] 방정식의 적분 수치적으로 적분하게 되는 데이터는 테이블 형태와 함수 형태로 나뉜다. 테이블 형태는 정해진 이산 개수의 데이터에 기반하여 적분하게 되고, 함수는 함수 식에 기반하여 생성된 점을 이용하여 적분하게 된다. 수식에 대한 Newton-Cotes 알고리즘 합성 사다리꼴 공식 및 Simpson 공식은 함수에 대해서도 적용할 수 있으나, 구간이 크게 증가함에 따라 반올림 오차가 역으로 증가하여 오차가 더 높아지는 현상이 발생한다. 따라서, 높은 효율성 및 작은 오차가 필요한 경우 부적합하다. 파이썬 알고리즘 from typing import Callable def TrapEq(f : Callable[[float], float], n: int, a:float, b:float): ''' @params f : 사용되는 함..
[수치해석 14] Newton-Cotes 적분 공식 정적분 독립 변수 x에 대한 함수 f(x)의 구간 x = a 부터 x = b 까지의 적분으로, a ~ b 범위에서 곡선 f(x)와 x 사이에 이루는 면적(단 부호가 존재)이 정적분 I 에 해당한다. 수치적분 정적분은 적분을 수식에 의한 해석적 방법을 통해 구하는 과정이라 할 수 있다. 그러나 모든 상황에서 해당 방법이 가능한 것은 아니므로, 이산적인 점을 통해 측정 값만으로 적분을 구해야 하는 경우가 있고, 이때 수치적분이 사용된다. 즉 수치적분은 구체적 수식 대신에 이산적인 점과 측정값을 통해 적분을 수행하는 방식이다. Newton-Cotes 적분공식 가장 많이 사용되는 수치적분 방식으로, 복잡한 함수 및 데이터를 다항식의 형태로 대체하는 방식으로, 원래 함수식이나 데이터를 여러 소구간으로 나누어, 해..
[수치해석 13] 스플라인 보간법 고차 다항식을 이용하는 보간법은 반올림 오차, overfit / overshoot으로 인해 틀린 결과가 발생할 수도 있다. 따라서 이를 구간으로 나눠 저차 다항식인 스플라인 함수를 이용하여 해결한다. 스플라인은 휘어지는 자를 의미하는데, 몇개 점으로 곡선을 만드는 의미로 그래픽스 등에서 사용된다. 스플라인 보간법 보간 대상이 되는 구간을 여러개의 구간으로 나누고, 이를 저차 다항식인 스플라인 함수(spline function)으로 구성하여 해결하는 방식으로, 각 구간마다 서로 다른 스플라인 함수를 가진다. 위 그림의 경우 구간의 개수가 n개일 때 점은 n + 1개가 필요하며, 각 구간마다 스플라인 함수 Si(x) 를 가진다. 기본적으로 스플라인은 각 구간을 구분하는 변수( 위 그림에서는 x) 에 대해 정..
[수치해석 12] 보간법 보간법 데이터가 정확하게 알려져 있는 경우에 각 점을 직접 통과하는 곡선이나 일련의 곡선을 구해 사이 값을 추정하는 방법. 다항식 보간법(polynomial interpolation) 은 n+1개의 점으로부터 n차 다항식의 계수를 추정한다. 데이터 개수보다 1차원 작은 다항식을 추정하게 된다. Newton divided-difference(제차분) 보간 다항식 우리는 흔히 다항식을 아래와 같이 표현한다. 현실에서 손으로 계산하는 경우 위 식에 직접 값을 대입하여 근을 구하더라도 문제는 없다. 그러나 해당 계산을 컴퓨터를 통해 하면, 필연적으로 반올림 오차가 발생하기 때문에 이런 방식은 부적절하다. 이런 이유로 우리는 다항식을 아래와 같은 방식으로 표현한다. 위 다항식에 대해 몇몇 식을 구해보자. 선형 보..
[수치해석 11] 최소 제곱 회귀 분석 2 비선형 관계식의 선형화 종속변수 y 와 독립변수 x 사이의 관계가 비선형 관계인 경우, 아래 방법을 이용할 수 있다. 비선형 모델의 선형 변환(transformation) 다항식 회귀 분석 비선형 모델의 선형 변환 y = f(x) 의 식을 변환하여 선형 식으로 나타낼 수 있는 경우 사용한다. 이때 각 계수는 구해진 선형식을 원래 식으로 변환하여 구할 수 있다. 지수 모델(exponential model) : ln으로 변환한다. 멱 방정식(power equation) : log로 변환한다. 포화 방정식(saturation equation) : 역수를 취해 구한다. 다항식 회귀 분석 식이 x에 대한 m차 다항식 꼴로 나타나는 경우, 계수 ai 를 구하기 위해서는 총 m+1 개의 선형 연립 방정식이 필요하다...
[수치해석 10] 최소 제곱 회귀 분석 곡선 적합(Curve Fitting) 어떤 상황에서 데이터는 이산적인 값으로 주어진다. 이때, 우리는 이 데이터들간의 연관성에 대해 궁금하거나, 해당 데이터들을 기반으로 새로운 임의의 점을 추정하고 싶을 수 있다. 곡선 적합은 중간이 되는 추정치를 구하기 위해 특정 데이터들을 곡선에 적합시키는 것으로, 현실의 복잡한 데이터로부터 이들에 적합하는 간단한 함수를 유도하는 것이다. 즉, 데이터들 사이의 연관성을 곡선 형태로 도출하고, 이를 통해 새로운 값을 추정하기 위한 것이다. 데이터간의 오차가 큰 상황에서는 최소제곱회귀분석을 사용한다. 이 경우. 데이터의 일반적인 경향성을 나타내는 것으로, 단일 곡선을 유도한다. 유도된 곡선이 꼭 모든 점을 통과하지는 않는다. (도출되는 곡선은 근사치를 추정한다.) 데이터..