Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы решения задач строительства на ЭВМ..pdf
Скачиваний:
45
Добавлен:
15.11.2022
Размер:
16.27 Mб
Скачать

которое получается при решении задачи устойчивости стержня (рис.3.3).

Здесь х = При решении задач устойчивости нас обычно

интересует наименьшее значение критической нагрузки, т.е. надо найти наименьший положительный корень уравнения (3.3).

Если при решении данной задачи отделение корней производить на основании таблицы табулирования (табл.3.2), то можно допустить ошибку, предположив, что корень уравнения находится на отрезке [1.5, 2], где функция меняет знак.

X

Таблица 3.2

/(x)=x-tg(A:)

0

0,000

0,5

-0,046

1

-0,557

1,5

-12,601

2

4,185

2,5

3,247

3

3,143

3,5

3,125

4

2,842

4,5

-0,137

5

8,381

Рис.3.3. К задаче

устойчивости Рис.3.4. Локализация корней уравнения х - tg(.Y)=0

стержня

В действительности, на этом участке функция f(x)=x - tg(„v) терпит разрыв (т.е. не выполняются условия теоремы 3.1) и это хорошо видно на рис.3.4. Таким образом, искомый корень уравнения находится на отрезке [4,4.5].

3.2. Этап уточнения корня

Итерационный процесс состоит в последовательном уточнении начального приближения корня х0. В результате этого процесса находится последовательность приближений (итераций)

значений корня уравнения (3.1):

 

XI, х2, ...... х„....

(3 .4)

Если эта последовательность имеет предел

 

imx/7= х

(3.5)

то говорят, что итерационный процесс (3.4) сходится и сходится к точному решению уравнения х [8,12].

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

Для прекращения итерационного процесса применяются различные критерии, зависящие от вида функции y=f(x) в окрестности корня.

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

(3.6)

■ Если функция y=f(x) «круто» меняет свои значения, целесообразно использовать условие

(3.7)

■ Если условие (3.6) или (3.7) выполняется, то в качестве приближенного решения уравнения (3.1) с заданной точностью е принимают и-ю итерацию т.е. х ~ х„ .

■ Если ни одно из условий не выполняется, то итерационный процесс необходимо продолжить.

Рассмотрим несколько итерационных методов решения нелинейных уравнений. Выбор того или иного метода зависит от вида функции у =f(x).

3.2.1. Метод половинного деления (бисекций)

Пусть функция y-f(x) удовлетворяет условиям теоремы 1 па отрезке [а,Ь], т.е. уравнение (3.1) имеет единственный корень на этом отрезке.

Идея метода бисекций, (рис.3.5)

1.

Делим отрезок [а, Ь\ пополам.

 

 

 

 

.

 

s,a +b.

) - 0 , то

.

а +Ъ

является корнем

уравнения

2.

Если / ( ——

х

= ——

 

 

(3.1).

 

 

 

 

 

 

 

 

,

 

s ,a +b . ^ n

то

из

 

Г

С1+ Ь

3.

Если

/ ( —— )* О,

двух отрезков

[а,

——- \,

 

[

а + Ь , 6]

выбираем тот, на концах которого функция f(x)

имеет разные знаки.

4.Новый «суженный» отрезок [а/, Ь{] снова делим пополам и проводим тот же анализ и т.д.

5.В результате получаем на каком-то этапе или точный корень

уравнения (3.1), или же бесконечную последовательность

вложенных друг в друга отрезков,

 

[а,, Ь,\, [а2, Ь2] , ...........................[а», 6„],............

 

таких, что

f(ai.)f(bi)<0,

(/=1,2,.....)

(3.8)

и

Ь,-а,=— (Ь-а).

(3.9)

 

2"

 

 

Левые концы

at, а2,.... ап,...и правые

концы

Ь/,

b2,....,b„,... этих

отрезков

образуют

монотонные

последовательности,

соответственно

неубывающую

и

невозрастающую.

 

 

 

 

 

6.В силу равенства (3.9) существует общий предел

x'=lim aft =lim bП

II II-4W

Переходя к пределу при п -> оо в неравенстве (3.8), в силу непрерывности функции f(x) получаем f(x*) = 0 т.е. х* является корнем уравнения (3.1).

Метод половинного деления легко реализуется на ЭВМ по следующей схеме.

В Для нахождения приближенного значения корня уравнения (3.1) с заданной точностью в необходимо циклически повторить следующую последовательность действий:

1)4 отрезок Г[а, о] делится пополам х =а +^Ь■ ,

2)если \f(x) | > в, переходим на пункт 3, иначе - на пункт 5,

3)если f(x)*f(b) < 0, то принимаем а = х, иначе b = х. Т.е. из двух отрезков выбираем тот, на концах которого функция имеет разные знаки, и новый «суженный:» отрезок вновь называем отрезком , 6],

4)если | а-b | >8, то выполняется пункт 1, иначе - пункт 5.

5) в качестве приближенного решения уравнения (3.1) с заданной

а+ Ь

степенью точности е принимается х = ——

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