비선형 방정식의 해. 비선형 방정식의 근을 찾는 이론

러시아 연방 교육부

동부 시베리아 주

기술 대학

주제에 대한 초록: “비선형 방정식의 해

간단한 반복 방법"

완전한:. 부베브 B.M.

확인자: Shirapov D.Sh.

소개

비선형 방정식은 대수 및 초월의 두 가지 클래스로 나눌 수 있습니다. 대수 방정식대수 함수(전체, 유리, 무리)만 포함하는 방정식이라고 합니다. 특히 다항식은 전체 대수 함수입니다. 다른 함수(삼각, 지수, 로그 등)를 포함하는 방정식을 호출합니다. 탁월한.

비선형 방정식을 푸는 방법은 두 그룹으로 나뉩니다.

    정확한 방법;

    반복적인 방법.

정확한 방법유한 관계(공식)의 형태로 근을 쓸 수 있습니다. 학교 대수학 과정에서 이러한 방법은 삼각, 로그, 지수 및 가장 간단한 대수 방정식을 푸는 것으로 알려져 있습니다.

알려진 바와 같이 많은 방정식과 방정식 시스템에는 분석 솔루션이 없습니다. 우선, 이것은 대부분의 초월 방정식에 적용됩니다. 또한 4차 이상의 임의의 대수 방정식을 풀 수 있는 공식을 구성하는 것이 불가능하다는 것도 증명되었습니다. 또한 방정식에 대략적으로만 알려진 계수가 포함되어 있는 경우도 있으므로 방정식의 근을 정확하게 결정하는 문제 자체가 의미를 잃습니다. 그것들을 해결하기 위해 우리는 반복적인 방법주어진 정확도로.

방정식을 보자

    기능 에프(엑스)는 세그먼트 [ 에이, ㄴ] 1차 및 2차 도함수와 함께 사용됩니다.

    가치 에프(엑스) 세그먼트 끝에 다른 기호가 있습니다( 에프()  에프() < 0).

    1차 및 2차 도함수 에프"(엑스) 그리고 에프""(엑스) 간격 전체에 걸쳐 특정 기호를 유지합니다.

조건 1) 및 2)는 [ ㅏ, ] 적어도 하나의 루트가 있으며 3) 다음과 같습니다. 에프(엑스)는 이 간격에서 단조이므로 근이 고유합니다.

방정식 (1) 풀기 반복적인 방법루트가 있는지 여부, 루트 수를 설정하고 필요한 정확도로 루트 값을 찾는 것을 의미합니다.

기능을 반대로 하는 모든 값 에프(엑스) 0으로, 즉 다음과 같이:

~라고 불리는 뿌리 방정식(1) 또는 기능 에프(엑스).

방정식의 근을 찾는 문제 에프(엑스) = 0은 반복적인 방법으로 두 단계로 구성됩니다.

    뿌리 분리- 루트 또는 루트를 포함하는 세그먼트의 대략적인 값 찾기

    근사근의 정제- 그것들을 주어진 정확도로 가져옵니다.

뿌리를 분리하는 과정은 기능의 기호를 설정하는 것으로 시작됩니다. 에프(엑스) 경계에서 엑스=그리고 엑스=그 존재 영역의 점.

예시 1 . 방정식의 근을 분리합니다.

따라서 방정식 (2)에는 구간 [-3, -1] 및 .

뿌리의 대략적인 값( 초기 근사치) 또한 문제의 물리적 의미, 다른 초기 데이터로 유사한 문제의 솔루션에서 알 수 있거나 그래픽으로 찾을 수 있습니다.

엔지니어링 실무에서 흔히 볼 수 있는 그래픽 방식대략적인 뿌리의 결정.

방정식 (1)의 실제 근이 함수 그래프의 교차점임을 고려하면 에프(엑스) x축으로 함수를 그래프로 나타내면 충분합니다. 에프(엑스) 교차점을 표시 에프(엑스) 차축 포함 오,또는 축에 표시 하나의 루트를 포함하는 세그먼트. 플로팅은 종종 방정식 (1)을 대체하여 크게 단순화할 수 있습니다. 동등한그를 방정식으로:

기능 에프 1 (엑스) 그리고 에프 2 (엑스) - 함수보다 간단 에프(엑스). 그런 다음 함수의 그래프를 플로팅합니다. ~에=에프 1 (엑스) 그리고 ~에 = 에프 2 (엑스), 이 그래프의 교차점의 가로 좌표로 원하는 근을 얻습니다.

그림 2.

예시 2 . 방정식의 근을 그래픽으로 분리합니다(그림 2).

엑스엘지 x= 1.

방정식 (4)는 등식으로 편리하게 다시 작성할 수 있습니다.

따라서 식 (4)의 근은 대수 곡선의 교차점의 가로 좌표로 찾을 수 있음이 분명합니다. 와이= 로그 엑스그리고 과장법 와이 = . 이러한 곡선을 구성하면 식 (4)의 유일한 근을 대략적으로 찾거나 포함하는 세그먼트를 결정할 수 있습니다.

반복 프로세스는 초기 근사값의 연속적인 개선으로 구성됩니다. 엑스 0 . 이러한 각 단계는 반복. 반복의 결과로 근의 근사값 시퀀스가 ​​발견됩니다. 엑스 1 , 엑스 2 , ..., 엑스 N . 반복 횟수가 증가하면 이러한 값이 N접근 진정한 가치루트, 다음 우리는 반복 프로세스 수렴.

간단한 반복 방법

반복 방법을 사용하려면 원래의 비선형 방정식 에프(엑스) = 0은 등가 방정식으로 대체됩니다.

기하학적으로 반복 방법은 다음과 같이 설명할 수 있습니다. 비행기를 만들자 외치는 소리함수 그래프 y = x그리고 y= (엑스). 방정식 (8)의 각 실수근은 교차점의 가로 좌표입니다. 구부러진 y= (엑스) 직선으로 y = x(그림 6, ).

그림 6

어떤 지점에서 출발 하지만 0 [엑스 0 , (엑스 0)], 우리는 파선을 구축 하지만 0 1 하지만 1 2 하지만 2 ... ( "사다리"), 링크가 축에 교대로 평행 및 축 OU, 정점 하지만 0 , 하지만 1 , 하지만 2 , ... 커브에 누워 y= (엑스), 정점 1 , 에 2 , 에 3 , ..., - 직선으로 y = x.점의 일반 가로 좌표 하지만 1 및 1 , 하지만 2 및 2 , ...는 분명히 각각 연속적인 근사치입니다. 엑스 1 , 엑스 2 , ... 루트 .

다른 종류의 파선도 가능합니다. 하지만 0 1 하지만 1 2 하지만 2 ... - "나선형"(그림 6, ). 도함수 "( 엑스)은 양수이고 "( 엑스)은 음수입니다.

그림 6에서 에이, ㄴ곡선 ~에 =  (엑스) 뿌리 부근 - 완만하게 경사진, 즉<1, и процесс итерации сходится. Однако, если рассмотреть случай, где >1, 반복 프로세스가 분기될 수 있습니다(그림 7).

그림 7

따라서 반복 방법의 실제 적용을 위해서는 반복 과정의 수렴을 위한 충분한 조건을 찾는 것이 필요하다.

정리:기능을 보자  (엑스) 세그먼트에서 정의 및 미분 가능 [에이, ㄴ], 모든 가치  (엑스) [,].

그런 다음 적절한 분수가 있으면 그런

위해<엑스<비, 그 다음에: 1)반복 프로세스

초기값에 관계없이 수렴엑스 0  [,];

2) 한계값 방정식의 유일한 근이다. x = (엑스) 세그먼트에 [에이, ㄴ].

예시 5 . 방정식

에프(엑스)  엑스 3 - 엑스 - 1 = 0

루트 가 있습니다. 에프(1) = - 1 < 0 и 에프(2) = 5 > 0.

식 (10)은 다음과 같이 쓸 수 있습니다.

엑스 = 엑스 3 - 1.

 (엑스) = 엑스 3 - 1 및 "( 엑스) = 3엑스 2 ;

" (엑스) 1에서 3 엑스 2

결과적으로 반복 프로세스의 수렴 조건이 충족되지 않습니다.

식 (10)을 다음과 같이 쓰면

그러면 우리는 다음을 갖게 될 것입니다:

.

여기에서 1시에 엑스따라서 식 (12)에 대한 반복 프로세스는 빠르게 수렴됩니다. 방정식 방법세그먼트를 반으로 나누기 ... 형식의 메모리에서 단순한변수. 이 결과... 반복) 실수 유형; d는 Real 유형의 판별식입니다. x1 - 첫 번째 루트 방정식설립하다 방법 솔루션정사각형 방정식 ...

  • 방법뉴턴 솔루션 비선형 방정식

    코스 작업>> 정보학

    ... 행동 양식 솔루션 비선형 방정식많은 다른 행동 양식 솔루션 비선형 방정식, 그 중 일부는 다음과 같습니다. 1) 방법 반복. ~에 결정 비선형 방정식 방법 반복... 공식 방법 단순한 반복 xk+1=g(...

  • 해결책 비선형 방정식 방법반복

    테스트 작업 >> 정보학

    말 계산 규칙 설명 비선형 방정식 방법 반복, 블록다이어그램 뿐만 아니라 방법. 2 실제 구현: ...근 계산 방정식 방법 반복 2.4 전산 실험 - 프로그램 결과의 비교 결정안에...

  • 여러 도함수와 함께 연속적인 함수가 주어집니다. 방정식의 전체 또는 일부 실제 근을 찾는 것이 필요합니다.

    이 작업은 여러 하위 작업으로 나뉩니다. 첫째, 뿌리의 수를 결정하고 그 성질과 위치를 조사하는 것이 필요합니다. 둘째, 근의 대략적인 값을 찾으십시오. 셋째, 우리가 관심을 갖고 있는 뿌리를 선택하고 필요한 정확도로 계산합니다. 첫 번째 및 두 번째 작업은 원칙적으로 분석 또는 그래픽 방법으로 해결됩니다. 방정식 (1)의 실수근만 구하는 경우 함수 값의 테이블을 컴파일하는 것이 유용합니다. 함수가 테이블의 두 인접 노드에서 서로 다른 부호를 갖는 경우 이 노드 사이에는 방정식의 홀수 개수의 근(최소 하나)이 있습니다. 이 노드가 가깝다면 그 사이에 루트가 하나만 있을 가능성이 큽니다.

    발견된 근의 근사값은 다양한 반복 방법을 사용하여 정제할 수 있습니다. 세 가지 방법을 고려해 보겠습니다. 1) 이분법(또는 세그먼트를 반으로 나누는 방법); 2) 단순 반복 방법 및 3) Newton의 방법.

    문제 해결 방법

    이분법

    비선형 방정식 (1)의 근을 찾는 가장 간단한 방법은 반나누기 방법입니다.

    세그먼트에 연속 함수가 주어질 때 세그먼트 끝의 함수 값이 다른 부호를 갖는 경우, 즉 그러면 이것은 이 세그먼트 내에 홀수의 루트가 있음을 의미합니다. 확실히 하자면, 하나의 루트만 갖도록 합시다. 이 방법의 핵심은 각 반복에서 세그먼트 길이를 절반으로 줄이는 것입니다. 세그먼트의 중간을 찾습니다(그림 1 참조). 함수의 값을 계산하고 함수가 부호를 변경하는 세그먼트를 선택합니다. 새 세그먼트를 다시 반으로 나눕니다. 그리고 세그먼트의 길이가 루트를 계산할 때 미리 결정된 오차와 같아질 때까지 이 과정을 계속합니다. 식 (3)에 따른 몇 가지 연속적인 근사의 구성이 그림 1에 나와 있습니다.

    따라서 이분법의 알고리즘은 다음과 같습니다.

    1. 간격과 오차를 설정합니다.

    2. f(a)와 f(b)의 부호가 같으면 근과 정지를 찾을 수 없다는 메시지를 보낸다.

    그림 1.

    3. 그렇지 않으면 c=(a+b)/2를 계산합니다.

    4. f(a)와 f(c)의 부호가 다르면 b=c, 그렇지 않으면 a=c로 지정합니다.

    5. 새 세그먼트의 길이인 경우 루트 c=(a+b)/2의 값을 계산하고 중지하고 그렇지 않으면 3단계로 이동합니다.

    N 단계에서 세그먼트의 길이가 2 N배로 줄어들기 때문에 루트를 찾는 데 주어진 오류는 반복에서 도달하게 됩니다.

    알 수 있듯이 수렴율은 낮지만 반복 과정의 단순성과 무조건 수렴이 이 방법의 장점입니다. 세그먼트에 둘 이상의 루트(그러나 홀수)가 포함되어 있으면 항상 하나가 발견됩니다.

    논평. 근이 있는 구간을 결정하려면 분석적 추정치 또는 그래픽 솔루션 방법의 사용을 기반으로 함수에 대한 추가 분석이 필요합니다. 함수 부호 변경 조건이 충족될 때까지 다른 지점에서 함수 값 검색을 구성하는 것도 가능합니다.

    비선형 방정식의 근 찾기

    교과 과정

    컴퓨터 과학, 사이버네틱스 및 프로그래밍

    수치 방법을 구현하는 순서도 - 이분법 방법의 경우: 코드 방법의 순서도: Newton 방법의 순서도: 프로그램 목록 단위 Unit1; interfce는 Windows 메시지를 사용합니다. SysUtils Vrints Clsses Grphics Controls Forms Dilogs TeEngine Series ExtCtrls TeeProcs Chrt 메뉴 OleCtnrs StdCtrls xCtrls OleCtrls VCF1 Mth; 유형 TForm1 = clssTForm GroupBox1: TGroupBox; OleContiner2: TOleContiner; MinMenu1: TMinMenu; N1: TMenuItem; Chrt1: TChrt; 시리즈1:...

    석유 및 가스의 러시아 주립 대학. 그들을. 굽키나

    정보학과

    코스 작업

    "정보학"분야에서.

    주제: " 비선형 방정식의 근 찾기 "

    완료: 학생

    마네포바 A.M

    그룹: GI-12-05

    확인됨:

    모스크바 2013


    코스 작업에 대한 할당.


    비선형 방정식의 근을 찾는 이론. 사용된 수치 방법에 대한 설명입니다.

    1. 반분할 방식(이분법)

    2. 화음의 방법

    3. 뉴턴의 방법

    수학 패키지 Mat lab에서의 계산


    MS Excel에서 방정식의 근의 근사값을 계산한 결과를 보고합니다.

    매개변수 선택을 사용한 계산 결과


    솔루션 검색을 사용한 계산 결과


    Delphi 환경에서 생성된 애플리케이션에 대한 설명입니다.


    블록 - 수치 방법을 구현하는 체계

    프로그램 목록


    애플리케이션 창 이미지


    결과 분석


    문학.


    코스 작업에 대한 할당.

    1. 계산 수학 패키지에서 완료 Matlab(Mathematica 5 .) (비선형 방정식, 그래프, 기호 및 숫자 형식의 솔루션을 설명하기 위한 함수 파일).
    2. 발견 스프레드시트의 비선형 방정식의 근 MS 엑셀 (비선형 방정식의 일종, 비선형 방정식의 근을 찾기 위한 그래프, 조건부 분석 도구를 사용하여 비선형 방정식의 근을 찾기: "매개변수 선택", "해법 찾기").
    3. 애플리케이션 만들기 비선형 방정식의 근을 찾기 위해델파이 환경에서 (비선형 방정식의 일종, 주어진 간격에 대한 그래프, 방법별: 주어진 간격으로 함수를 주어진 단계로 도표화한 결과, 수치적 방법의 각 방법에 대해, 매개변수 전달이 있는 사용자 서브루틴) . 결과는 테이블 형식과 파일 형식으로 양식에 표시됩니다. 값의 정확도 변경 제공(E<= 0 , 001).
    4. 일종의 방정식


    비선형 방정식의 근을 찾는 이론. 사용된 수치 방법에 대한 설명입니다.

    기능을 보자 , 이는 여러 파생 상품과 함께 연속적입니다. 방정식의 전체 또는 일부 실제 근을 찾는 것이 필요합니다.

    .
    이 작업은 여러 하위 작업으로 나뉩니다. 먼저 루트의 수를 결정하고 탐색해야 합니다.캐릭터 위치. 둘째, 근의 대략적인 값을 찾으십시오. 셋째, 그들로부터 우리에게 관심의 뿌리를 선택하고 필요한 정확도로 계산하십시오. e. 첫 번째 및 두 번째 작업은 원칙적으로 분석 또는 그래픽 방법으로 해결됩니다. 방정식의 실제 근만 검색하는 경우 값의 테이블을 만드는 것이 유용합니다.기능 . 인접한 두 노드에 있는 경우테이블 함수의 부호가 다르면 이 노드 사이에 방정식의 근(최소 하나)이 홀수개 있습니다. 이 노드가 가깝다면 그 사이에 루트가 하나만 있을 가능성이 큽니다.
    발견된 근의 근사값은 다양한 반복 방법을 사용하여 정제할 수 있습니다.

    세 가지 방법을 고려하십시오. 1) 이분법(또는 세그먼트를 반으로 나누는 방법); 2) 단순 반복 방법 및 3) 방법뉴턴.

    1. 반분할 방식(이분법)


    간격에 연속 함수가 주어집니다.세그먼트 끝의 함수 값이 다른 부호를 갖는 경우, 즉그러면 이것은 이 세그먼트 내에 홀수의 루트가 있음을 의미합니다. 확실히 하자면, 하나의 루트만 갖도록 합시다. 이 방법의 핵심은 각 반복에서 세그먼트 길이를 절반으로 줄이는 것입니다. 다음 공식에 따라 세그먼트의 중간점을 찾습니다.우리는 함수의 값을 계산합니다기능이 있는 세그먼트를 선택합니다.기호를 변경 . 새 세그먼트를 다시 반으로 나눕니다. 그리고 이것프로세스 세그먼트의 길이가 루트 E를 계산할 때 미리 결정된 오류와 같을 때까지 계속합니다.

    2. 화음의 방법

    현법으로 비선형 방정식을 풀 때 해가 하나만 있는 구간 , 정확도 Ɛ가 지정됩니다. 그런 다음 좌표가 (a, F(a)) 및 (b, F(b))인 두 점을 통해 직선 세그먼트(현)를 그리고 가로축과 이 선의 교차점을 결정합니다. 동시에 그들은 F(a) * F(b)를 먹었다.<0, то праву границу интервала пееносиим в точку x (b=x). Если указанное условие не выполняется, то в точку 엑스 간격의 왼쪽 경계가 전송됩니다(a=x). 지정된 정확도 |F(x)|>Ɛ에 도달하면 솔루션 검색이 중지됩니다. 부등식이 충족될 때까지 계산이 수행됩니다.. 코드 방법의 반복 공식은 다음과 같은 형식을 갖습니다.

    3. 뉴턴의 방법

    방정식을 수치적으로 풀기 위해단순 반복 방법, 다음 형식으로 줄여야 합니다., 어디 - 수축 매핑.

    최고의 수렴을 위해 다음 근사점에서의 방법조건이 충족되어야 합니다. 이 방정식의 해는 다음 형식으로 구합니다., 그 다음에:

    접근 지점이 루트에 "충분히 가깝다"고 가정합니다., 그리고 주어진 기능마디 없는 , 최종 공식이다:

    이를 염두에 두고 기능 다음 식으로 정의됩니다.

    이 함수는 루트 근처에서 수축 매핑을 수행합니다., 방정식에 대한 수치적 해를 찾기 위한 알고리즘반복적인 계산 절차로 축소:

    수학 패키지의 계산매트 랩

    수학적 패키지에서는 과제의 조건에 따라 함수의 그래프를 작성하고 기호해(해결하다 ) 내장 함수를 사용하여 수치적으로: fzero와 fsolve . 내 기능을 설명하기 위해 함수 파일을 사용했습니다.

    다음 그림은 함수의 그래프를 보여줍니다.


    명령을 작성하는 데 사용
    M 파일:


    명령 창에서 다음과 같은 결과를 얻었습니다.

    r 1 =

    r2 =

    3 =

    r4 =

    8.0000

    r5 =

    7.9979 -8.0000


    MS Excel에서 방정식의 근의 근사값을 계산한 결과를 보고합니다.

    MS 엑셀 방정식 루트의 대략적인 값 계산은 내장 옵션 "매개변수 선택" 및 "솔루션 검색"을 사용하여 수행되었습니다. 초기 근사값을 선택하기 위해 이전에 다이어그램을 작성했습니다.

    매개변수 선택을 사용한 계산 결과

    엑스 =-9(차트 기준)

    Parameter Selection을 사용한 결과 루트를 찾았습니다. x = -8.01.


    솔루션 검색을 사용한 계산 결과

    초기 근사값으로 선택했습니다.엑스 =-9(차트 기준)


    실행 후 다음과 같은 결과를 얻었다.

    해결책을 찾는 것은 나에게 의미를 주었다 x = -8.00002


    Delphi 환경에서 생성된 애플리케이션에 대한 설명입니다.

    환경에서 애플리케이션을 생성할 때델파이 인터페이스는 함수 및 그래프 형식의 출력을 제공했습니다. 비선형 방정식의 근을 찾는 것은 이분법, 코드 방법 및 뉴턴 방법의 세 가지 방법을 사용하여 구현되었습니다. 계산과 달리뛰어나다 , 매개변수 선택 및 솔루션 검색을 사용하여 근을 찾은 경우 프로그램은 사용자의 계산 정확도 입력을 제공합니다. 계산 결과는 응용 프로그램 창과 텍스트 파일 모두에 표시됩니다.


    블록 - 수치 방법을 구현하는 체계

    이분법의 순서도:


    코드 방법의 순서도:


    Newton의 방법에 대한 순서도:

    프로그램 목록

    유닛 유닛 1;

    상호 작용

    용도

    Windows, 메시지, SysUtils, 변형, 클래스, 그래픽, 컨트롤, 양식,

    대화 상자, TeEngine, 시리즈, ExtCtrls, TeeProcs, 차트, 메뉴, OleCtnrs,

    StdCtrls, AxCtrls, OleCtrls, VCF1, Math;

    유형

    TForm1 = 클래스(TForm)

    그룹박스1: T그룹박스;

    OleContainer2: TOleContainer;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    차트1: T차트;

    시리즈1: TPoint 시리즈;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    라벨1: T 라벨;

    편집1: TEdit;

    그룹박스2: T그룹박스;

    그룹박스3: T그룹박스;

    그룹박스4: T그룹박스;

    라벨2: T 라벨;

    라벨3: T 라벨;

    편집2: TEdit;

    편집3: TEdit;

    편집4: TEdit;

    라벨4: T 라벨;

    편집5: TEdit;

    라벨5: T 라벨;

    편집7: TEdit;

    라벨7: T 라벨;

    F1Book1: TF1Book;

    F1Book2: TF1Book;

    F1Book3: TF1Book;

    F1Book4: TF1Book;

    절차 N1Click(발신자: TObject);

    절차 N3Click(보낸 사람: TObject);

    프로시저 FormCreate(발신자: TObject);

    절차 N4Click(보낸 사람: TObject);

    절차 N5Click(발신자: TObject);

    사적인

    (비공개 선언)

    공공의

    (공개 선언)

    끝;

    상수

    xmin:실수=-20;

    xmax:실수=20;

    Form1: TForm1;

    X,y,t,a,b,cor:실수;

    I,n:정수;

    실패:텍스트 파일;

    구현

    ($R *.dfm)

    함수 f(x:실제):실제;

    시작하다

    f:=(8+x)/(x*sqrt(sqr(x)-4));

    끝;

    함수 f1(x:실제):실제;

    시작하다

    f1:=(-power(x,3)-16*x*x+32)/(x*X*sqrt(power(x*x-4,3)));

    끝;

    절차 metoddix(ta,tb,eps:real;var xk:real;var kolvo: integer);

    시작하다

    숫자:=0;

    반복하다

    xk:=(ta+tb)/2;

    콜보:=콜보+1;

    Form1.F1book1.NumberRC:=xk;

    Form1.F1book1.NumberRC:=f(xk);

    f(ta)*f(xk)인 경우<0 then tb:=xk

    다른:=xk;

    (abs(f(xk))까지<=eps);

    끝;

    절차 metodhord(ta,tb,eps:real;var xk:real;var kolvo: integer);

    시작하다

    숫자:=0;

    반복하다

    xk:= ta-f(ta)*(ta-tb)/(f(ta)-f(tb));

    콜보:=콜보+1;

    Form1.F1book2.NumberRC:=xk;

    Form1.F1book2.NumberRC:=f(xk);

    f(ta)*f(xk)인 경우<0 then tb:=xk

    다른:=xk;

    (abs(f(xk))까지<=eps);

    끝;

    절차 metodnyutona(ta,eps:real;var xk:real;var kolvo: integer);

    시작하다

    숫자:=0;

    반복하다

    xk:= ta-f(ta)/f1(ta);

    타:=xk;

    콜보:=콜보+1;

    Form1.F1book3.NumberRC:=xk;

    Form1.F1book3.NumberRC:=f(xk);

    (abs(f(xk))까지<=eps);

    끝;

    절차 TForm1.N1Click(발신자: TObject);

    시작하다

    x:=xmin;

    나는:=0;

    동안 x<=xmax do

    시작하다

    abs(x)>5이면

    시작하다

    나:=i+1;

    Y:=f(x);

    시리즈1.Addxy(x,y);

    F1book4.NumberRC:=x;

    F1book4.NumberRC:=y;

    끝;

    x:=x+0.5;

    끝;

    끝;

    절차 TForm1.N3Click(발신자: TObject); // //반 나누기 방법에 의한 근의 계산

    시작하다

    F1book1.ClearRange(1,1,100,2,3);

    t:=strtofloat(편집1.텍스트);

    a:=strtofloat(Edit2.Text);

    b:=strtofloat(Edit3.Text);

    메토딕스(a, b, t, cor, n);

    F1book4.TextRC:=" 이분법 ";

    F1book4.TextRC:="루트=";

    F1book4.NumberRC:=cor;

    F1book4.TextRC:="y=";

    F1book4.NumberRC:=f(cor);

    F1book4.TextRC:=" 반복 횟수 =";

    F1book4.NumberRC:=n;

    추가(실패);

    writeln(실패);

    Writeln(실패," 이분법 계산 ");

    닫기 파일(실패);

    끝;

    절차 TForm1.FormCreate(발신자: TObject);

    시작하다

    Assignfile(실패, "보고서 .txt");

    다시 쓰기(실패);

    닫기 파일(실패);

    끝;

    절차 TForm1.N4Click(발신자: TObject); // //화음 방법에 의한 근의 계산

    시작하다

    F1book2.ClearRange(1,1,100,2,3);

    t:=strtofloat(편집1.텍스트);

    a:=strtofloat(Edit5.Text);

    b:=strtofloat(Edit4.Text);

    메토호드(a, b, t, cor, n);

    F1book4.TextRC:=" 코드 ";

    F1book4.TextRC:="루트=";

    F1book4.NumberRC:=cor;

    F1book4.TextRC:="y=";

    F1book4.NumberRC:=f(cor);

    F1book4.TextRC:=" 반복 횟수 =";

    F1book4.NumberRC:=n;

    Assignfile(실패, "보고서 .txt");

    추가(실패);

    writeln(실패);

    Writeln(실패," 화음법에 의한 계산 ");

    writeln(fail,"계산 정확도 = ",t:10:7);

    Writeln(fail,"초기 추측:a = ",a:8:3," b = ",b:8:3);

    writeln(fail, "루트를 찾았습니다. : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

    writeln(fail, "반복 횟수 = ",n);

    닫기 파일(실패);

    끝;

    절차 TForm1.N5Click(발신자: TObject); // //뉴턴의 방법에 의한 근의 계산

    시작하다

    F1book3.ClearRange(1,1,100,2,3);

    t:=strtofloat(편집1.텍스트);

    a:=strtofloat(Edit7.Text);

    방법뉴토나(a,t,cor,n);

    F1book4.TextRC:="뉴턴";

    F1book4.TextRC:="루트=";

    F1book4.NumberRC:=cor;

    F1book4.TextRC:="y=";

    F1book4.NumberRC:=f(cor);

    F1book4.TextRC:=" 반복 횟수 =";

    F1book4.NumberRC:=n;

    Assignfile(실패, "보고서 .txt");

    추가(실패);

    writeln(실패);

    Writeln(실패," 뉴턴의 방법에 의한 계산 ");

    writeln(fail,"계산 정확도 = ",t:10:7);

    Writeln(fail,"초기 추측:a = ",a:8:3," b = ",b:8:3);

    writeln(fail, "루트를 찾았습니다. : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

    writeln(fail, "반복 횟수 = ",n);

    닫기 파일(실패);

    끝;

    끝.


    애플리케이션 창 이미지

    초기 인터페이스는 다음과 같습니다.

    에 대한 계산을 수행한 후이자형<= 0,001:

    보고서로는 "Report. txt":


    결과 분석

    수학 패키지의 코스 작업에 대한 작업에 따라 비선형 방정식의 루트를 찾았습니다 (엑스 =-8) 및 플롯.

    스프레드시트에서 "매개변수 선택"과 "해법 검색"이라는 두 가지 기본 제공 옵션을 사용하여 방정식의 근원을 찾았지만 "해법 검색"은 여전히 ​​더 정확한 값을 제공했습니다. 의 결과와 거의 일치했다.매트랩.

    환경에서 뿌리를 찾으려면델파이 사용자는 키보드에서 계산의 정확도를 입력할 수 있습니다. 프로그램을 테스트한 결과 동일한 주어진 계산 정확도에 대해 Newton의 방법은 더 적은 수의 반복으로 원하는 값을 찾는 것으로 나타났습니다.

    따라서 계산은 다른 매체에서 비선형 방정식을 푸는 것이 가능함을 보여주었습니다. 가장 힘든 계산은 환경에서 밝혀졌습니다.델파이.


    문학.

    1. 아모소프 A.A. 및 엔지니어를 위한 기타 계산 방법, Moscow, Vysshaya Shkola, 1994.
    2. 파로노프 V.V. 델파이. 고급 언어로 프로그래밍

    삼 . 발켄바흐 D . 마이크로소프트 오피스 엑셀 2007.사용자 성경

    볼코프 V.B. 직관적인 Excel 2010 자습서

    비선형 방정식의 근을 찾는 문제를 고려하십시오.

    방정식 (1)의 근은 대체할 때 이를 항등식으로 바꾸는 x의 값입니다. 가장 간단한 방정식에 대해서만 공식 형태의 솔루션을 찾는 것이 가능합니다. 분석적 형태. 더 자주 대략적인 방법으로 방정식을 푸는 것이 필요하며 그 중 컴퓨터의 출현과 관련하여 가장 널리 퍼진 것은 수치적 방법입니다.

    근사 방법으로 근을 찾는 알고리즘은 두 단계로 나눌 수 있습니다. 먼저 뿌리의 위치를 ​​​​연구하고 분리를 수행합니다. 방정식의 근 또는 근 x 0 에 대한 초기 근사치가 있는 영역이 있습니다. 이 문제를 해결하는 가장 간단한 방법은 함수 f(x) 의 그래프를 연구하는 것입니다. 일반적으로 이를 풀기 위해서는 수학적 분석의 모든 수단을 동원할 필요가 있다.

    방정식 (1)의 적어도 하나의 근의 발견된 간격에 존재는 Bolzano 조건에서 따릅니다.

    f(a)*f(b)<0 (2)

    또한 함수 f(x)가 주어진 간격에서 연속적이라고 가정합니다. 그러나 이 조건은 주어진 구간에서 방정식의 근 수에 대한 질문에 답하지 않습니다. 기능의 연속성에 대한 요구 사항이 단조성의 요구 사항으로 보완되고 이것이 1차 도함수의 부호 불변성에서 비롯된 경우 주어진 세그먼트에 고유한 루트의 존재를 주장할 수 있습니다.

    근을 지역화할 때 이러한 유형의 방정식의 기본 속성을 아는 것도 중요합니다. 예를 들어, 대수 방정식의 몇 가지 속성을 생각해 보십시오.

    실수 계수는 어디에 있습니까?

    • a) 차수가 n인 방정식은 n개의 근을 가지며, 그 중 실수와 복소수가 모두 있을 수 있습니다. 복소수 근은 복소수 켤레 쌍을 형성하므로 방정식은 그러한 근의 개수가 짝수입니다. n의 홀수 값에 대해 적어도 하나의 실수근이 있습니다.
    • b) 양의 실수근의 수는 계수 시퀀스의 변수 기호 수보다 작거나 같습니다. 식 (3)에서 x를 -x로 바꾸면 같은 방식으로 음의 근의 수를 추정할 수 있습니다. 반복 뉴턴 이분법 비선형

    식 (1)을 푸는 두 번째 단계에서 얻은 초기 근사값을 사용하여 미리 결정된 정확도로 근의 값을 미세 조정할 수 있는 반복 프로세스가 구성됩니다. 반복 프로세스는 초기 근사치의 연속적인 개선으로 구성됩니다. 이러한 각 단계를 반복이라고 합니다. 반복 프로세스의 결과로 방정식의 근에 대한 대략적인 값의 시퀀스가 ​​발견됩니다. 이 시퀀스가 ​​n이 증가함에 따라 루트 x의 실제 값에 접근하면 반복 프로세스가 수렴됩니다. 반복 프로세스는 다음 조건이 충족되는 경우 최소 차수 m으로 수렴한다고 합니다.

    여기서 С>0은 상수입니다. m=1이면 1차 수렴을 말합니다. m=2 - 약 2차, m=3 - 약 3차 수렴.

    주어진 허용 오차에 대해 절대 또는 상대 편차 기준이 충족되면 반복 주기가 종료됩니다.

    또는 잔차의 작음:

    이 작업은 Newton의 방법을 사용하여 비선형 방정식을 푸는 알고리즘의 연구에 전념합니다.

    방법 아이디어입니다.변수 중 하나가 다른 변수로 가장 간단하게 표현되는 방정식이 선택됩니다. 이 변수에 대한 결과 표현식은 시스템의 나머지 방정식으로 대체됩니다.

    1. b) 다른 방법과의 조합.

    방법 아이디어. 해의 초기 단계에서 직접대입법을 적용할 수 없는 경우 등가계 변환(항 덧셈, 뺄셈, 곱셈, 나눗셈에 의한 항)을 사용한 후 직접 대입을 수행한다.

    2) 방정식 중 하나의 독립 솔루션 방법.

    방법 아이디어. 시스템에 상호 역 식이 발견되는 방정식이 포함되어 있으면 새 변수가 도입되고 이에 대해 방정식이 해결됩니다. 그런 다음 시스템은 여러 간단한 시스템으로 나뉩니다.

    연립방정식 풀기

    시스템의 첫 번째 방정식을 고려하십시오.

    t ≠ 0인 경우, 우리는 다음을 얻습니다.

    여기서 t 1 = 4, t 2 = 1/4입니다.

    이전 변수로 돌아가서 두 가지 경우를 고려하십시오.

    방정식 4y 2 - 15y - 4 \u003d 0의 근은 y 1 \u003d 4, y 2 \u003d - 1/4입니다.

    방정식 4x 2 + 15x - 4 \u003d 0의 근은 x 1 \u003d - 4, x 2 \u003d 1/4입니다.

    3) 더 간단한 시스템의 통합으로 시스템의 축소.

    1. ) 공약수를 빼서 인수분해.

    방법 아이디어입니다.방정식 중 하나에 공통 요인이 있으면이 방정식은 요인으로 분해되고 표현식의 평등을 0으로 고려하여 더 간단한 시스템을 해결합니다.

    1. ) 동차 방정식의 해를 통한 인수분해.

    방법 아이디어입니다.방정식 중 하나가 동차 방정식이면 (, 변수 중 하나에 대해 풀면 다음과 같이 인수분해합니다. a (x-x 1) (x-x 2) 그리고 표현식의 동등성이 0으로 주어지면 , 우리는 더 간단한 시스템을 해결하기 위해 진행합니다.

    첫 번째 시스템을 해결하자

    1. ) 균질성 사용.

    방법 아이디어입니다.시스템에 변수의 곱인 식이 있는 경우 대수 덧셈 방법을 사용하여 동차 방정식을 얻은 다음 동차 방정식의 해를 통해 인수분해 방법을 사용합니다.

    4) 대수 덧셈의 방법.

    방법 아이디어입니다.방정식 중 하나에서 미지수 중 하나를 제거합니다. 이를 위해 변수 중 하나에 대한 계수 모듈을 균등화한 다음 방정식의 항별 덧셈 또는 뺄셈을 수행합니다.

    5) 방정식의 곱셈 방법.

    방법 아이디어입니다.방정식 중 하나의 두 부분이 동시에 사라지는 쌍(x; y)이 없는 경우 이 방정식은 시스템의 두 방정식의 곱으로 대체될 수 있습니다.

    시스템의 두 번째 방정식을 풀자.

    = t라고 하면 4t 3 + t 2 -12t -12 = 0이 됩니다. 다항식 루트 정리의 결과를 적용하면 t 1 = 2가 됩니다.

    Р(2) = 4∙2 3 + 2 2 - 12∙2 - 12 = 32 + 4 - 24 - 12 = 0. 무한 계수 방법을 사용하여 다항식의 차수를 낮춥니다.

    4t 3 + t 2 -12t -12 = (t - 2) (2 + bt + c에서).

    4t 3 + t 2 -12t -12 = at 3 + bt 2 + ct - 2at 2 -2bt - 2c.

    4t 3 + t 2 - 12t -12 = at 3 + (b - 2a) t 2 + (c -2b) t - 2c.

    D = 9 2 - 4∙4∙6 = -15이므로 근이 없는 방정식 4t 2 + 9t + 6 = 0을 얻습니다.<0.

    변수 y로 돌아가면 = 2이고 y = 4입니다.

    대답. (1;4).

    6) 방정식의 나눗셈 방법.

    방법 아이디어입니다.방정식 중 하나의 두 부분이 동시에 사라지는 쌍(x; y)이 없는 경우 이 방정식은 시스템의 한 방정식을 다른 방정식으로 나누어 얻은 방정식으로 대체할 수 있습니다.

    7) 새로운 변수를 도입하는 방법.

    방법 아이디어입니다.원래 변수의 일부 표현식은 새 변수로 사용되므로 이러한 변수의 원래 표현식보다 시스템이 더 단순해집니다. 새 변수를 찾은 후에는 원래 변수의 값을 찾아야 합니다.

    이전 변수로 돌아가면 다음이 있습니다.

    우리는 첫 번째 시스템을 해결합니다.

    8) 비에타 정리의 적용.

    방법 아이디어입니다.시스템이 이러한 방식으로 구성되면 방정식 중 하나는 합으로 표시되고 두 번째는 일부 이차 방정식의 근인 숫자의 곱으로 표시되며 Vieta 정리를 사용하여 이차 방정식을 작성하고 풉니다. .

    대답. (1;4), (4;1).

    대입은 대칭 시스템을 푸는 데 사용됩니다. x + y = a; xy = 인 대칭 시스템을 풀 때 다음 변환이 사용됩니다.

    x 2 + y 2 \u003d (x + y) 2 - 2xy \u003d a 2 - 2c; x 3 + y 3 \u003d (x + y) (x 2 - xy + y 2) \u003d a (a 2 -3c);

    x 2 y + xy 2 \u003d xy (x + y) \u003d av; (x + 1) ∙ (y + 1) \u003d xy + x + y + 1 \u003d a + b + 1;

    대답. (1;1), (1;2), (2;1).

    10) "경계 문제".

    방법 아이디어입니다.시스템의 솔루션은 정의 영역의 구조 또는 함수 값 집합, 이차 방정식의 판별 기호에 대한 연구와 관련된 논리적 추론을 통해 얻습니다.

    이 시스템의 특징은 변수의 수가 방정식의 수보다 많다는 것입니다. 비선형 시스템의 경우 이러한 기능은 종종 "경계 문제"의 표시입니다. 방정식 유형에 따라 시스템의 첫 번째 및 두 번째 방정식 모두에서 발생하는 함수 값 세트를 찾으려고 노력할 것입니다. x 2 + 4 ≥ 4이므로 첫 번째 방정식은 다음과 같습니다.

    답은 (0;4;4), (0;-4;-4)입니다.

    11) 그래픽 방식.

    방법 아이디어. 하나의 좌표계에서 함수의 그래프를 작성하고 교차점의 좌표를 찾으십시오.

    1) 시스템의 첫 번째 방정식을 y \u003d x 2 형식으로 다시 작성하면 방정식의 그래프가 포물선이라는 결론에 도달합니다.

    2) 시스템의 두 번째 방정식을 y \u003d 2 / x 2 형식으로 다시 작성하면 방정식의 그래프가 쌍곡선이라는 결론에 도달합니다.

    3) 포물선과 쌍곡선은 점 A에서 교차합니다. 포물선의 오른쪽 가지는 증가 함수의 그래프 역할을 하고 쌍곡선의 오른쪽 가지는 감소하는 그래프이기 때문에 교차점이 하나뿐입니다. 구성된 기하학적 모델로 판단하면 점 A의 좌표는 (1; 2)입니다. 검증 결과 (1;2) 쌍이 시스템의 두 방정식에 대한 해임을 알 수 있습니다.