Расчетно-графическая работа (работа 1)

§1. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ.

1п. Общий вид нелинейного уравнения

F(x)=0

Нелинейные уравнения могут быть двух видов:

    Алгебраические
    a>n>xn + a>n-1>xn-1 +… + a>0 >= 0

    Трансцендентные- это уравнения в которых х является аргументом тригонометрической, логарифмической или показательной функции.

Значение х>0> при котором существует равенство f(x>0>)=0 называется корнем уравнения.

В общем случае для произвольной F(x) не существует аналитических формул определения корней уравнения. Поэтому большое значение имеют методы, которые позволяют определить значение корня с заданной точностью. Процесс отыскания корней делиться на два этапа:

    Отделение корней, т.е. определение отрезка содержащего один корень.

    Уточнение корня с заданной точностью.

Для первого этапа нет формальных методов, отрезки определяются или табуляцией или исходя из физического смысла или аналитическими методами.

Второй этап, уточнение корня выполняется различными итерационными методами, суть которых в том, что строится числовая последовательность x>i> сходящихся к корню x>0>

Выходом из итерационного процесса являются условия:

    │f(x>n>)│≤ε

    │x>n>-x>n-1>│≤ε

рассмотрим наиболее употребляемые на практике методы: дихотомии, итерации и касательных.

2 п. Метод половинного деления.

Дана монотонная, непрерывная функция f(x), которая содержит корень на отрезке [a,b], где b>a. Определить корень с точностью ε, если известно, что f(a)*f(b)<0

Суть метода

Данный отрезок [a,b] делится пополам, т.е. определяется x>0>=(a+b)/2, получается два отрезка [a,x>0>] и [x>0>,b], далее выполняется проверка знака на концах, полученных отрезков для отрезка, имеющего условия f(a)*f(x>0>)≤0 или f(x>0>)*f(b)≤0 снова проводится деление пополам координатой х, снова выделение нового отрезка и так продолжается процесс до тех пор пока │x>n>-x>n-1>│≤ε

Приведем ГСА для данного метода





3п. Метод итерации.

Дана непрерывная функция f(x), которая содержит единственный корень на отрезке [a,b], где b>a. Определить корень с точностью ε.

Суть метода

Дано f(x)=0 (1)

Заменим уравнение (1) равносильным уравнением x=φ(x) (2). Выберем грубое, приближенное значение x>0> , принадлежащее[a,b], подставим его в правую часть уравнения (2), получим:

x>1>= φ(x>0>) (3) , далее подставим х>1 > >правую часть уравнения (3) получим:
x>2>= φ(x>1>) (4)
x>3>= φ(x>2>) (5)

Проделаем данный процесс n раз получим x>n>=φ(x>n-1>)

Если эта последовательность является сходящейся т.е. существует предел

x* =lim x>n> , то данный алгоритм позволяет определить искомый корень.

Выражение (5) запишем как x*= φ(x*) (6)
Выражение (6) является решением выражения (2), теперь необходимо рассмотреть в каких случаях последовательность х>1>…х>n> является сходящейся.
Условием сходимости является если во всех токах x принадлежит [a,b] выполняется условие:

Приведем ГСА для метода итерации:

4 п. Метод касательных (Ньютона).

Дана непрерывная функция f(x), которая содержит единственный корень на отрезке [a,b], где b>a при чем определены непрерывны и сохраняют знак f`(x) f``(x). Определить корень с точностью ε.

Суть метода

    Выбираем грубое приближение корня х>0> (либо точку a, либо b)

    Наити значение функции точке х>0> и провести касательную до пересечения с осью абсцисс, получим значение х>1>

    О
    пределить значение функции в точке х>1>, через эту точку провести касательную получим точку х>2>

    П
    овторим процесс n раз

Е
сли процесс сходящийся то x>n> можно принять за искомое значение корня
Условиями сходимости являются:

│f(x>n>)│≤ε

│x>n>-x>n-1>│≤ε

Приведем ГСА метода касательных:

5п. Задание для РГР

Вычислить корень уравнения

На отрезке [2,3] с точностью ε=10-4 методами половинного деления, итерации, касательных.

6 п. Сравнение методов

Эффективность численных методов определяется их универсальностью, простотой вычислительного процесса, скоростью сходимости.

Наиболее универсальным является метод половинного деления, он гарантирует определение корня с заданной точностью для любой функции f(x), которая меняет знак на [a,b]. Метод итерации и метод Ньютона предъявляют к функциям более жесткие требования, но они обладают высокой скоростью сходимости.

Метод итерации имеет очень простой алгоритм вычисления, он применим для пологих функций.
Метод касательных применим для функций с большой крутизной, а его недостатком является определение производной на каждом шаге.

ГСА головной программы, методы оформлены подпрограммами.

Программа по методам половинного деления, итерации и метода Ньютона.

CLS  

a = 2: b = 3: E = .0001

DEF FNZ (l) = 3 * SIN(SQR(l)) + .35 * l - 3.8

F1 = FNZ(a): F2 = FNZ(b)

IF F1 * F2 > 0 THEN PRINT "УТОЧНИТЬ КОРНИ": END

GOsub> 1

x0 = a

IF ABS((-3 * COS(SQR(x))) / (.7 * SQR(x))) > 1 THEN PRINT "НЕ СХОДИТСЯ"

DEF FNF (K) = -(3 * SIN(SQR(x)) - 3.8) / .35

GOsub> 2

x0 = b

F = FNZ(x0)

DEF FND (N) = (3 * COS(SQR(N)) / (2 * SQR(N))) + .35 _
IF F * (-4.285 * (-SQR(x0) * SIN(SQR(x)) - COS(SQR(x))) / (2 * x * SQR(x))) < then print “не сходится”:end

GOsub> 3

END

'=========Метод половинного деления========

1 x = (a + b) / 2: T = T + 1

F3 = FNZ(x)

IF ABS(F3) < E THEN 5

IF F1 * F3 < 0 THEN b = x ELSE a = x

IF ABS(b - a) > E THEN 1  

5 PRINT "X="; x, "T="; T

RETURN

'=========Метод итерации==========

2 x0 = a

12 X2 = FNF(x0): S = S + 1

IF ABS(X2 - x0) > E THEN x0 = X2: GOTO 12

PRINT "X="; X2, "S="; S

RETURN

'========Метод касательных=======

3 x0 = b

23 D = D + 1
F = FNZ(x0): F1 = FND(x0)

X3 = x0 - F / F1

IF ABS(X3 - x0) < E THEN 100

IF ABS(F) > E THEN x0 = X3: GOTO 23

100 PRINT "X="; X3, "D="; D

RETURN

Ответ
x= 2,29834 T=11
x=2,29566 S=2
x=2,29754 D=2
где T,S,D-число итерации для метода половинного деления, итерации, касательных соответственно.