Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы математического моделирования в системе Maxima. Учебное пособие для студентов агроинженерного факультета по направлению 35.03.06 - «Агроинженер.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
805 Кб
Скачать

32

3. Элементы вычислительной математики

print("Приближенное решение x[", n, "]=",

round((a+b)/2/en)*en)$

Приближенное решение [11] = 0.2169

Начальные определения: «f(x)»––функция, соответствующая правой части уравнения (3.1); «e» –– допустимая погрешность определения корня уравнения (3.1); «a», «b» –– начальные значения абсцисс граничных точек отрезка локализации ¯ [ , ].

После инициализации переменных в цикле «for...while» запускается итерационный процесс бисекции. Условием выхода из цикла является снижение погрешности текущего приближения корня до

уровня 6 .

2

По завершении вычислений на экран выводится искомое приближение корня нелинейного уравнения 11 = 0,2169 с предельной абсолютной погрешностью = 0,0001.

3.2.3. Метод простой итерации

При использовании метода простой итерации исходное уравнение (3.1) преобразуется к виду

= ( ),

(3.2)

где ( ) называется итерационной функцией. В таком случае итерационный процесс строится по формуле

+1

= ( ),

для = 1,2, . . . , .

(3.3)

В качестве критерия остановки процесса простой итерации может быть использована апостериорная оценка погрешности в виде

| −

1

| < 1· ,

где =

max | ( )|.

(3.4)

 

 

 

 

[ , ]

 

 

 

 

 

 

Метод простой итерации сходится в области локализации со скоростью геометрической прогрессии со знаменателем < 1. Это означает,

что при < 1 метод простой итерации будет сходится быстрее, а при

2

> 1 –– медленнее метода бисекции.

2

Пример 3.3. Используя ранее полученные результаты локализации найти с помощью метода простой итерации отрицательный корень

нелинейного уравнения 1

( 1 )3 = 3 2 с погрешностью, не пре-

вышающей = 104.

2

2

3.2. Численное решение нелинейных уравнений

33

Для использования метода простой итерации приведём исходное

уравнение к виду (3.2) = 1

+( 1

3 2 ) 31 , а затем построим графики

2

2

 

левой и правой частей полученного уравнения.

Рис. 3.2. Графики левой и правой частей уравнения =

 

 

 

 

2

 

1

 

1

+ ( 1

3

 

) 3

 

2

2

 

 

= 0

(красные основные линии) и левой части уравнения

1 ( 1 )3 3 2

2

 

2

 

 

 

 

 

 

(чёрная утолщённая линия)

С учётом монотонности итерационной функции ( ) на отрезке локализации [ , ] для оценки достаточно выбрать наибольшее

из значений = max | ( )|.

={ , }

Листинг 3.3. Поиск корня методом простой итерации

(%i1) y(x):=1/2-(x-1/2)^3-exp(-3*x^2)$ f(x):=1/2+(1/2-exp(-3*x^2))^(1/3)$ p(x):=(2*x*exp(-3*x^2))/(1/2-exp(-3*x^2))^(2/3)$

(%i4) plot2d([x,f(x),y(x)], [x,-1/2,3/2], [y,-1/2,5/2])$

(%i5) a:-1/4$ b:0$ n:0$ en:1.E-4$ x0:(a+b)/2$ x1:float(f(x0))$ q:float(lmax(abs([p(a),p(b)])));

(%o11) 0.86972822962442

(%i12) if q>=1 then error("Сходимость отсутствует.") else

34

3. Элементы вычислительной математики

for i:1 while abs(x1-x0)*q/(1-q) > en do (

x0:x1, n:i, x1:float(f(x0)))$

print("Приближенное решение x[", n, "]=",

round(x1/en)*en)$

Приближенное решение [30] = 0.2169

Начальные определения: «f(x)» –– итерационная функция, соответствующая правой части уравнения (3.2); «p(x)» –– первая производная итерационной функции; «q» –– оценка наибольшего значения модуля производной для правой части уравнения (3.2) на отрезке локализации [ , ]; «en» –– допустимая погрешность определения корня уравнения (3.2).

Далее выполняется инициализация переменных и проверяется наличие сходимости к решению, а при значении > 1 процесс завершается. Затем в цикле «for...while» запускается итерационный процесс, где «x0», «x1»–– предшествующее и текущее приближения 1,искомого корня уравнения; «n»–– счётчик выполненных итераций.

Условие остановки итераций состоит в достижении апостериорной оценкой погрешности текущего приближения заданного допусти-

мого уровня | −

1| ·

 

 

> .

1

По завершении вычислений на экран выводится искомое прибли-

жение корня нелинейного уравнения 30 = 0.2169 с предельной абсолютной погрешностью = 0,0001.

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

превышает одну вторую 0,87 > 1 .

2

3.2.4. Метод касательных

Метод касательных (метод Ньютона) относится к одним из наиболее эффективных методов решения нелинейных уравнений вида (3.1). С графической точки зрения метод Ньютона базируется на построении итераций путём решения задачи о пересечении с осью абсцисс

= 0 касательной к графику функции ( ) в точке ( , ( ))

= ( ) + ( )( ).

3.2. Численное решение нелинейных уравнений

35

Принимая за новое приближение искомого корня (3.1) абсциссу указанной точки пересечения ( +1, 0) нетрудно получить итерационную формулу метода касательных

( )

 

+1 = ( ) .

(3.5)

При выборе начального приближения 0 из области сходимости корня ¯ уравнения (3.1) для метода Ньютона будет верна апостериорная оценка погрешности | − ¯| 6 | − 1|, дающая простой критерий окончания итераций

| − 1| < .

(3.6)

Пример 3.4. Используя ранее полученные результаты локализации найти с помощью метода касательных отрицательный корень нели-

нейного уравнения 1

( 1 )3 = 3 2 с погрешностью, не превыша-

ющей = 104.

2

2

 

 

Для применения метода Ньютона найдём первую производную функции ( ), соответствующей заданной правой части уравнения

(3.1): ( ) = 3( 1 )2 + 6 3 2 .

2

Листинг 3.4. Поиск корня методом касательных

(%i1) f(x):=1/2-(x-1/2)^3-exp(-3*x^2)$

p(x):=6*x*exp(-3*x^2)-3*(x-1/2)^2$

w(x):=x-f(x)/p(x)$

(%i4) a:-1/4$ b:0$ n:0$ en:1.E-4$

x0:(a+b)/2$ x1:float(w(x0))$

(%i10) for i:1 while abs(x1-x0) > en do (

x0:x1, n:i, x1:float(w(x0)))$

print("Приближенное решение x[", n, "]=",

round(x1/en)*en)$

Приближенное решение [3] = 0.2169

Начальные определения: «f(x)», «p(x)» –– функция ( ), соответствующая правой части уравнения (3.1) и её первая производная ( ); «w(x)»–– итерационная функция метода касательных (3.5); «a,b» –– границы отрезка локализации корня ¯ [ , ]; «en» –– допустимая погрешность определения корня ¯ уравнения (3.1).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]