МУ к лабораторным работам (1238837), страница 3
Текст из файла (страница 3)
Поэтому число n не стоит выбирать слишком большим. Однако, если n слишком мало и погрешность метода существенно больше неустранимой погрешности, то избранныйспособ не полностью использует информацию о решении, содержащуюся во входных данных. Часть этой информации теряется.Наконец, сам выбранный приближенный метод реализуется неточно из-за ошибок округления при вычислениях на реаль12ном компьютере. Так, при вычислении y *n по одной из формул(1.6) на реальном компьютере в результате ошибок округлениямы получим значение ~y n* .Величину | y * ~y * | называют погрешностью округления.nnОна не должна быть существенно больше погрешности метода.В противном случае произойдет потеря точности метода засчет ошибок округления.
Точность метода вычислений такжецелесообразно согласовывать с величиной ожидаемых ошибококругления.Погрешность результата складывается, таким образом, изнеустранимой погрешности, погрешности метода и погрешности округления. Рассмотрим несколько простых примеров.1.3. Вычисление значения функциис помощью разложения ее в ряд ТейлораПусть требуется вычислить значения y sin t. Воспользуемсяразложением функции sin t в окрестности нуля в ряд Тейлора,радиус сходимости которого для данной функции равен бесконечности:sin t t t33!t55!Для вычисления y можно воспользоваться одним из приближенных выражений:y * y1* t * ,ty * y 2* t * y * y n* nk 0*33!,(1) kt * ( 2k 1)( 2 k 1)!.Выбирая для вычисления y одну из приведенных формул, мытем самым выбираем приближенный метод вычисления, точность которого определяется числом привлекаемых членов рядаn.Ряд Тейлора для функции sin t является знакопеременным,13сходится для любого значения t, а его частичная сумма отличается от точного значения функции не более, чем на величинупервого отброшенного члена ряда.
Выбирая n так, чтобыt 2n 1( 2n 1)! ,можно добиться любой наперед заданной точности .Однако при вычислениях на реальном компьютере получить результат с требуемой точностью для t (которое существенно больше единицы) не удается из-за быстрого роста ошибококругления. Последние тем больше, чем больше t. Это связано сразличным характером поведения величины членов ряда Тейлора при t 1 и t 1.
При t 1 члены ряда по абсолютной величине монотонно убывают в зависимости от n. При t 1 членыряда по модулю сначала растут (тем сильнее, чем больше t) итолько потом, достигнув при некотором k m максимума, начинают убывать и стремиться к нулю при n . Для того,чтобы обеспечить при вычислении, например, a m -го (максимального по модулю) члена ряда абсолютную погрешность, непревосходящую , необходимо вычислить его с относительнойпогрешностью, не хуже чем( a m ) am| am || am |.Требуемая относительная точность тем выше, чем больше| a m |, что можно обеспечить только увеличением длины мантиссы.Величина погрешности округления зависит также от того,как алгоритмически реализован приближенный метод.
Например, частичную сумму ряда для функции sin t можно подсчитывать, суммируя члены ряда в их естественном порядке; можносуммировать в обратном порядке (с конца); можно рассматривать отрезок ряда как полином и использовать для его вычисления схему Горнера; можно просуммировать отдельно положительные и отрицательные члены ряда и затем вычесть из первойсуммы вторую и т. д.
(из перечисленных алгоритмов последнийнаиболее чувствителен к ошибкам округления).Схемой Горнера называют запись полинома n-й степени вследующем виде14Pn ( x ) ( ( a n x a n 1 ) x ) x a 0 .Формальное использование этой схемы для вычислениязначений отрезка ряда без учета специфики вычислений на ЭВМприведет к неверным результатам уже при сравнительно небольших n. Сохранив идею, необходимо внести в нее соответствующие коррективы.1.4. Вычисление производнойПусть задана функция f (x ). Необходимо вычислить ее первуюпроизводную в некоторой точке x. Воспользуемся для этогоформулами численного дифференцирования различного порядка аппроксимации.1.5. Формула первого порядка аппроксимацииf ( x h) f ( x)f ( I) ( x) h(1.7).Пусть известно, что | f ( II ) ( ) | M 2 ; тогда погрешность методадля этой формулы имеет первый порядок по h:| r1 | f ( I ) ( x ) f ( x h) f ( x )hM2 h2.(1.8)Пусть значения функции f ( x ) известны с погрешностью( x ), | ( x ) | E.
Даже в случае отсутствия неустранимой погрешности f, при вычислении значения функции на ЭВМ возникает погрешность за счет ошибок округления, и ее величина вэтом случае зависит от представления чисел в машине. Тогдапри вычислении производной по формуле (1.7) возникает погрешность r 2 , причем| r2 | 2Eh(1.9).Для суммарной погрешности r имеем оценку| r | | r 1 | | r 2 | g (h ) M2 h22Eh.(1.10)Для уменьшения погрешности метода необходимо, со15гласно оценке (1.8), уменьшить шаг h, но при этом растет второе слагаемое в (1.10).На рис. 2 представлен характер зависимости погрешностиметода, погрешности вычисления функции и суммарной погрешности в зависимости от шага h.
Минимум суммарной погрешности достигается в точке h* экстремума функции q(h ) :q (h ) 0, причем в ней r 1 r 2 .Рис. 2Тогда имеем для оптимального шага дифференцирования:dq ( h )dh 0,h* 2EM2.(1.11)При использовании формулы (1.7) нельзя рассчитывать наточность более высокую, чемr* E M2 ,(1.12)которая является следствием (1.10) при h h * .Если погрешность при вычислении функции связана лишьс ошибками округления, то в этом случае E 2 t | f |, где t —число разрядов, отводимых под хранение мантиссы числа.
Следовательно, производную можно вычислить, в лучшем случае, споловиной верных знаков (если M 2 и | f | 1 ).Рассмотрим теперь как изменятся результаты в случае ис16пользования формулы численного дифференцирования второгопорядка аппроксимации.1.6. Формула второго порядка аппроксимацииf ( I) ( x) f ( x h) f ( x h)2h(1.13).Пусть известно, что | f ( III ) ( ) | M 3 ; тогда погрешность метода для этой формулы имеет второй порядок по h:M 3 h2f ( x h) f ( x h)| r1 | f ( I) ( x) .2h6(1.14)Пусть значения функции f (x ) известны с погрешностью(x ), | ( x ) | E. Тогда при вычислении производной по формуле (1.13) возникает погрешность | r 2 |, причем| r2 | Eh(1.15).Для суммарной погрешности r имеем оценку:| r | | r 1 | | r 2 | q( h ) M3 h26Eh.(1.16)Для уменьшения погрешности метода необходимо, согласно оценке (1.14), уменьшить шаг h, но при этом растетвтороеРис.
317слагаемое в (1.16). На рис. 3 представлен характер зависимостипогрешности метода, погрешности вычисления функции и суммарной погрешности в зависимости от шага h. Минимум погрешности достигается в точке h — экстремума функции q(h ) :q (h ) 0. Оптимальное значение шага численного дифференцирования есть:h* 33EM3.(1.17)Таким образом, при использовании формулы (1.13) нельзярассчитывать на точность более высокую, чемr* 23 9 E M3.8(1.18)Ниже рассматривается формула четвертого порядка аппроксимации.1.7.
Формула четвертого порядка аппроксимацииf ( I) f ( x 2h ) 8 f ( x h ) 8 f ( x h ) f ( x 2 h )12 h(1.19).Пусть известно, что | f (5) ( ) | M 5 ; тогда погрешность методадля этой формулы имеет четвертый порядок по h:| r1 | f ( I ) f ( x 2h ) 8 f ( x h ) 8 f ( x 2h ) f ( x 2h )12hM5 h430.(1.20)Пусть значения функции f ( x ) известны с погрешностью(x ), | ( x ) | E. Тогда при вычислении производной по формуле (1.19) возникает погрешность | r 2 |, причем| r2 | 3E2h(1.21).Для суммарной погрешности r имеем оценку| r | | r 1 | | r 2 | q(h ) 18M 5 h4303E2h.(1.22)Для уменьшения погрешности метода необходимо, согласно оценке (1.20), уменьшить шаг h, но при этом растетвторое слагаемое в (1.22).На рис.
4 представлен характер зависимости погрешностиметода, погрешности вычислений и суммарной погрешности взависимости от шага h.Рис. 4Минимум погрешности достигается в точке h* экстремумафункции q(h ) : q (h ) 0. Имеем для оптимального шага численного дифференцированияh* 545 E4M 5.(1.23)Таким образом, при использовании формулы (1.19) нельзярассчитывать на точность более высокую, чемr* 15 5 4 E 4 M 5.8151.8. Контрольные вопросы1. Как известно, для вычисления функции ln x можно использовать следующий ряд по x:19ln (1 x ) x x22x33x44 ( 1) k 1xkk(а)Можно представить 1 x в виде 1 x 2 m z, где z [0,5; 1],положив далееy1 z1 z,для представления логарифма получаем рядy3y 2 k 1ln x m ln 2 2 y 32k 1.(б)В чем преимущества и недостатки использования ряда (б)? Какоценить погрешность метода при использовании каждого изэтих разложений?2.
Какова относительная погрешность округления при представлении действительного числа в ЭВМ, если под хранение мантиссы отводится p бит? (Ответ: 2 p . )У ка з а ние: Рассмотрите представление произвольного действительного числа в виде бесконечной двоичной дроби:apa p 1aaa sign a 2 q 1 2 ,2pp12222где a l равно 0 или 1, и соответствующее ему округленноепредставление:ap aa.a sign a 2 q 1 2 2p 2 223. Пусть функция f ( x ) задана таблично: заданы значения аргументов x 0 x1 x 2 x N (расстояние между двумя соседними точками h) и значения функции в них f 0 , f1 , … f N .Самостоятельно выведите формулу вычисления односторонней производной для приближенного вычисления f (x ) вточках x0 и x N с точностью до O(h 2 ) и O( h 3 ).
Найдите оп20тимальные шаги численного дифференцирования. Сравните их соценками для центральных разностей.У ка з а ние: Для вывода формул используйте метод неопределенных коэффициентов, а именно, равенствоf ( x 0 ) 0 f ( x 0 ) 1 f ( x1 ) 2 f ( x 2 )h.Подберите 0 , 1 и 2 так, чтобы равенство выполнялось сточностью до O(h 2 ).4. Вторая и третья производные функции вычисляются по приближенным формуламf ( x ) f ( x h ) 2 f ( x ) f ( x h)h2иf ( x ) f ( x 2 h ) 2 f ( x h ) 2 f ( x h ) f ( x 2h )2h 3.Найдите погрешность метода и неустранимую погрешность при вычислениях по этим формулам.
Найдите оптимальные шаги численного дифференцирования и минимально возможную ошибку.1.9. Порядок выполнения работыНачните выполнение работы с вычисления функции y sin t спомощью ряда Тейлора (пункт меню «Методы» к разделу «Ряды»). Задайте максимальную длину мантиссы (K = 52), обычноиспользуемую при работе с переменными типа double; задайтеначальный интервал изменения аргумента t [0, 10]. Последовательно увеличивая число членов ряда, привлекаемых для вычисления суммы, визуально убедитесь в том, что для фиксированного t точность метода растет с ростом n. Отметьте, что чембольше t, тем большее число членов ряда необходимо привлекать для обеспечения необходимой точности.Отодвиньте правую границу интервала t вправо настолько,чтобы наблюдаемое отклонение от точного значения функцииsin t нельзя было устранить увеличением точности метода.