Android-приложение для поиска дешевых авиабилетов: play.google.com
Главная -> Применение эвм

0 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

fib)

1/ м

Рис. 2.2

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

Нелинейные уравнения решаются с помощью итерационных тодов, т. е. процедура решения заключается в многократном шУ нении иекоторого алгоритма. Полученное решение всегда являр! приближенным, хотя для сходящегося а.тгоритма может быть HacTcJ" ко близко к точному, насколько позволяет используемая в ЭВМ г

тема чисел с плавающей точкой. Рассм рим наиболее употребительные итеп-ционные методы.

Метод половинного деления. Эт>[ метод наиболее прост и позволяет на дежно найти корень в ситуации, когда функции / (р) известно только то. что она непрерывна и меняет знак на интервале !а. Ы. Ои состоит из следующих шагов: 1) вычисляется среднее значение --- {а Ч b)i2\ 2) находится значение функции f {с) в средней точке интервала; 3) если знак f [с) совпадает со знаком / (а), то левая граница интервала а заменяется на с; если совпадают знаки / (t) ц / (/;). то правая граница Ь заменяется на с. и в результате интервал сужается вдвое; 4) если ширина вновь полученного интервала мень-Hie заданной погрешности е, то корень считается найденным, в противном случае делается переход к шагу 1.

Описанную процедуру иллюстрирует рис. 2.2. Прекращать вычисления можно не только по разности {Ь - а), но и 1ю абсолютно.му значению / (с). Но обычно этот способ менее наде жен. Например, в нашем случае (см. рис. 2.1) при корнях, близких к {п - 1)л, величина f (ц) может быть достаточно большой даже при узких интервалах !а. Ь\.

Хотя метод половинного деления может потребовать бшьшй число итераций по сравнению с другими методами, он всегда гарантирует получение искомого решения. Поэтому если вычисление однО го значения / (р) в программе происходит за небольшое время, то можно смело использовать этот метод.

После проведения k итераций ширина первоначального интервала, в котором находится корень, убывает в 2* раз. Так, для нашего ин тервала шириной л/2 1,57 после десяти итераций погрешность BfJ-числения корня будет около 0,0015.

Ниже приводится подпрограмма (см. рис. 2.12) для вычислени* корней уравнения (2.15) по алгоритму половинного деления. ВхоД иыми данными являются число корней jV, погрешность е и число Б а результатом - массив корней {р,,В подпрограмме учтен", что каждый корень р„ лежит в интервале 1(п - 1)л, (2п - 1)я/21 54

поскольку функция / (р) на левой границе интервалов Кроме цaтeльнa, для построения нового интервала достаточно сегДЗ ""Р jjgj f [с): если / (с) < О, то с становится новой левой проверит новой правой. Обратим внимание, что i-paHHUg ,дует задавать . чтобы не слишком приблизить-Qi-реш малых числах Bi и не вызвать переполнения по-

*"при вычислении ctgp. Логическан Pvna программы подробио пояснена в f(M} Сентариях к тексту.

Етифуикция /(р) достаточно гладкая.

0/.-ГП есть возможность значительно со--тп 4aci*j „ ,

оатить количество вычислении функции

сравнению с методом половинного деле-"ия Известны различные итерационные методы из которых мы рассмотрим только метод Ньютона, метод секущих и метод простой итерации.

Метод Ньютона. В § 1.2 метод Ньютона был рассмотрен применительно к системе

двух уравнений специального вида. Он может быть использован и при решении трансцендентных уравнений. В этом случае в его основе лежит разложение функции / (р) в ряд Тейлора в окрестности некоторого приближения к корню р***:

/(p) = f(p0 + /4t*)(H-H*)---

Предполагается, что в этой окрестности функция / (р) хорошо описывается линейным членом разложения и следующее приближение к корню р(*+* находится из условия


Рис. 2.3

отсюда

/(H+*)=/(p*) + /4t*) (p*+*-t) = o,

(2.16,1

Значение pC+i) соответствует точке, в которой касательная к кривой в точке ц(> пересекает ось р (рис. 2.3).

В результате корень уравнения находится как предел последовательности, вычисляемой по формуле (2.16). Можно доказать что / (р) = О, / (р) О, а /" непрерывна, то около корня р существует интервал, при попадании в который начального приближения pW метод сходится. Поэтому основная трудность реализации ода Ньютона состоит в выборе начального приближения р>. -чно этот выбор производится с помощью какого-нибудь безуслов-0 сходящегося алгоритма, который может быть основан, например, а Методе половинного деления. После определения р*> выполняется

Феход на ньютоновские итерации, имеющие более быструю сходимость f .



На рис. 2.4 показано, что для нашей функции [ (р) - (2 15 рации по методу Ньютона всегда сходятся при выборе начально ки левее корня р„, но могут привести к выходу из интервала rin боре р* правее корня. \

Если нахождение производной f (р) в методе Ньютона затруд; то можно воспользоваться его модификацией - методом се.кии В этом алгоритме начинают с двух приближений к корню - .S -,ti) .....----- ------------ ------- ------ "

р(\ Функция f (р) заменяется прямой, проходящей через точ/



Рис. 2.4

Рис. 2.5

[ (р*"**) И [ (р(>), т. е. вместо касательной в методе Ньютона строится, секущая (рис. 2.5). Тогда по двум приближениям р(*-> и р(*>сле. дующее приближение к корню находится по формуле

[/(и->)-/И>)1/(и<*->-ц<)

(2.П)

в которой по сравнению с формулой (2.16) производная заменена конечной разностью на отрезке [р*"),

Метод простой итерации. В заключен не остановимся на самом простом методе решения нелинейных уравнений, который так и называется - метод простой итерации. Для применения этого метода уравнение (2.14) представляется в виде

р=Ф(р). (2.181

Очевидно, что это всегда можно сделать, если ввести, например

Ф(М) = (М) + М-Итерационная формула метода имеет вид

р(* + 0 =(p(tft)). 2.19

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

X 1 !

/ 1 1 it-

Рис. 2.6


Рис. 2.7

\ На рис. 2.6 показан пример сходящегося, а иа рис. 2.7 - расхо-птегося процесса простой итерации.

Отметим, что переход от уравнения (2.14) к уравнению (2.18) моет производиться различными способами и соответственно будут по-Гичаться разные схемы простой итерации. Например, в нашем случае уравнение (2.15) можно представить в виде (2.18) следующими способами:

1) p=Bictgp. ф (р)-Bi/sinV; 2) p = p--p/Bi + ctgp, Ф(М) = 1--\

3) p-i + p/Bi -ctgp, ф(р) = 1 +

Итерационный процесс для варианта 3 будет всегда расходиться» так как ф (р) > 1. Варианты 1 и 2 при некоторых числах Bi в некоторой окрестности точки (2п - 1)л/2 могут давать сходящееся решение.

§ 2.3. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ

Задачи вычисления определенных интегралов возникают в расчетах по многим аналитическим решениям. Приведем ряд примеров-

При использовании метода конечных интегральных преобразова. нй [3] приходится вычислять интегралы вида

Де (х), {х) - пространственные распределения объемной и поверхностной плотностей теплового потока; f„ (х) - собственные *РУнкции краевой задачи.



Решения задач с переменными воздействиями (т), (т) -мощью теоремы Дюамеля 1131 представляются в виде

t{x, т)= г7(л:, (уДт-т). gsi---}, т:){1т, о

где i-решение задачи с постоянными юздействиями.

Решения задач в полуограннченном теле с помощью интегра! ного преобразования Фурье представляются в виде несобственны/ интегралов

t(x, у)

в {у, 6>) COS Cd.vdo),

где 6 (у, со) - косинус-преобразование Фурье (изображение) функ, цш[{х,у).

Часто в приведенных интегралах аналитическое выражение длч первообразной найти не удается, дажееслн подынтегральная функции содержит элементарные функции, а во многих решениях под интег ралом встречаются специальные функции (например, функции Бесселя). В этих случаях приходится прибегать к численному интегрированию.

В даниом параграфе рассмотрим методы вычисления одномерных интегралов, а методы вычисления кратных интегралов будут изложены в главе 6 на примере задач нахождения угловых коэффициентов излучения.

Итак, ставится задача приближенного расчета определенного интеграла

1= f{x)6x.

(2.20)

Эти расчеты проводят по так называемым квадратурным формулам, в которые входят значения подынтегральной функции / (х) в конечно\! числе узлов, расположенных на отрезке [а, Ь].

Простейшая из квадратурных формул -формула прямоугольников. При ее построении отрезок интегрирования [а, Ь) разбивается на N элементарных интервалов [ль Xi -i], i = 1, /U, Xi " a, XAf+i = b, и на каждом из них функция [ (х) заменяется постоянным значением (рнс. 2.8)

Тогда на j-M интервале разбиения можно определить приближенное значение интеграла lij+i по формуле

(Xi+i-Xt).

Гуммируя по всем элементарным интервалам при равномерном биении с шагом h = jt+i - л:,-,получаем следующую приближеи-

Рую Wmy-

b - a N

(2.21)

При более общем подходе на отрезке [а, Ь] выбирается (iV + 1) узел {xi)i=\ и приближенную формулу для вычисления интеграла 2 20) записывают в виде

«4-1

1= 1

(2.22)

Задача построения квадратурной формулы состоит в выборе расположения узлов Xi и значений весовых коэффициентов с,-. Довольно часто функция [ (х) бывает задана в табличном виде и поэтому узлы xi оказываются фиксированными.

Рассмотрим общий подход к определению коэффициентов при заданных узлах. Общий интервал интегрирования fa, b] разбивается на совокупность интервалов, ограниченных узловыми точками (рис. 2.9). Хотя в принципе интервалы разбиения могут содержать



Рис. 2.8

x,-a---Xj Xjt,.,.Xj;-r Xft-tf Рис. 2.9

разное количество узлов, на практике их число делают одинаковым, о /-м интервале разбиения [xj, xj+mh содержащем т + 1 точку, Подынтегральная функция f (х) заменяется интерполяционным полиномом степени т - ф,„ (х), значения которого в узлах Xj, Xji, ...

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

5!>



0 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33



0.0096
Яндекс.Метрика