Матросов А.В. Maple 6. Решение задач высшей математики и механики (1185909), страница 82
Текст из файла (страница 82)
Возвращаемым значением этой процедуры является последовательность двухэлементных списков, представляющих приближение к корню и значение функции в точке приближенного решения. Такое возврашаемое значение в форме последовательности списков предусмотрено нами специально с целью последуюшей графической демонстрации построения приближаюшей последовательности.
Задача 11.1 Найти методом Ньютона приближенное решение нелинейного уравнения хз — х=0. Замечание Конечно, для рассматриваемого уравнения корни можно определить и непосредственным разложением левой части на множители, но мы выбрали зто уравнение исключительно в связи с тем, что для него графическая интерпретация метода Ньютона достаточно наглядна. Решение.
Прежде всего необходимо отделить корни уравнения. Для нашего уравнения это сделать достаточно просто. Его корнями являются точки х=0, х=1 и х= — 1, поэтому соответствующие интервалы, в которых расположено Глава 7 П Численно-аналипаческив методы по одному корню уравнения, определяются легко. Будем искать приближение к корню х=1 на интервале [о, 52; 2[ изменения переменной х. Дальше следует выбрать начальное приближение из условия выполнения приведенного в начале раздела неравенства. Для нашего интервала ~акой точкой может быть точка х=2: Г[2) Г (2) = 6/11 > О.
Найдем с помошью разработанной процедуры нееспп() приближение к корню с точностью до 0,01: > 1:=х'3-х: > я:=Неесоп(г,х,2.0,0.01); з:= [2.0,6.000),[1.454545454,1.622839967],[1.151046789,.373985128[, [1.025325929,.052592310[,[1.000908452,.00!819381),[1.000001235,.2470 10.'[ Как видим, для получения решения с заданной точностью оказалось достаточным выполнить всего б итераций.
Метод Ньютона имеет простую геометрическую интерпретацию: очередное приближение находится как точка пересечения оси абсцисс и касательной к графику функции в точке предыдущего приближения. Для визую(изации построения итерационного процесса разработаем процедуру, отображающую график функции, а также касательную к нему в каждой точке приближаюшей последовательности. Полный текст подобной процедуры представлен в примере 11.2. „'фМ)а~ф;-.~$!Ф;-::."[3)[([[й)ах1![[~а';:~йй1[4[)~Ща)1[[)1'Йаа~дуй)а[уаафФ,: .. > р1отиеитпп:=рпяс (г::а19еьтазс, я:: 11яг (1хяс),х::ечпап1оп) 1оса1 1; р( ( 0: =р1сп (т, х, пп1схпевя=-2, со1от=ь1аск); Гоп 1 по поря (я) -1 бо р!!а:= р1оп ( ! !ор (1,ор(1, Я) ), О,', оР (з, Я), (пр(1,ор(1е1,я)),О!],х,со1пг=-Ь1асх); епб бо) 'р1опя/оьяр1ау'((яеЧ(р!!1,1=0..поря(я)-1))); епб рпос: В процедуру р1птяеитоп() передается выражение левой части нелинейного уравнения, список двухэлементных списков, состоящих из точки последовательности приближения и значения функции в этой точке, а также имя пеРеменной и диапазон ее изменениЯ в виде УРавнениЯ х=а..Ь.
РезУльтатом выполнения этой процедуры будет график нелинейной функции, а также множество касательных в точках приближения. ДЛя НаШЕй ЗадаЧИ Обра)цЕНИЕ К ПрОцЕдурЕ р1птнеипоп() ПОСтрОИт СЛЕдуЮ- ший график: Часть!1 Математика 4б2 > р1ооиееоое(Г, [е[,х=0.52..21; 6 Практически после третьего шага мы попадаем в малую окрестность решения, в которой построенные касательные уже просто сливаются с [рафиком самой функции. Обратимся теперь к нахождению второго корня х=О„ расположенного на интервале [-0,5; 0,521. Проверим выполнение условии положительности произведения функции на ее производную на правом конце интервала: Г(0,52).Г'(0,52) = 2,0049 > О. Следовательно, эту точку можно взять за начальное приближение: > е , "— нее' ое (Г, х, О.
52, О . 011; а:= [.52,-.379392[,[-1.489491525,-1.815072035[,[-1.168566727,-.427167458), [-1.030621462,-.064084659[,[-1.001312780,-.002630732[, [-1.000002577,-.5154 10 0 Удивительно, но мы почему-то получили приближение к решению х= — [. Что произошло? Дело в том, что для сходимости последовательности метола Ньютона с начальным значением, удовлетворяюшим неравенству Г(ха) Р(ха) > О, необходимо е[це выполнение условия, чтобы на интервале поиска решения первая производная функции Г(х) не меняла своего знака. В нашем случае на интервале [-0,5; 0,52[ первая производная меняет свой знак, поэтому пересечение касательной к графику функции в точке начального приближения происходит не на заданном интервале, а вне интервала, а отсюда последуюшие приближения оказываются приближением к другому корню: > р1оонеееое ( Г, [ е ], х=-1 .
5 .. О . 521 463 Глава 11. Численно-аналитические методы Чтобы получить приближающую последовательность к необходимому нам корню, следует взять другое начальное приближение, например, х=0,4: > е:=Иеиеоо[Е,х,0.4,0.011; х:= [,4,-.3361,[-.2461538462,.2312389623 1,[.0364566877.-.03640823348 1, [-.00009729639,.00009729638908 1,[.184 10 ",-.184 10ги 1 > р1огиеиеол(Е,[е[,х=-0.5..0.5[; Обратите внимание, что в этом случае послсдоватсльность приближенных значений корня стремится к своему пределу не с одной стороны, как в случае с первым корнем х=1, а с двух сторон.
Это связано с тем, что вторая производная в окрестности корня х=О меняет знак. Как видите, применение метода Ньютона требует выполнение целого ряда условий, иначе мы либо получим другой корень, либо приближающая последовательность окажется не имеющей вообще прелела, как, например, при нахождении корня того же уравнения хз — х=О при начальном условии 1 хе=а — зГ5: 5 > е г=иеигол [Е,х, еча1Е [еЧЕЕ [5[ /5,20[, О. 01[; Х:= [.44721359549995793928, -.35777087641, '>01, " 2, зе[, ' 02. "11, 5 2, 'М 1, " 2, " 1 'Ъ1:= [-.4472135955,.3577708764[ 5[2:= [.4472135955,-.3577708764[ > р1осиеиеоо[Е,[е],х=-0.5.,0.51' Как видно из построенного рисунка, в данном случае касательная к графику функции в точке первого приближения пересекается с осью абсцисс в точке нулевого приближения, образуя тем самым замкнутый цикл.
Часть П. Математика Замечание Для того чтобы наша процедура ненсоп() построения приближающей последовательности к решению не зациклилась, нам пришлось в ее цикл тот добавить оператор > 10 Гьеп ещгоп з; епо( Если использовать метод Ньютона без предварительного анализа существования решения уравнения и определения интервала, на котором оно сушествует и единственно, то последовательность, построенная по методу Ньютона, может сходиться, но, естественно, не к решению уравнения. Пример подобной функции можно найти в [5]: > р:=ета1Г (1п(2) ) /еоа1Г(Р1) *ып(2*еоа1Г (Ва*1г (х) /1п(2', ' ) з1; р:= .2206356001 з(п(9.064720284 !п(х ) ) + ! > 0" 9..'з: =20: з: =Ненгсп (р, х, 1 .
С, О. 0001); .г: — [1.0,1.],[.4999999998997456070$ .999999999546!2690944]. [.25000000001321387920,.99999999999999999577], [.12499999998154334190,.99999999954612691371], [.062500000006606939598,.99999999999999999!33], [.031249999997037570512,.99999999954612691831], [.015625000002477602346, .99999999999999998666], [0078124999996723263874, .99999999954612692291], [.0039062500008258674485, .99999999999999998222], [.0019531250000213150366, .9999999995461269272], [.00097656250025808357771, .99999999999999997777], [.00048828125003113711910, .99999999954612693167], [,00024414062507742507334, 99999999999999997355], [.0001220703!25!423636975, .99999999954612693605], [.000061035156272582313056, .99999999999999996910] Как видим, при начальном приближении хо=1 последовательность метода Ньютона сходится к нулю, однако функция вообще не имеет корней, что видно из ее графика, на котором также демонстрируется получение последовательности с помощью касательных: > р1оснентоп(р, !з1,х=0.05..1) 1.2 о.о о.о ок ол абб Глава 11.
Численно-аналитические методы Приведенное исследование решения простого нелинейного уравнения методом Ньютона показывает, что нельзя без предварительного анализа задачи применять к ней численные методы решения, так как можно получить либо не то решение, которое ожидалось, либо вообше его не получить, либо получить совершенно неправильный ответ. 11.2. Интерполирование функций полиномами Очень часто на практике в результате измерения какой-либо величины получают ее значения на некотором дискретном множестве точек ее области изменения. В дальнейшем может оказаться необходимым получить ее значения в точках, не равных узловым точкам, в которых получены значения функции.
Для решения подобной задачи по известным значениям функции строится другая функция, которая аппроксимирует исходную в соответствии с некоторым выбранным критерием. Если в качестве критерия выбирается равенство значений исходной и аппроксимирую(цей функций в узловых точках, то построенная в соответствии с этим критерием функция называется интерполируюшей. Если функция, более того, выбирается из полиномов, то такая аппроксимируюшая функция называется интерполяционным поли- номом. Так как лля однозначного определения полинома степени и требуется знание его значений в и+1 точках.
то и для однозначного построения интерполяционного полинома функции необходимо знать ее значения в л +! точках. Для построения интерполяционного полинома ).(х) степени и функции Г(х), заданной в п +1 не равных между собой узловых точках хс, х), ..., х„, очень часто применяется формула Лагранжа: (4 )=Ь")и (х, — х,) Хотя Мар)е и содержит в своем составе команду 'осетр(), строяшую интерполяционный полином для функции, мы разработаем собственную процедуру его построения, тем более что это достаточно простое дело — всего лишь запрограммировать приведенную выше формулу.
Текст процедуры интерполяции функции представлен в примере ! !.3. > 1поетро1асгопт=ртос(х::чесеот, у::чесеот,ч::пате) 1оса1 1,3,а,пвШ,п) () Определение размерности вектора х и: = ' 11па1д/часей(па' (х); Часть [6 Математика $ Определение размерности вектора у и сравнение с размерностью вектора х 1г и <> '11па19/чессг[зю'(у) Гьеп еггог "Векторы %1 и $2 должны быть одинаковой размерности",х,у егыД г Вг 4 Вычисление суммы з:=0; бог г Ггою 1 Го и г(о $ Вычисление произведений в суьгае ти1Г:=1; гог 5 ггсгв 1 Го и бо 1г 5=1 гьеп сопгуппе; е1зе юп1Г:=кп) Г* (ч-х [5 )) 7(х[1,' -х (,')); епг( 1Г; епб бо; з:=зтпм1Г*)[1!г епг) г[о( зогс(ззл$311гу(з)) епд ргос: ВХОДНЫМИ ПараМЕтраМИ В ПрОцЕдурЕ 1псегро1аГ1оп() яВЛяЮтСя даа ВЕКтОра, содержащие координаты узловых точек и значений интерполируемой функции в них, а также имя переменной, которое используется в качестве независимой переменной интерполяционного полинома.
Размерности векторов, которые определяются в теле процедуры, должны совпадать, иначе процедура не будет работать и напечатает сообщение об ошибке. Если их размерности совпадают, то далее в двойном цикле строится интерполяционный полипом степени на единицу меньше размерностей векторов узловых точек и значений функции, который и является возвращаемым значением процелуры. Построим интерполяционный полипом функции, заданной таблицей своих значений 1.2 0.5 1.4 2.2 1[х) 10.0 е.в 2.5 0.0 Так как функция задана в 6 точках, то интерполяционный полипом должен иметь степень, равную пяти. Построим его с помощью разработанной нами ПрОцЕдурЫ 1птегро1аГ1оп(): > х:=чессог(б,[0,0.5,1.2,1.4,2.2,3)): > у:=честог(б,[2.5,5.6,6.0,2.9,0.0,10!): > з: ьпсегро1асьоп(х,у,з)' з:= -9.(85424796 гт+ 65.6693[876 г' — )56.842!884 гт+ )38.9006)06 гг— Глава 7 7.