Федерaльное aгентство по обрaзовaнию
Государственное образовательное учреждение высшего
профессионального образования
«МАТИ» - Российский государственный
технологический университет им. К.Э. Циолковского
ПРИБЛИЖЁННЫЕ ВЫЧИСЛЕНИЯ
Методические указания к лабораторной и курсовой работам по курсам «Вычислительная математика» и «Информатика. Численные методы»
Составители Гурьев Е.К., Зотов В.А.
Москва 2007 PDF created with pdfFactory trial version www.pdffactory.com Данное руководство предназначено для студентов, изучающих численные методы в рамках курсов «Вычислительная математика» и «Информатика. Раздел Численные методы» и выполняющих лабораторные и курсовые работы. В методических указаниях рассмотрены источники и классификация погрешностей результата численного решения задачи, понятия абсолютной и относительной погрешности приближенного числа, правила записи приближенных чисел, округление этих чисел, погрешности арифметических операций над приближенными числами, погрешности функций одной и нескольких переменных, погрешности неявной функции, особенности машинной арифметики, представление вещественных и целых чисел в памяти ЭВМ с учетом особенностей различных форматов хранения данных и процедур ввода и вывода этих данных, понятие машинного эпсилон и его оценка программным путем. Также рассмотрены приближенные вычисления по формуле с использованием правил подсчета цифр, строгого учета предельных абсолютных погрешностей, метода границ. Изложение методов и приемов приближенных вычислений сопровождается большим количеством примеров, большинство из которых выполнены с помощью программирования в системе программирования Borland Pascal и дублируются в интегрированном пакете MATHCAD 11. Дан пример выполнения и оформления курсовой работы по теме «Приближенные вычисления». Приводятся варианты заданий для студентов.
PDF created with pdfFactory trial version www.pdffactory.com
ОГЛАВЛЕНИЕ
1. Источники и классификация погрешностей результата численного решения задачи……………………………………………………………………………………………… 2. Приближенные числа. Абсолютная и относительная погрешности………. 2.1. Абсолютная и относительная погрешности…………………………….. 2.2. Правила записи приближенных чисел…2.3. Округление…………………………………………………………………… 3. Погрешности арифметических операций над приближёнными числами.. 4. Погрешность функции…………………………………………………………….. 4.1. Погрешность функции многих переменных……………………………. 4.2. Погрешность функции одной переменной……………………………... 4.3. Погрешность неявной функции…………………………………………... 5, Особенности машинной арифметики…………………………………………… 5.1. Системы счисления………………………………………………………… 5.2. Представление целых чисел……………………………………………… 5.3. Представление вещественных чисел…………………………………… 5.3.1. Особенности представления чисел с фиксированной и плавающей запятой в памяти ЭВМ в различных форматах 5.3.2. Погрешности вычисления элементарных функций с учётом 5.4. Арифметические операции над числами с плавающей точкой……. 5.5. Удвоенная точность……………………………………………………….. 5.6. Вычисление машинного эпсилон………………………………………... 5.7. Универсальная формула оценки погрешности вычислений……….. 6, Приближённые вычисления по формуле………………………………………. 6.1. Вычисления по правилам подсчета цифр……………………………… 6.2. Вычисления со строгим учетом предельных абсолютных 6.3. Вычисления по методу границ…………………………………………… 7. Контрольные вопросы……………………………………………………………… 8. Варианты заданий для лабораторных и курсовых работ……………………. 9. Образец оформления курсовой работы по дисциплинам «Информатика» и «Вычислительная математика»…………………………………………………... Литература………………………………………………………………………………. PDF created with pdfFactory trial version www.pdffactory.com 1. Источники и классификация погрешностей результата численного решения Получаемое на ЭВМ решение y почти всегда (за исключением специальных случаев) содержит погрешность, т.е. является приближенным. Невозможность получения точного решения следует уже из ограниченной разрядности вычислительной машины. Наличие погрешности решения обусловлено рядом причин:
1°. Математическая модель является приближенным описанием реального процесса. Характеристики процесса, вычисленные в рамках принятой модели, заведомо отличаются от истинных характеристик, причем их погрешность зависит от степени адекватности модели реальному процессу.
2°. Исходные данные, как правило, содержат погрешности, поскольку они либо получаются в результате экспериментов (измерений), либо являются результатом решения некоторых вспомогательных задач.
3°. Применяемые для решения задачи методы в большинстве случаев являются приближенными. Найти решение возникающей на практике задачи в виде конечной формулы возможно только в отдельных, очень упрощенных ситуациях.
4°. При вводе исходных данных в ЭВМ, выполнении арифметических операций и выводе результатов на печать производятся округления.
Пусть y — точное значение величины, вычисление которой является целью поставленной задачи. Соответствующая первым двум из указанных причин погрешность y называется неустранимой погрешностью. Такое название вызвано тем, что принятие математической модели и задание исходных данных вносит в решение ошибку, которая не может быть устранена далее. Уменьшить эту погрешность можно только, переходя к более точной математической модели и задавая более точные исходные данные.
Погрешность y, источником которой является метод решения задачи, называется погрешностью метода, а погрешность y, возникающая из-за округлений при вводе, выводе и вычислениях, — вычислительной погрешностью.
Полная погрешность результата решения задачи на ЭВМ y = y y складывается из трех составляющих: неустранимой погрешности, погрешности метода и вычислительной погрешности, т.е. y = y + y + y.
При фиксированных математической модели и входных данных повлиять на значение величины y нельзя. Знание порядка величины y позволяет осознанно выбрать метод решения задачи и разумно задать его точность. Погрешность метода должна быть в 2—10 раз меньше неустранимой погрешности. Большее значение y снижает точность результата, а меньшее требует увеличения затрат, практически уже не влияя на значение полной погрешности.
Вычислительная погрешность при фиксированных модели, входных данных и методе решения в основном определяется характеристиками используемой ЭВМ.
Желательно, чтобы величина y была хотя бы на порядок меньше величины погрешности метода. Анализ погрешностей при решении прикладной задачи и соблюдение разумного компромисса между ними позволяет существенно экономить используемые ресурсы.
Числа, получаемые при решении на ЭВМ прикладных задач, как правило, являются приближенными. Поэтому вопрос о точности результатов, т.е. о мере их уклонения от истинных значений, в теории и практике методов вычислений имеет огромное значение. Рассмотрим основные понятия элементарной теории погрешностей. Введем обозначения, которые будут использоваться при сравнении величин. Кроме привычных знаков “=”, “ ”, “ ”. В случае, когда положительные величины a и b являются величинами одного PDF created with pdfFactory trial version www.pdffactory.com порядка (т.е.10 < a / b < 10 ) будем использовать обозначение a b.Если же a В значении числа f берем 3 знака после запятой, как и в в числе c В значении числа g берем 3 знака после запятой, как и в в числах e и f PDF created with pdfFactory trial version www.pdffactory.com В значении числа z берем 3 знака после запятой, как и в в числах d и g 6.2. Вычисления со строгим учетом предельных абсолютных погрешностей.
Этот метод предусматривает использование правил вычислений предельных абсолютных погрешностей результатов выполнения арифметических действий и формул оценки погрешности значений функций, изложенных в разделах 3,4. При пооперационном учете погрешностей выполняются пошаговые вычисления со строгим учетом предельных абсолютных погрешностей каждой операции.
Промежуточные результаты округляются до одной запасной цифры. Значение погрешностей округляются с возрастанием до двух значащих цифр.
1) РЕШЕНИЕ В СИСТЕМЕ ПРОГРАММИРОВАНИЯ BORLAND
PASCAL
var a,da,b,db,c,dc,z,z0,dz,z1,d,dd,d1,e,e1,de,f,f1,df,g,g1,dg,h,h1,dh:real;a:=0.7219; da:=0.0001;
b:=135.347; db:=0.001;
c:=0.013; dc:=0.001;
writeln('Вычисление по формуле Z=(ln(b)-a)/(a*a+12*c) методом ');
writeln('строгого учета предельных абсолютных погрешностей');
writeln('a=',a:8:4,' da=',da:8:4);
writeln('b=',b:8:4,' db=',db:8:4);
writeln('c=',c:8:4,' dc=',dc:8:4);
d:=ln(b); dd:=db/b;
writeln('d=',d:1:6,' dd=',dd:1:7);
write('Введите округленное значение d d1=');read(d1);
e:=d1-a;de:=dd+da;
writeln('e=',e:1:6,' de=',de:1:7);
write('Введите округленное значение e e1=');read(e1);
f:=a*a;df:=2*a*da;
writeln('f=',f:1:6,' df=',df:1:7);
write('Введите округленное значение f f1=');read(f1);
g:=12*c;dg:=12*dc;
writeln('g=',g:1:6,' dg=',dg:1:7);
write('Введите округленное значение g g1=');read(g1);
h:=f1+g1;dh:=df+dg;
writeln('h=',h:1:6,' dh=',dh:1:7);
PDF created with pdfFactory trial version www.pdffactory.com write('Введите округленное значение h h1=');read(h1);
z:=e1/h1;dz:=(e1*dh+h1*de)/sqr(h1);
writeln('z=',z:1:6,' dz=',dz:1:7);
write('Введите округленное значение z z1=');read(z1);
z0:=(ln(b)-a)/(a*a+12*c);
writeln('Точное значение z=',z0:1:6);
Вычисление по формуле Z=(ln(b)-a)/(a*a+12*c) методом строгого учета предельных абсолютных погрешностей d=4.907842 dd=0. Введите округленное значение d d1=4. e=4.185940 de=0. Введите округленное значение e e1=4. f=0.521140 df=0. Введите округленное значение f f1=0. g=0.156000 dg=0. Введите округленное значение g g1=0. h=0.671100 dh=0. Введите округленное значение h h1=0. z=6.247612 dz=0. Введите округленное значение z z1=6. Точное значение z=6. Вычисление со строгим учетом предельных абсолютных погрешностей Округляем число d = 4.907842 по абсолютной погрешности d = 0.0000074 в широком смысле d1=4. PDF created with pdfFactory trial version www.pdffactory.com смысле e1=4. PDF created with pdfFactory trial version www.pdffactory.com 6.3. Вычисления по методу границ. Если нужно иметь абсолютно гарантированные границы возможных значений вычисляемой величины, используют специальный метод вычислений – метод границ.
Пусть z=f(x,y) – функция непрерывная и монотонная в некоторой области допустимых значений аргументов x и y. Нужно получить её значения f(a,b), где a и b – приближенные значения аргументов, причем достоверно известно, что a1 < a < a 2, b1 < b < b 2. Здесь a1, b1 и a 2, b2 – обозначения соответственно нижних и верхних границ значений параметров a и b.
Итак, вопрос состоит в том, чтобы найти строгие границы значения f(a,b) при известных границах значений a и b, используя свойства монотонности функции z=f(x,y) по соответствующим аргументам. Для этого приходится вычислять частные производные по этим аргументам.
1) РЕШЕНИЕ В СИСТЕМЕ ПРОГРАММИРОВАНИЯ BORLAND
PASCAL
var a,da,a1,a2,b,db,b1,b2,c,dc,c1,c2,z,z1,z2:real;a:=0.7219; da:=0.0001;
b:=135.347; db:=0.001;
c:=0.013; dc:=0.001;
writeln('Вычисление по формуле Z=(ln(b)-a)/(a*a+12*c) методом границ');
writeln('a=',a:8:4,' da=',da:8:4);
writeln('b=',b:8:4,' db=',db:8:4);
writeln('c=',c:8:4,' dc=',dc:8:4);
a1:=a-da; a2:=a+da;
b1:=b-db; b2:=b+db;
c1:=c-dc; c2:=c+dc;
writeln('нижняя граница a=',a1:1:5);
writeln('верхняя граница a=',a2:1:5);
writeln('нижняя граница b=',b1:1:5);
writeln('верхняя граница b=',b2:1:5);
writeln('нижняя граница c=',c1:1:5);
writeln('верхняя граница c=',c2:1:5);
z:=(ln(b)-a)/(a*a+12*c);
writeln('chislo z= ',z:1:5);
z1:=(ln(b1)-a2)/(a2*a2+12*c2);
writeln('нижняя граница z1= ',z1:1:5);
z2:=(ln(b2)-a1)/(a1*a1+12*c1);
writeln('верхняя граница z2= ',z2:1:5);
Вычисление по формуле Z=(ln(b)-a)/(a*a+12*c) методом границ b=135.3470 db= 0. нижняя граница a=0. верхняя граница a=0. PDF created with pdfFactory trial version www.pdffactory.com нижняя граница b=135. верхняя граница b=135. нижняя граница c=0. верхняя граница c=0. нижняя граница z1= 6. верхняя граница z2= 6.