오일러 수치 방법을 사용하여 미분 방정식을 풉니다. 상미분 방정식의 수치 해. 불균일 오일러 방정식의 해

소개

과학 및 공학 문제를 해결할 때 동적 시스템을 수학적으로 설명해야 하는 경우가 많습니다. 형식으로 하는 것이 좋다. 미분 방정식 () 또는 미분 방정식 시스템. 대부분의 경우 이러한 문제는 화학 반응의 동역학 모델링과 관련된 문제를 해결할 때 발생합니다. 다양한 현상전달(열, 질량, 운동량) - 거대 입자 및 미세 입자의 움직임을 설명할 때 열 전달, 혼합, 건조, 흡착.

어떤 경우에는 미분방정식이 가장 높은 도함수가 명시적으로 표현되는 형태로 변환될 수 있다. 이 형식의 쓰기는 가장 높은 도함수에 대해 해결된 방정식이라고 합니다(이 경우 가장 높은 도함수는 방정식의 오른쪽에 없음).

상미분 방정식의 해는 임의의 x에 대해 특정 유한 또는 무한 구간에서 이 방정식을 충족하는 함수 y(x)입니다. 미분방정식을 푸는 과정을 미분방정식 적분이라고 합니다.

역사적으로 1차 ODE에 대한 코시 문제를 수치적으로 푸는 가장 간단한 방법은 오일러 방법입니다. 균일 그리드의 노드 사이에 종속 변수(y)와 독립 변수(x)의 유한 증분 비율에 의한 도함수의 근사치를 기반으로 합니다.

여기서 y i+1 은 x i+1 지점에서 필요한 함수 값입니다.

더 정확한 적분 공식을 사용하여 적분을 근사화하면 오일러 방법의 정확도가 향상될 수 있습니다. 사다리꼴 공식.

이 공식은 y i+1(이 값은 표현식의 왼쪽과 오른쪽 모두에 있음)과 관련하여 암시적인 것으로 판명되었습니다. 즉, y i+1 에 대한 방정식으로 다음과 같이 풀 수 있습니다. , 수치적으로, 어떤 반복적인 방법을 사용합니다(이러한 형태에서는 단순 반복 방법의 반복적인 공식으로 간주될 수 있습니다).

코스 작업의 구성: 코스 작업세 부분으로 구성되어 있습니다. 첫 번째 부분에서는 방법에 대한 간략한 설명입니다. 두 번째 부분에서는 문제를 공식화하고 해결합니다. 세 번째 부분 - 컴퓨터 언어로 소프트웨어 구현

코스 작업의 목적: 미분 방정식을 푸는 두 가지 방법인 오일러-코시 방법과 개선된 오일러 방법을 연구합니다.

1. 이론적인 부분

수치 미분

미분 방정식은 하나 이상의 도함수를 포함하는 방정식입니다. 독립 변수의 수에 따라 미분 방정식은 두 가지 범주로 나뉩니다.

    상미분 방정식(ODE)

    편미분 방정식.

상미분 방정식은 원하는 함수의 도함수를 하나 이상 포함하는 방정식이라고 합니다. 그들은 형식으로 작성할 수 있습니다

독립 변수

식 (1)에 포함된 가장 높은 차수를 미분방정식의 차수라고 합니다.

가장 단순한(선형) ODE는 도함수에 대해 해결된 차수의 방정식(1)입니다.

미분 방정식 (1)에 대한 해는 방정식에 대입한 후 이를 항등식으로 바꾸는 모든 함수입니다.

선형 ODE와 관련된 주요 문제는 Kashi 문제로 알려져 있습니다.

초기 조건(3)을 만족하는 함수의 형태로 방정식(2)의 해를 구합니다.

기하학적으로 등식(2)을 만족할 때 점 )을 지나는 적분곡선을 구해야 함을 의미한다.

카시 문제의 관점에서 볼 때 수치적 의미는 다음을 의미합니다. 특정 단계가 있는 세그먼트에서 방정식 (2)와 초기 조건 (3)을 충족하는 함수 값 테이블을 작성해야 합니다. 일반적으로 세그먼트의 왼쪽 끝에 초기 조건이 주어졌다고 가정합니다.

미분방정식을 푸는 가장 간단한 수치적 방법은 오일러 방법입니다. 미분 방정식에 대한 해를 그래픽으로 구성한다는 아이디어를 기반으로 하지만 이 방법은 원하는 기능을 숫자 형식이나 표에서 찾는 방법도 제공합니다.

식 (2)가 초기 조건, 즉 카시 문제가 설정된 상태로 주어집니다. 먼저 다음 문제를 해결해 봅시다. 충분히 작은 단계인 어떤 지점에서 솔루션의 근사값을 가장 간단한 방법으로 찾으십시오. 식 (2)와 초기 조건 (3)은 좌표가 있는 점에서 원하는 적분 곡선의 접선 방향을 정의합니다.

접선 방정식은 다음과 같은 형식을 갖습니다.

이 접선을 따라 이동하면 다음 지점에서 솔루션의 대략적인 값을 얻습니다.

한 점에서 근사해를 구하면 앞에서 설명한 절차를 반복할 수 있습니다. 기울기를 사용하여 이 점을 통과하는 직선을 구성하고 이를 사용하여 해당 점에서 해의 근사값을 찾습니다.

. 이 선은 점을 사용할 수 없기 때문에 실제 적분 곡선에 접하지 않습니다. 그러나 이 선이 충분히 작으면 대략적인 결과는 다음과 같습니다. 정확한 값솔루션.

이 아이디어를 계속해서 우리는 동일한 간격의 점 시스템을 구성합니다.

원하는 기능의 값 테이블 얻기

오일러 방법에 따르면 공식의 주기적 적용으로 구성됩니다.

그림 1. 오일러 방법의 그래픽 해석

한 노드에서 다른 노드로 솔루션을 얻는 미분 방정식의 수치 적분 방법을 단계적이라고 합니다. 오일러 방법은 단계별 방법의 가장 간단한 대표입니다. 모든 단계별 방법의 특징은 두 번째 단계부터 식 (5)의 초기 값 자체가 근사치, 즉 각 다음 단계의 오류가 체계적으로 증가한다는 것입니다. ODE의 근사 수치해에 대한 단계별 방법의 정확도를 추정하는 데 가장 많이 사용되는 방법은 주어진 세그먼트를 단계와 단계로 이중 전달하는 방법입니다.

1.1 개선된 오일러 방법

이 방법의 주요 아이디어 : 미분 값, 즉 세그먼트의 적분 곡선을 대체하는 직선의 기울기가 계산되지 않으면 공식 (5)로 계산 된 다음 값이 더 정확합니다. 왼쪽 가장자리를 따라(즉, 점에서), 그러나 세그먼트의 중심을 따라 . 그러나 점 사이의 미분 값은 계산되지 않으므로 직선의 방정식은 다음과 같은 형식을 취하는 동안 점이 있는 중심의 이중 섹션으로 이동합니다.

그리고 공식 (5)는 다음과 같은 형태를 취합니다.

공식 (7)은 다음에 대해서만 적용되므로 값을 얻을 수 없으므로 오일러 방법을 사용하여 구하지만 더 정확한 결과를 얻으려면 처음부터 공식 (5)를 사용합니다. ), 값 찾기

(8)

점 및 그 다음은 단계가 있는 식(7)에 의해 구합니다.

(9)

추가 계산을 찾은 후 식 (7)에 의해 생성

그것은 알려져있다 1계 상미분 방정식 의 형식은 다음과 같습니다. 이 방정식의 해는 미분 가능한 함수로, 방정식으로 대입될 때 이를 항등식으로 바꿉니다. 미분 방정식을 풀기 위한 그래프(그림 1)는 적분 곡선.

각 점의 도함수는 이 점을 통과하는 해의 그래프에 대한 접선 기울기의 접선으로 기하학적으로 해석될 수 있습니다. 즉:.

원래 방정식은 전체 솔루션 제품군을 정의합니다. 하나의 솔루션을 선택하려면 다음을 설정하십시오. 초기 조건: ,인수의 주어진 값은 어디에 있고, 함수의 초기 값.

코시 문제 원래 방정식과 초기 조건을 만족하는 함수를 찾는 것입니다. 일반적으로 코시 문제의 해는 초기 값의 오른쪽에 있는 세그먼트에서 결정됩니다.

단순한 1계 미분 방정식의 경우에도 해석적 해를 얻는 것이 항상 가능한 것은 아닙니다. 따라서 수치적 해법이 매우 중요합니다. 수치적 방법을 사용하면 선택한 인수 값 그리드에서 원하는 솔루션의 대략적인 값을 결정할 수 있습니다. 포인트라고 합니다 그리드 노드, 값은 그리드 단계입니다. 종종 고려 제복 그리드,단계가 일정합니다. 이 경우 각 그리드 노드가 그리드 노드에서 함수의 대략적인 값에 해당하는 테이블 형태로 솔루션을 얻습니다.

수치적 방법은 일반적인 형태의 해를 찾는 것을 허용하지 않지만, 다양한 종류의 미분 방정식에 적용할 수 있습니다.

코시 문제를 해결하기 위한 수치적 방법의 수렴.코시 문제의 해라고 하자. 전화하자 오류 수치적 방법, 그리드 노드에 주어진 함수. 절대 오차로 값을 취합니다.

코시 문제를 푸는 수치적 방법은 수렴, 그를 위해. 오류에 대한 추정치가 끊임없는, .

오일러 방법

코시 문제를 푸는 가장 간단한 방법은 오일러 방법입니다. 코시 문제를 풀자

세그먼트에. 단계를 선택하고 노드 시스템으로 그리드를 구축해 보겠습니다. 오일러 방법은 그리드 노드에서 함수의 대략적인 값을 계산합니다. 도함수를 세그먼트의 유한 차분으로 바꾸면 대략적인 평등을 얻을 수 있습니다. 이는 다음과 같이 다시 쓸 수 있습니다.

이 공식과 초기 조건은 오일러 방법의 계산 공식.

오일러 방법의 한 단계에 대한 기하학적 해석은 세그먼트의 솔루션이 이 점을 통과하는 적분 곡선에 대한 점에서 그려진 접선으로 대체된다는 것입니다. 단계를 완료하면 알 수 없는 누적 곡선이 파선으로 바뀝니다. (오일러의 파선).

오차 추정.오일러 방법의 오차를 추정하기 위해 다음 정리를 사용합니다.

정리.함수가 다음 조건을 충족하도록 하십시오.

.

그러면 오일러 방법에 대해 다음 오류 추정값이 유효합니다. , 여기서 세그먼트의 길이입니다. 오일러 방법이 1차 정확도를 갖는다는 것을 알 수 있습니다.

오일러 방법의 오차를 추정하는 것은 함수의 도함수를 계산해야 하기 때문에 종종 어렵습니다. 대략적인 오차 추정치는 다음과 같이 주어진다. Runge 규칙(이중 계산 규칙),정확도가 -차인 다양한 1단계 방법에 사용됩니다. 룽게의 법칙은 다음과 같다. 를 단계로 얻은 근사치, 를 단계로 얻은 근사치라고 합니다. 그러면 대략적인 평등이 참이 됩니다.

.

따라서 1단계 방법의 오류를 단계로 추정하려면 단계로 동일한 솔루션을 찾고 마지막 공식에서 오른쪽 값을 계산해야 합니다. 즉, 오일러 방법은 1차 정확도를 갖기 때문에, 즉, 대략적인 평등에는 다음이 포함됩니다.

Runge 규칙을 사용하여 주어진 정확도로 Cauchy 문제의 해를 근사적으로 계산하는 절차를 구성할 수 있습니다. . 이를 위해, 대략적인 값을 계산할 때마다 이 값을 반으로 일관되게 줄이기 위해 일정한 step 값으로 계산을 시작하는 것이 필요합니다. . 조건이 충족되면 계산이 중지됩니다. . 오일러 방법의 경우 이 조건은 다음 형식을 취합니다. 대략적인 솔루션은 다음 값이 될 것입니다. .

실시예 1다음 코시 문제의 세그먼트에서 솔루션을 찾자:,. 한 발짝 내딛자. 그 다음에.

오일러 방법의 계산 공식은 다음과 같은 형식을 갖습니다.

, .

우리는 표 1의 형태로 솔루션을 제시합니다.

1 번 테이블

원래 방정식은 베르누이 방정식입니다. 해당 솔루션은 명시적으로 찾을 수 있습니다. .

정확한 솔루션과 대략적인 솔루션을 비교하기 위해 정확한 솔루션을 표 2와 같은 형식으로 제시합니다.

표 2

오류가 있음을 표에서 알 수 있습니다.

오일러의 방법은 원하는 기능의 대략적인 값 테이블 형태로 솔루션을 제공하는 수치 방법을 나타냅니다. y(x). 비교적 거칠고 주로 대략적인 계산에 사용됩니다. 그러나 오일러 방법의 기초가 되는 아이디어는 다른 여러 방법의 시작점입니다.

1차 미분 방정식을 고려하십시오.

초기 조건으로

엑스= 엑스 0 , 와이(엑스 0 )= 와이 0 (3.2)

세그먼트 [ , ].

세그먼트를 분할하자 [ , ]를 n개의 동일한 부분으로 나누고 시퀀스를 얻습니다. 엑스 0 , X 1 , X 2 ,… , X N, 어디 엑스 = 엑스 0 + (=0,1,…, N), 시간=(- )/ N- 통합 단계.

오일러 방법에서 근사값 y(x +1 ) 와이 +1 다음 공식에 의해 순차적으로 계산됩니다.

와이 나+1 = ~에 +hf(x ,와이 ) (i=0,1,2…) (3.3)

이 경우 원하는 적분 곡선 y=y(x)지점을 지나 0 (엑스 0 , 요 0 ), 파선으로 대체됨 0 1 2 봉우리와 함께 (엑스 , 와이 ) (=0,1,2,…); 모든 링크 +1 이 파선이라고 불리는 오일러 파선, 점을 통과하는 방정식 (1)의 적분 곡선의 방향과 일치하는 방향을 가집니다. (그림 2 참조):

그림 2. 오일러 파선 보기

수정된 오일러 방법먼저 원하는 기능의 보조 값이 계산됩니다. ~에 k+1/2점에서 엑스 k+1/2, 식 (3.1)의 우변의 값은 중간점에서 발견됩니다. 와이 k+1/2 =f( xk+1/2 ,와이 k+1/2 ) 그리고 결정 ~에 k+ :

그 다음에:
(3.4)

공식 (3.4)는 오일러 방법의 반복 공식입니다.

점에서 오차를 추정하려면 엑스 에게계산을 하다 ~에 에게단계별로 시간, 다음 단계로 2 시간다음 값의 차이의 1/3을 취하십시오.

,

어디 y(x)는 미분 방정식의 정확한 해입니다.

오일러의 방법은 미분 방정식 시스템과 고차 미분 방정식으로 쉽게 확장됩니다. 후자는 먼저 1차 미분 방정식 시스템으로 축소되어야 합니다.

3.2. Runge-Kutta 방법

Runge-Kutta 방법에는 다음과 같은 속성이 있습니다.

    이 방법은 한 단계입니다. ~에 k+1 이전 요점에 대한 정보가 필요합니다. (엑스 에게 와이 에게 )

    방법은 주문 조건까지 Taylor 급수와 일치합니다. 시간  여기서 학위 아르 자형방법에 따라 다르며 일련 번호 또는 방법 순서

    파생 상품이 필요하지 않습니다. f(x와이) 그러나 함수 자체의 계산이 필요함

룽게-쿠타 알고리즘 제삼주문하다:

(3.5)

룽게-쿠타 알고리즘 네번째주문하다:

(3.6)

3차 및 4차 알고리즘은 각 단계에서 각각 3개 및 4개의 함수 계산이 필요하지만 매우 정확합니다.

3.3. 아담스 방식

Adams 방법은 다음을 참조합니다. 다단계 DE 솔루션 체계는 현재 노드의 솔루션이 1단계 방법의 경우와 같이 이전 또는 후속 그리드 노드의 데이터에 의존하지 않고 데이터에 의존한다는 사실을 특징으로 합니다. 여러 인접 노드.

Adams 방법의 아이디어는 정확도를 향상시키기 위해 이전 단계에서 이미 계산된 값을 사용하는 것입니다

와이 케이 -1 , 와이 케이 -2 , 와이 케이 -3 …

값이 사용되는 경우 케이이전 노드에서 방정식을 통합하는 k-step 방법에 대해 이야기합니다. 다단계 방법을 구축하는 한 가지 방법은 다음과 같습니다. k개의 이전 노드에서 계산된 함수의 값을 기반으로 차수의 보간 다항식 (k-1) - 케이 -1 (엑스) , 다음 식으로 미분 방정식을 통합할 때 사용됩니다.

이 경우 적분은 직교 공식을 통해 표현됩니다.

어디 λ 직교 계수입니다.

이렇게 얻은 공식의 가족은 명백한케이 - 아담스 스테핑 다이어그램. 에서 볼 수 있듯이 케이=1 특별한 경우로 오일러 공식을 얻습니다.

예를 들어, 4개의 주문 공식에 대해 다음이 있습니다.

(3.7)

와이 ( ) 케이 +1 – 이전 지점의 값을 사용하여 계산된 "예측", 에프 ( ) 케이 +1 는 예측값을 구하는 시점에서 계산된 함수의 근사값이며, 와이 ( ) 케이 +1 - 예측 값의 "수정", 와이 케이 +1 Adams에 따르면 원하는 값입니다.

DE를 푸는 이 방법의 장점은 각 지점에서 함수의 한 값만 계산된다는 것입니다. F(x, y).단점은 단일 시작점에서 다단계 방법을 시작할 수 없다는 것입니다. 케이-단계 공식에는 함수 값의 값이 필요합니다. 케이노드. 그러므로 필요하다 (k-1)첫 번째 노드의 솔루션 엑스 1 , x 2 , ..., x k-1 4차 Runge-Kutta 방법과 같은 일부 1단계 방법을 사용하여 얻을 수 있습니다.

또 다른 문제는 솔루션 과정에서 단계를 변경할 수 없다는 것인데, 이는 원스텝 방식으로 쉽게 구현된다.

4. C++로 작성된 프로그램에 대한 간략한 설명 및 실행 결과 표시

과학 기술의 많은 문제는 상미분 방정식(ODE)을 푸는 것으로 축소됩니다. ODE는 원하는 함수의 도함수를 하나 이상 포함하는 방정식입니다. 일반적으로

ODE는 다음과 같이 작성할 수 있습니다.

F x , y , y , y ,..., y

여기서 x는 독립 변수이고,

y i - i 번째 도함수

원하는 함수의 n은 방정식의 차수입니다. n차 ODE의 일반 해는 n개의 임의 상수를 포함합니다.

c 1 , c 2 ,..., c n , 즉 일반 솔루션의 형식은 y x , c 1 , c 2 ,..., c n 입니다. 고유 솔루션을 선택하려면 n개의 추가 조건을 설정해야 합니다. 어떻게 설정하느냐에 따라

추가 조건에는 두 가지 유형의 문제가 있습니다. 코시 문제와 경계값 문제입니다. 한 지점에서 추가 조건이 지정되면 이러한 문제를 코시 문제라고 합니다. 코시 문제의 추가 조건을 초기 조건이라고 합니다. 두 개 이상의 지점에 추가 조건이 지정된 경우, 즉 ~에 다른 값독립변수인 경우 이러한 문제를 경계값 문제라고 합니다. 추가 조건 자체를 경계 또는 경계 조건이라고 합니다.

n 1에 대해서는 코시 문제에 대해서만 말할 수 있다는 것이 분명합니다. 코시 문제 설정의 예:

다이 x 2 y 3

y 1 1;

d 2 y dy

y 1 1,

dx 2 dx xy ,

y 1 0 .

경계 값 문제의 예:

d2y

y 죄 x ,

y 0 1,

1 0

DX 2

3년

d2y

y10,

3 2 .

x x dx 2

DX ,

y10,

그러한 해결

분석적으로만 가능하다.

일부 특수한 유형의 방정식이므로 근사해법을 사용해야 합니다.

1차 ODE에 대한 코시 문제를 푸는 대략적인 방법

1차 ODE의 해 y(x)를 찾는 것이 필요합니다.

f x, y

세그먼트 x 0 , 조건에서 x n

y x0 y0 .

계산된 노드에서 대략적인 솔루션을 찾습니다.

xi x0 ih,

나는 0,1,..., n

xn x0

찾을 필요가

근사치를 내다

그리드 노드

y 나는 = y (x 나는 ). 계산 결과가 테이블에 입력됩니다.

통합

에 대한 방정식

세그먼트 x i , x i

1, 우리는 얻는다

x 나는 1

나는 1

y f x, y dx .

y i 의 모든 값을 찾으려면 어떻게든 해야 합니다.

(5.4)의 오른쪽에서 적분을 계산합니다. 다양한 구적 공식을 적용하여 정확도가 다른 문제 (5.2), (5.3)을 푸는 방법을 얻을 수 있습니다.

오일러 방법

(5.4)에서 적분을 계산하려면 1차 왼쪽 직사각형의 가장 간단한 공식을 사용합니다.

명시적 오일러 방법은 1차 근사값을 갖습니다. 메소드 구현. x 0 , y 0 , f x 0 , y 0 이후로

알려진 경우 (5.5)를 연속적으로 적용하면 모든 것을 결정합니다. y i : y 1 y 0 hf x 0 , y 0 , y 2 y 1 hf x 1 , y 1 , …

기하학적

해석

(그림 5.1.):

해 y x 0 y 0이 점 x 0에서 알려져 있다는 사실을 사용하여

미분값 y x 0 dy

f x0 , y0 ,

xx0

원하는 함수의 그래프에 탄젠트 방정식을 쓰십시오.

f x0 , y0

y y0

f x0 , y0 x x0 .

충분한

h 단계

세로

y1 y0 hf x0 , y0

값 x 1 x 0 h 의 오른쪽으로 대체하여 얻은 접선은 솔루션의 y x 1 세로좌표와 거의 달라야 합니다.

코시 문제의 y x. 따라서 접선과 선 x x 1의 교차점의 점 x 1 , y 1 은 대략적으로 취할 수 있습니다.

새로운 출발점을 위해. 이 점을 통해 다시 그려보자.

라인 y y 1 f x 1 , y 1 x x 1 ,

대략적으로 반영하는

y x에 대한 접선의 동작

사용

x 나는 1

직사각형:

f x, y dx hf xi 1 , yi 1 , 다음

암시적 오일러 방법

나는 1

y i hf x i 1 , y i 1 , i 0,1,..., n 1

이 방법을 암시적이라고 합니다.

알려지지 않은

가치

y 1 y xi 1 by

유명한

의미

일반적인 경우에 방정식을 푸는 것이 필요합니다.

비선형. 암시적 오일러 방법에도 1차 근사값이 있습니다.

수정된 오일러 방법

이 방법 y i 1의 계산은 두 단계로 구성됩니다.

~ y i 1 y i hf x i , y i ,

나는 1

f xi , yi f xi 1 , yi 1

이 체계는 예측자-수정자 방법이라고도 합니다. 그것 영어 이름, "올바른 예측"을 의미합니다. 실제로 첫 번째 단계에서 근사값은 1차 정확도로 예측되며,

오일러 방법. 개선된 오일러 방법.
고전적인 Runge-Kutta 방법

전산수학과 미분방정식은 우회하지 않았다! 오늘 수업에서 우리는 기초를 배울 것입니다. 대략적인 계산이 수학 분석 섹션에서는 주제에 대한 두껍고 매우 두꺼운 책이 여러분 앞에서 열립니다. 계산 수학의 경우 아직 확산 측면을 우회하지 않았습니다 =)

헤더에 나열된 메소드는 다음을 위한 것입니다. 근사치를 내다솔루션 찾기 미분 방정식, 원격 제어 시스템 및 가장 일반적인 문제에 대한 간략한 설명은 다음과 같습니다.

고려하다 1차 미분방정식당신이 찾고 싶은 프라이빗 솔루션초기 조건에 해당합니다. 무슨 뜻인가요? 이것은 우리가 찾아야 함을 의미합니다 기능 (존재한다고 가정), 주어진 diff를 만족합니다. 방정식과 그 그래프가 점을 통과합니다.

그러나 여기에 문제가 있습니다. 방정식의 변수를 분리할 수 없습니다. 과학에 알려진 방법이 없습니다. 그리고 그것이 가능하다면, 그것은 밝혀졌습니다. 잡을 수 없는완전한. 그러나 특별한 해결책이 있습니다! 그리고 여기에서 대략적인 계산 방법이 구출되어 높은 (그리고 종종 가장 높은 값으로)특정 간격으로 기능을 정확하게 "시뮬레이션"합니다.

Euler 및 Runge-Kutta 방법 뒤에 있는 아이디어는 플롯 조각을 대체하는 것입니다. 파선, 그리고 이제 우리는 이 아이디어가 실제로 어떻게 구현되는지 알아낼 것입니다. 그리고 배울 뿐만 아니라 직접 구현해 보겠습니다. =) 역사적으로 처음이자 가장 간단한 방법부터 시작하겠습니다. …복잡한 미분 방정식을 다루시겠습니까? 나도 원하지 않아 :)

운동

단계가 있는 세그먼트에서 오일러 방법을 사용하여 초기 조건에 해당하는 미분 방정식의 특정 해를 찾습니다. 근사해의 표와 그래프를 작성하십시오.

우리는 이해한다. 첫째, 우리는 평소 일차 방정식, 표준 방식으로 해결할 수 있으므로 정확한 솔루션을 즉시 찾고 싶은 유혹을 물리치기가 매우 어렵습니다.

- 이 함수가 초기조건을 만족하는지, 방정식의 근인지 확인하고자 하는 사람이 확인할 수 있다.

무엇을 해야 합니까? 찾아서 구축해야 함 파선, 이는 함수의 그래프를 근사화합니다. 사이. 이 간격의 길이가 1이고 단계가 이므로 우리의 파선 10개의 세그먼트로 구성됩니다.

게다가 점 이미 알려진 - 초기 조건에 해당합니다. 또한 다른 점의 "x" 좌표가 명확합니다.

찾기 위해 왼쪽 . 없음 분화그리고 완성- 덧셈과 곱셈만 가능! 각각의 다음 "그리스어" 값은 이전 값에서 간단한 방법으로 얻습니다. 재발공식:

우리는 미분 방정식을 다음과 같은 형식으로 나타냅니다.

이런 식으로:

우리는 초기 조건에서 "풀어줍니다":

시작 했어:

계산 결과를 테이블에 입력하는 것이 편리합니다.

그리고 계산 자체는 Excel에서 자동화되어야 합니다. 수학에서는 승리뿐만 아니라 빠른 종료도 중요하기 때문입니다. :)

2열과 3열의 결과를 바탕으로 11개의 점과 10개의 선분을 그려서 인접한 점을 연결합니다. 비교를 위해 정확한 특정 솔루션을 플롯합니다. :


단순 오일러 방법의 중요한 단점은 오류가 너무 커서 오류가 누적되는 경향이 있음을 쉽게 알 수 있다는 것입니다. 주로근사와 진실 사이의 불일치가 더 커집니다. 이것은 오일러가 자신의 방법을 기반으로 한 바로 그 원리에 의해 설명됩니다. 세그먼트는 병렬입니다. 관련 있는 접선 점에서 함수의 그래프에 . 그건 그렇고,이 사실은 그림에서도 분명히 볼 수 있습니다.

근사치를 어떻게 개선할 수 있습니까? 첫 번째 생각은 파티션을 다듬는 것입니다. 예를 들어 세그먼트를 20개 부분으로 나눕니다. 그런 다음 단계는 다음과 같습니다. , 그리고 20개 링크의 파선이 특정 솔루션에 훨씬 더 정확하게 근사할 것이라는 점은 매우 분명합니다. 동일한 Excel을 사용하면 100-1000개 및 백만(!)개의 중간 세그먼트를 처리하는 것이 어렵지 않을 것이지만 스스로에게 질문해 보겠습니다. 방법을 질적으로 개선할 수 있습니까?

그러나 이 질문을 밝히기에 앞서 오늘 거듭 거론되는 그 이름에 대해 묵상하지 않을 수 없다. 독서 레온하르트 오일러의 전기, 당신은 단순히 한 사람이 자신의 삶에서 얼마나 믿을 수 없을 정도로 많이 할 수 있는지 놀랐습니다! 오직 K.F.만이 비교할 수 있었다. 가우스. ...그래서 배움과 새로운 발견에 대한 의욕을 잃지 않도록 노력하겠습니다 :))

개선된 오일러 방법

동일한 예를 고려하십시오: 미분 방정식, 조건을 충족하는 특정 솔루션, 간격 및 10개 부분으로 나누기
(는 각 부분의 길이).

개선의 목적은 폴리라인의 "빨간색 사각형"을 정확한 솔루션의 해당 "녹색 점"에 더 가깝게 가져오는 것입니다. .

그리고 수정에 대한 아이디어는 다음과 같습니다. 세그먼트는 평행해야 합니다. 접선, 함수의 그래프에 그려집니다. 왼쪽이 아닌, 그러나 분할 간격의 "중간"입니다. 물론 이것은 근사치의 품질을 향상시킬 것입니다.

솔루션 알고리즘은 동일한 방식으로 작동하지만 추측할 수 있듯이 공식이 더 복잡해집니다.
, 어디

우리는 특정 솔루션에서 다시 춤을 추기 시작하고 즉시 "외부" 함수의 첫 번째 인수를 찾습니다.

이제 우리는 그렇게 무섭지 않은 것으로 밝혀진 "괴물"을 찾습니다. 이것은 동일한 기능입니다. , 다른 지점에서 계산:

결과에 파티션 단계를 곱합니다.

이런 식으로:

알고리즘은 두 번째 라운드에 들어갑니다. 너무 게으르지 않습니다. 자세히 적어 보겠습니다.

쌍을 고려하고 "외부" 함수의 첫 번째 인수를 찾으십시오.

두 번째 인수를 계산하고 찾습니다.

값을 계산해 보겠습니다.

단계당 제품:

Excel에서 계산을 수행하는 것이 합리적입니다. (같은 방식으로 수식을 복제한 경우 - 위의 비디오 참조)결과를 표로 요약합니다.


숫자는 소수점 이하 4-5-6자리로 반올림해야 합니다. 종종 특정 작업의 조건에는 다음이 있습니다. 직접 표시반올림은 얼마나 정확해야 합니까? 나는 강한 "꼬리" 값을 6자로 트리밍했습니다.

2열과 3열의 결과에 따르면 (왼쪽)건설하자 파선, 그리고 비교를 위해 정확한 솔루션의 그래프를 다시 제공하겠습니다. :


결과가 크게 향상되었습니다! - 빨간색 사각형은 정확한 솔루션의 녹색 점 뒤에 실제로 "숨겨져 있습니다".

그러나 완벽에는 한계가 없습니다. 머리 하나는 좋지만 두 개는 더 좋습니다. 그리고 다시 독일어:

고전적인 4차 Runge-Kutta 방법

그의 목표는 "빨간색 사각형"을 "녹색 점"으로 훨씬 더 근사하게 만드는 것입니다. 얼마나 가깝습니까? 많은, 특히 물리학, 연구, 10번째 또는 50번째 정확한소수점. 아니요, 그러한 정확도를 달성할 수 있으며 간단한 방법오일러, 하지만 얼마나 많은 부분으로 그 간격을 나누어야 할까요?! ...현대적인 컴퓨팅 성능으로 이것은 문제가 되지 않지만 - 수천 명의 중국 스토커 우주선보장!

그리고 제목에서 알 수 있듯이 Runge-Kutta 방법을 사용할 때 모든 단계에서함수의 값을 계산해야 합니다 4 번 (이전 단락의 이중 계산과 반대). 그러나 이 작업은 중국인을 고용하는 경우 상당히 번거로운 작업입니다. 다음 각 "그리스어" 값은 이전 값에서 가져옵니다.
, 어디 , 어디:

준비가 된? 그럼 시작해 볼까요 :)


이런 식으로:

첫 번째 줄이 프로그래밍되고 다음 예와 같이 수식을 복사합니다.


Runge-Kutta 방법을 이렇게 빨리 끝낼 줄은 몰랐습니다 =)

그림은 더 이상 표시되지 않기 때문에 의미가 없습니다. 분석적 비교를 해보자 정확성세 가지 방법, 정확한 솔루션을 알고 있을 때 , 그렇다면 비교하지 않는 것이 죄입니다. 절점의 함수 값은 동일한 Excel에서 간단히 계산됩니다. 공식을 채우고 나머지에 복제하면 됩니다.

다음 표에서는 값(3가지 방법 각각에 대해)과 해당 값을 요약합니다. 절대 오류대략적인 계산:


보시다시피, Runge-Kutta 방법은 개선된 오일러 방법의 올바른 소수점 2자리와 비교하여 이미 4-5자리의 올바른 소수점을 제공합니다! 그리고 이것은 우연이 아닙니다.

– "일반적인" 오일러 방법의 오류는 다음을 초과하지 않습니다. 단계파티션. 그리고 실제로 가장 왼쪽에 있는 오류 열을 보세요. 쉼표 뒤에 0이 하나만 있는데 이는 0.1의 정확도에 대해 알려줍니다.

– 고급 오일러 방법은 정확성을 보장합니다. (중간 오류 열의 소수점 뒤 2개의 0을 보십시오).

– 마지막으로 고전적인 Runge-Kutta 방법은 정확성을 보장합니다. .

명시된 오류 추정치는 이론적으로 엄격하게 입증됩니다.

어떻게 하면 근사치의 정확도를 계속 향상시킬 수 있습니까? 대답은 완전히 철학적입니다. 품질 및/또는 수량 =) 특히 Runge-Kutta 방법의 더 정확한 수정이 있습니다. 이미 언급했듯이 정량적 방법은 단계를 줄이는 것입니다. 세그먼트를 더 많은 수의 중간 세그먼트로 분할합니다. 그리고 이 숫자가 증가함에 따라 파선은 점점 더 정확한 솔루션 그래프처럼 보일 것입니다. 그리고 한도 내에서- 일치합니다.

수학에서는 이 속성을 곡선 교정. 그런데 (작은 주제에서), 모든 것에서 멀리 "똑바로"- "연구 영역"의 감소가 연구 대상의 단순화를 수반하지 않는 가장 흥미로운 것을 읽는 것이 좋습니다.

그래서 나는 단지 하나의 미분 방정식을 분석했고 따라서 몇 가지 추가 설명을 분석했습니다. 그 밖에 실무에서 염두에 두어야 할 사항은 무엇입니까? 문제의 조건에서 다른 세그먼트와 다른 파티션이 제공될 수 있으며 때로는 다음과 같은 문구가 나타납니다. 이 경우 파티션 단계를 찾아야 합니다. , 그리고 일반적인 솔루션 구성표를 따릅니다. 그건 그렇고, 초기 조건은 다음과 같은 형식이어야합니다. 즉, "x 0"은 원칙적으로 세그먼트의 왼쪽 끝과 일치합니다. 비유적으로 말해서, 파선은 항상 점을 "떠납니다".

고려된 방법의 확실한 이점은 매우 복잡한 우변을 갖는 방정식에 적용할 수 있다는 사실입니다. 그리고 절대적인 단점 - 모든 diffur가 이 형식으로 표현될 수 있는 것은 아닙니다.

그러나 이 삶의 거의 모든 것은 고칠 수 있습니다! - 결국, 우리는 그 주제의 아주 작은 부분만을 고려했고, 뚱뚱하고 뚱뚱한 책에 대한 내 말은 전혀 농담이 아니었습니다. DE와 그 시스템에 대한 솔루션을 찾는 데에는 근본적으로 다른 접근 방식이 사용되는 근사한 방법이 많이 있습니다. 예를 들어 특정 솔루션은 멱법칙으로 근사하다. 그러나 이것은 다른 섹션에 대한 기사입니다.

지루한 계산 수학을 다양화할 수 있기를 바랍니다.

관심을 가져주셔서 감사합니다!