Н.Н. Калиткин - Численные методы (1133437), страница 6
Текст из файла (страница 6)
Примеры таких методов (называемых регулярнзацней) даны в следующих двух главах, а нх строгое обоснование приведено в главе ХИ, 9 2. На практике даже не всякую устойчивую задачу легко решить. Пусть йбу)~«=, Свбх~!, причем константа С очень велика.
Задача формально устойчива, но фактическая неустранимая ошибка может быть большой. Этот случай называют слабой устойчивостью (нли плохой обусловленностью). Примером является такая задача; у" (х) = у (х), (9а) у(0)=1, у'(О)= — Е (9б) Общее решение дифференциального уравнения (9а) есть: у(х) =0,5(у(0)+у' (0)1е'+0,5(у(0) — у' (О)) е ".
Начальным условиям (9б) соответствует точное решение у(х) =е-"; но небольшая погрешность начальных данных может привести к тому, что в решении добавится член вида ее, который при больших аргументах много больше искомого решения. Очевидно, для хорошей практическок устойчивости расчета константа С должна быть не слишком велика. Так, если начальные данные известны точно, т. е. могут быть заданы с точностью до ошибок округления б 10 ", то необходимо, втобы С<,'101з. Если же начальные данные найдены нз эксперимента с точностью что тАкОе численные методыт бх 0,001, а требуемая точность решения бр 0,1, то допустимо С ( 100.
Даже если задача устойчива, то численный алгоритм может быть неустойчивым. Например„если производные заменяются разностями, то приходится вычитать близкие числа и сильно теряется точность. Эти неточные промежуточные результаты используются в дальнейших вычислениях, н ошибки могут сильно нарастать. По аналогии можно говорить о корректности алгоритма у = = А (х), подразумевая существование и единственность приближенного решения для любых входных данных х некоторого класса, и устойчивость относительно всех ошибок в исходных данных и промежуточных выкладках. Однако в общем случае этим определением трудно пользоваться; только в теории разностных схем (глава 1Х) оно применяется успешно.
ЗАДАЧИ 1, Доказать выполнимость всех еоотношений (4). Рассмотреть, как меняется форма записи этих соотношений при задании функции на произаольноч конечном отрезке а~ Г~Ь. 2. Доказать утверждения о согласованности н подчиненности норм матриц, приведенные а конце п. 1 4 2. ГЛАВА П АППРОКСИМАЦИЯ ФУНКЦИЙ В главе 11 рассмотрены способы построения приближенных формул для заданной функции. В 1 1 изложен способ интерполяции; он несложен и обеспечивает хорошую точность на небольших отрезках. В 1 2 рассмотрена среднеквадратичная аппроксимация, частным случаем которой является метод наименьших квадратов; она позволяет строить приближенные формулы, пригодные на больших отрезках. В 1 3 кратко изложены основные сведения о равномерной аппроксимации. 5 1.
Интерполирование 1, Приближенные формулы. Если задана функция у(х), то это означает, что любому допустимому значению х сопоставлено значение д. Но нередко оказывается, что нахождение этого значения очень трудоемко. Например, р(х) может быть определено как решение сложной задачи, в которой х играет роль параметра, или у (х) измеряется в дорогостоящем эксперименте. При этом можно вычислить небольшую таблицу значений функции, но прямое нахождение функции при большом числе значений аргумента будет практически невозможно.
Функция у(х) может участвовать в каких-либо физико-техниг ческнх или чисто математических расчетах, где ее приходится многократно вычислять. В этом случае выгодно заменить функцию р(х) приближенной формулой, т. е. подобрать некоторую функцию ср(х), которая близка в некотором смысле к у(х) и просто вычисляется. Затем при всех значениях аргумента полагают р (х) ~р (х). Близость получают введением в аппроксимирующую функцию свободных параметров а=(аы а„..., а„) и соответствующим их выбором.
Подбор удачного вида функциональной зависимости ф(х; а)- искусство; некоторые советы по этому поводу будут даны в й 1, и. 8. А определение наилучших (в требуемом смысле) параметров формулы делается стандартными методами, которые и будут рассмотрены в этой главе, 2. Линейная интерполяция. Пусть функция у (х) известна только в узлах некоторой сетки хь т. е. задана таблицей. Если АППРОКСИМАЦИЯ ФУНКЦИЙ [Гл. и потребовать, чтобы ф(х; а) совпадала с табличными значениями в и выбранных узлах сетки, то получим систему !р(х!, а,, а„..., а,)=у(х,)= — у!, 1(»~н, (1) из которой можно определить параметры а„.
Этот способ подбора параметров называется интерполяцией (точнее, лагранжееой интерполяцией). По числу используемых узлов сетки будем называть интерполяцию одноточечной, двухточечной и т. д. Если ф(х; а) нелинейно зависит от параметров, то интерполяцию назовем нелинейной; в этом случае нахождение параметров нз системы (1) может быть трудной задачей. Сейчас мы рассмотрим линейную интерполяцию, когда ф(х; а) линейно зависит от параметров, т.'е. представнма в виде так называемого обоби(енного многочлена » р(х; а„а„..., а,) = У,'а» <р„(х). »-! (2) Очевидно, функции !р»(х) можно считать линейно-независимыми, иначе число членов в сумме и параметров можно было бы уменьшить.
На систему функций !р»(х) надо наложить еще одно ограничение. Подставляя (2) в (1), получим для определения параметров а» следующую систему линейных уравнений: ~; а»ф»(х!) =у!, »= ! 1(! (н. (3) Чтобы задача интерполяции всегда имела единственное решение, надо, чтобы при любом расположении узлов (лишь бы среди ннх не было совпадающих) определитель системы (3) был бы отличен от нуля: <р»(х!) <р»(хй ... !р„(х!) <р,(х») ф, (»») ... ф„(х») Л ж Ое! (ф» (х;)) = ~0 при х»Фхм (4) ф, (х„) !р» (хю' ... !р„(»„) Система функций, удовлетворяющих требованию (4), называется чеб»ааееской. Таким образом, при линейной интерполяции надо строить обобщенный многочлен по какой-нибудь чебышевской системе функций. Для линейной интерполяции наиболее удобны обычные много- члены, ибо они легко вычисляются и на клавишной машине и на ЭВМ.
Другие системы функций сейчас почти не употребляются, хотя в теории подробно рассматривают интерполяцию тригонометрическими многочленами и экспонентами. Поэтому мы не приводим выражения обобщенного многочлена (2) через табулированные значения функции у!, вывести это выражение несложно. ИНТЕРПОЛИРОВАНИЕ 3. Интерполяционный многочлен Ньютона, Рассмотрим систему ~рл (х) =хл, 0 ~/г -л; для удобства узлы интерполяции также перенумеруем с нулевого по и-й. Легко заметить; что определитель (4) в этом случае есть определитель Вандермонда хл х~ 1 х хл ... х" 1) (хл — х ). (5) л ) Ф ) т ) О л „' .. Алл Следовательно, алгебраический интерполяционный многочлен У,(х) всегда существует и единствен (с точностью до формы за- писи).
Применим для его вывода следующий прием. Определим разделенные разности табулированной функции у(х) при помощи соотношений у (хь х ) = [у (х~) — у (х~)],Г(х~ — х~), у(хи хп хл) =(у (хн х;) — у(х;, хл)1,Г(х~ — хл), (6) У(х) =У(х,)+(х — х,) У(х, х,), У (х, х,) = У (х„ х,) + (х — хт) У (х, хл, хт) " т д Эта цепочка соотношений конечна, нбо (л + 1)-я разделенная и т. д, Разделенные разности первого, второго и более высоких порядков имеют размерности производных соответствующих порядков; в главе П1 показано, что они дают приближенные значения производных. Разделенные разности любого порядка можно выразить непосредственно через узловые значения функции, но вычислять их удобнее по рекуррентному соотношению (6).
Пусть У (х) есть многочлен степени и. Рассмотрим, что представляют собой его разделенные разности. Вычитая из него константу У(х,), получим многочлен У(х) — У(х,), который обращается в нуль при х=х, и поэтому делится нацело на х — х,. Следовательно, рервая разделенная разность многочлена и-й степени У (х, хл) = 1У (х) — У (хл)1/ (х — хл) есть многочлен степени и — 1 относительно х и в силу симметрии выражения — относительно х,.' Аналогично, вторая разность У(х, х,', х,) есть многочлен степени и — 2; в самом деле, из (6) видно, что числитель этой разнооти обращается в нуль прн х=х„и значит, нацело делится на х — х„ а степень при этом понижается на единицу. ' Продолжая эти рассуждения, можно показать, что разность У(х, х„х„..., х„,) есть многочлен нулевой степени, т. е.
константа, а более высокие разделенные разности тождественно равны нулю. Перепишем соотношения (6) для случая, когда функция есть многочлен и первый аргумент равен х: зо [гл. и АППРОКСИМАЦИЯ ФУНКЦИИ разность многочлена тождественно равна нулю. Последовательно подставляя этн соотношения друг в друга, получим формулу б (х)=8'(хо)+(х хо)б'(хо ха)+ +(х — хо) (х — х,) У (х„х,, х,)+... ...+(х — хо) (х — х,) ... (х — х„,) д'(х„х,, ..., х„), (7) по которой многочлен а-й степени выражается при помощи разделенных разностей через свои значения в узлах х„...,х„. Но значения интерполяционного многочлена в зтих узлах по определению совпадают со значениями искомой функции, и поэтому разделенные разности у (х) и ог' (х) тоже совпадают, Подставляя в (7) разделенные разности искомой функции и заменяя точное равенство на приближенное, получим интерполяционную формулу Ньютона р (х) = у (х,) + ~Ч„ (х — х,) (х — х,) ...
(х — х„ ,) у (х, х„ ..., ха). (8) а = ! Формула Ньютона удобна для вычислений и на ЭВМ, и на клавишной машине. Легко составить следующую таблицу 1 разделенных разностей для табулированной функции у(х) и произвести вычисления по формуле (8). Таблииа 1 Замечание 1. За точностью расчета удобно следить, визуально оценивая скорость убывания членов суммы (8). Если они убывают медленно, то на хорошую точность рассчитывать, вообще говоря, нельзя (подробнее см.
пп. 6, 7). Если убывание быстрое, то оставляют только те члены, которые больше допустимой погрешности; тем самым определяют, сколько узлов требуется подключить в расчет. П р имер. Покажем, как вычислять синус в первом квадранте, используя четыре известных значения, Составим таблицу 2 с четырьмя узлами, причем для удобства вычисления положим р(х)=з(п(30' х). Для проверки точности, используя разности верхней косой строки, вычислим у (1,5) — О+ 0,750 — 0,050+ 0,006 = 0,706. З1 ИНТЕРПОЛИРОВАНИЕ 4 П Таблица 2 у(ху ха ) у (х ) у (х, х, х~ ) у (х~ ". х~.„а) 0,000 0,600 0,600 — 0,067 — 0,116 0,366 — 0„016 0,866 0,184 Это приближенное значение мало отличается от точного значения у(1,5) = з1п45' =0,707. Таким образом, достаточно помнить только верхнюю косую строку таблицы 2, чтобы вычислять синус с точностью около 0,001. 3 а м е ч а н и е 2.
При заданном числе узлов многочлен Ньютона удобнее вычислять по схеме Горнера, записывая его в виде у(х) =у(х,)+(х — х ) [у(ха, х,)+(х — х,) [у(х„х„х,)+...]]. Но если надо контролировать точность расчета и определять нужное число узлов, то удобнее форма (8).