Расчетно-графическая работа
§1. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ.
1п. Общий вид нелинейного уравнения
F(x)=0
Нелинейные уравнения могут быть двух видов
Алгебраические anxn + an-1xn-1 +… + a0 = 0
Трансцендентные- это уравнения в которых х является аргументом тригонометрической, логарифмической или показательной функции.
Значение х0 при котором существует равенство f(x0)=0 называется корнем уравнения.
В общем случае для произвольной F(x) не существует аналитических формул определения корней уравнения. Поэтому большое значение имеют методы, которые позволяют определить значение корня с заданной точностью. Процесс отыскания корней делиться на два этапа
Отделение корней, т.е. определение отрезка содержащего один корень.
Уточнение корня с заданной точностью.
Для первого этапа нет формальных методов, отрезки определяются или табуляцией или исходя из физического смысла или аналитическими методами.
Второй этап, уточнение корня выполняется различными итерационными методами, суть которых в том, что строится числовая последовательность xi сходящихся к корню x0
Выходом из итерационного процесса являются условия
│f(xn)│≤ε
│xn-xn-1│≤ε
рассмотрим наиболее употребляемые на практике методы дихотомии, итерации и касательных.
2 п. Метод половинного деления.
Дана монотонная, непрерывная функция f(x), которая содержит корень на отрезке [a,b], где b>a. Определить корень с точностью ε, если известно, что f(a)*f(b)<0
Суть метода
Данный отрезок [a,b] делится пополам, т.е. определяется x0=(a+b)/2, получается два отрезка [a,x0] и [x0,b], далее выполняется проверка знака на концах, полученных отрезков для отрезка, имеющего условия f(a)*f(x0)≤0 или f(x0)*f(b)≤0 снова проводится деление пополам координатой х, снова выделение нового отрезка и так продолжается процесс до тех пор пока │xn-xn-1│≤ε
Приведем ГСА для данного метода
3п. Метод итерации.
Дана непрерывная функция f(x), которая содержит единственный корень на отрезке [a,b], где b>a. Определить корень с точностью ε.
Суть метода
Дано f(x)=0 (1)
Заменим уравнение (1) равносильным уравнением x=φ(x) (2). Выберем грубое, приближенное значение x0 , принадлежащее[a,b], подставим его в правую часть уравнения (2), получим
x1= φ(x0) (3) , далее подставим х1 в правую часть уравнения (3) получим x2= φ(x1) (4)x3= φ(x2) (5)
Проделаем данный процесс n раз получим xn=φ(xn-1)
Если эта последовательность является сходящейся т.е. существует предел
x* =lim xn , то данный алгоритм позволяет определить искомый корень.
Выражение (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 раз
Если процесс сходящийся то xn можно принять за искомое значение корняУсловиями сходимости являются
│f(xn)│≤ε
│xn-xn-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=11x=2,29566 S=2x=2,29754 D=2где T,S,D-число итерации для метода половинного деления, итерации, касательных соответственно.
«