Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Лабораторно-практическая работа 6




 

Численное дифференцирование

 

 

Введение

 

Решение задач на компьютере условно можно разделить на следующие этапы:

- постановка задачи, её формализация и построение математической модели;

- выбор метода решения и разработка алгоритма;

- составление программы, её отладка и тестирование;

- вычисления, анализ результатов расчета и документирование.

На всех этапах решения задачи на компьютере возникают погрешности, искажающие результаты вычислений. Ошибки результата будут складываться из:

- неточности используемой математической модели;

- погрешности исходных данных;

- погрешности используемого приближенного метода;

- погрешности округления и выполнения арифметических операций.

Если в модели не учтены какие-либо важные черты рассматриваемой задачи, то она может внести существенные погрешности. Погрешность математической модели связана с принятыми допущениями, упрощающими решаемую задачу. Кроме того, важно правильно учитывать область применения модели.

Исходные данные задачи часто являются основным источником погрешности. Эти погрешности не могут быть уменьшены в процессе решения задачи. Следует стремиться к тому, чтобы все исходные данные были примерно одинаковой точности.

Погрешность метода связана, например, с тем, что при решении задачи обычно производную заменяют разностью, интеграл – суммой или бесконечный итерационный процесс обрывают после некоторого конечного числа итераций. При выборе метода вычисления и построении алгоритма погрешность можно регулировать и, поэтому стремятся довести её до величины, в несколько раз меньшей погрешности исходных данных. Дальнейшее её снижение не приведет к повышению точности результатов, а лишь необоснованно увеличит объем вычислений.

Из-за ограниченности разрядной сетки при компьютерных вычислениях неизбежны погрешности округления. В отличие от ручных коротких вычислений, в длинных компьютерных расчетах эти ошибки могут накапливаться. Иногда погрешности округлений в сочетании с плохо организованным алгоритмом могут сильно исказить результаты. В зависимости от реализуемого алгоритма, ошибки округления могут либо расти, либо уменьшаться. Поэтому очень важно использовать, так называемые, устойчивые алгоритмы, в которых ошибки округления не накапливаются.

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

 

Постановка задачи

 

По определению, производной функции называется предел отношения приращения функции к приращению аргумента при его стремлении к нулю:

 

(6.1)

В численных расчетах значение шага полагают равным некоторому конечному числу и для вычисления производной используют приближение производной отношением конечных разностей:

, (6.2)

где введены следующие обозначения , , - узлы, в которых ищется значение производной. Выражение (6.2) представляет собой приближение производной правой конечной разностью. Можно записать приближение с помощью центральных разностей:

(6.3)

Такая аппроксимация производной имеет второй порядок точности .

Составим несложную программу для приближенного вычисления производных и проведем расчеты для разных значений шага h. В качестве теста выберем функцию .

function f(x:real):real;

begin f:=exp(x) end;

function Dr(x,h:real):real;

begin Dr:=(f(x+h)-f(x))/h end;

function D(x,h:real):real;

begin D:=0.5*(f(x+h)-f(x-h))/h end;

var x,y,h:real; k:integer;

begin

h:=1; x:=1.0; y:=f(x);

for k:=1 to 10 do

begin

h:=0.1*h;

writeln(k:3,’ ‘,h:12:10, ‘ ‘,

Dr(x,h):12:8,’ ‘, abs(Dr(x,h)-y):12:10,

D (x,h):12:8,’ ‘, abs(D (x,h)-y):12:10)

end;

readln

end.

 

Уменьшая величину шага на порядок, вычислим приближение к производной с помощью правой и центральной конечных разностей и параллельно ошибки, которые при этом возникают. Табличное значение производной с точностью до девяти знаков после запятой равно . Результаты расчетов сведены в следующую таблицу:

k h Dr(x,h) abs(Dr – y) D(x,h) abs(D – y)

1 0.1000000000 2.85884195 0.1405601265 2.72281456 0.0045327355

2 0.0100000000 2.73191866 0.0136368279 2.71832713 0.0000453051

3 0.0010000000 2.71964142 0.0013595946 2.71828228 0.0000004530

4 0.0001000000 2.71841775 0.0001359167 2.71828183 0.0000000018

5 0.0000100000 2.71829558 0.0000137534 2.71828176 0.0000000709

6 0.0000010000 2.71828685 0.0000050223 2.71828139 0.0000004347

7 0.0000001000 2.71829776 0.0000159362 2.71827957 0.0000022537

8 0.0000000100 2.71866156 0.0003797341 2.71829776 0.0000159362

9 0.0000000010 2.72120815 0.0029263192 2.71938916 0.0011073298

10 0.0000000001 2.72848411 0.0102022769 2.71029421 0.0079876172

Проанализировав приведенные данные можно сделать следующие выводы:

- приближение центральной разность дает лучшие результаты, чем приближение производной правой разностью;

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

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных