Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Численные методы. Ч. 1

.pdf
Скачиваний:
1
Добавлен:
20.11.2023
Размер:
5.3 Mб
Скачать

Погрешность исходных данных

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

параметров в промышленных условиях, как правило, составляет 1 10 “о Точные

иследования при наличии достаточной инструментальной базы и специальных условий

позволяют достичь 0,001

0,0001%

погрешности. Прецизионные измерения

обеспечивают погрешность в

пределах

10-* - Ю*10

Как и в предыдущем случае,

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

Погрешность численного метода

Погрешность метода решения задачи на вычислительной машине определяется неточностью замены алгебраического, дифференциального или интегрального оператора в исходном уравнении поставленной задачи приближенным (линейным или разностным). Например, при замене интеграла конечной суммой:

N

II

где N - число разбиений отрезка [а, Ь], Ь - шаг интегрирования, точное значение площади под графиком заменяется суммой площадей соответствующих прямоугольников (рис 1.2).

Очевидно, что при приближенном определении значения интеграла появляется погрешность, определяемая величиной “лишних” частей взятых прямоугольников. Чем меньше шаг интегрирования h, тем выше точность вычисления значения интеграла.

Рис. 1.2. Схема численного интегрирования

Аналогичная ситуация имеет место при замене производной разностным аналогом (рис. 1.3):

df _ f(x + h) - f(x) dx h

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

Рис. 1.3. Схема численного дифференцирования

Вместе с тем следует иметь в виду, что повышение точности решения модели приводит к ощутимому повышению затрат ресурсов ЭВМ (времени проведения

вычислений и оперативной памяти). Поэтому необходимо придерживаться "золотой

середины”: достижение приемлемых затрат ресурсов при получении удовлетворительной точности.

Погрешность проведения расчетов на вычислительных машинах

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

значение,

а х - приближенное значение той же переменной. Обозначим абсолютную

погрешность б в определении переменной разностью

 

 

6 = х —X .

 

Поскольку точное значение х неизвестно, введем “верхнюю” оценку Д для

величины

погрешности:

|б| < А . Определим

также величину относительной

погрешности

 

 

 

 

6 _ Х-Х

X

 

 

X X

X

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

Погрешности округления чисел в ЭВМ

Округлением будем называть операцию замены заданного числа другим числом,

первые S значащих цифр которого совпадают с соответствующими цифрами исходного числа, а начиная с S+I разряда содержат нули.

Многие практические способы округления чисел выполняют отбрасывание “лишних” разрядов, хотя возможны варианты, при которых в “младший” разряд

округленного числа, в зависимости от ситуации, может добавляться единица.

Пусть,

например, х= 123456789,

тогда при S=7 округленное число принимает

значение

х = 123456700. В этом

случае погрешность округления равна

б = х - х = 89<100=Д ,то есть не превышает единицы'(с соответствующим порядком) в младшем разряде округленного числа.

Всякое вещественное число в компьютере представляется в нормализованном виде

х = а рь, где р - основание, b - показатель степени (целые числа), - мантисса

(вещественное число).

Для определенности и однозначности будем считать р=И),

0.1 < а < 1,0. Ошибки

округления появляются при хранении именно мантиссы

вещественного числа. В представлении чисел на персональных компьютерах IBM достоверными могут быть 7 значащих цифр (для хранения числа отводится 4 байта оперативной памяти), 15 цифр (8 байт) или 19 (10 байт).

Рассмотрим оценки погрешности округления при S=7. Округленное число представляется в виде ±0,ХХХХХХХ-10ь, где под символом X может пониматься любая цифра от 0 до 9. Очевидно, что абсолютная погрешность определяется

значением

 

 

 

 

|б| = |х - х| <; А = 1• 1(Г7 • 10b = 10b-s, S = 7.

Модуль относительной погрешности

 

 

j x - x l , --------- 101!--------

< J 0 l L =10-

 

1 1 |х|

О.ХХХХХХХЮ"

0,1-10

Для некоторых частных случаев погрешность представления вещественных чисел

оценивается:

 

 

 

S = 7,

|е| <10^ =0,0001%,

 

 

S = 15,

|е| < 10'14 = 0,000000000001°/

 

S = 19,

|е| < КГ'* = 0,0000000000000001%.

 

Для всех чисел, представимых в электронно-вычислительной машине, относительная погрешность одна и та же, что очень существенно при получении оценок

погрешностей математических моделей.

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

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

6=(х, + х ,)-(х , +х2) = (х, + х2)-(х , -6 , + х2 - 8 2) = 8 ,+ 8 2,

|5|^Д , +Д2.

Аналогично определяется погрешность результата вычитания:

 

6 = (х ,- Х ;) - ( х1- х2) = (х1- х2) - ( х, - 5 , - х2 +52) = 8 1- 8 2,

|8|< Д ,+ Д ; .

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

6 =(x, Xj)-(x,

Xj) = (х,

x,)-(x, -8,)

(x, -8 .) = x, X, -x, •x, +8,x, +8,x, -6,6. =

= 8,x2+ 62X, - 8,82;

 

 

 

 

s _ x ,

X,

X|

x ,- 6 , _ V ( x , - 6 , ) - x , ( x , - 6 ,) _ x: 6 ,- x , 6 :

x2

x,

Xj

x2 - 8 j

x. (ic2 - 6 2)

x. ( x ,- 6 .)

Оценим относительные погрешности результатов умножения и деления:

. _х,

 

8, _

8:

Хг__х2 _ х2*81 - х, 8 2

х.

х, X;

х, • х2 _ е, - е

Xj (X j-S 2)

х,

 

Хл

X,

 

 

В последних выражениях учитывается, что величины е ,.е 2 « 1 .

Таким образом, при выполнении арифметических операций сложения и вычитания

складываются (вычитаются) абсолютные погрешности, а при умножении и делении относительные погрешности.

“Потеря порядка”и “переполнение”при проведении вычислений на ЭВМ

 

 

Пусть

со

наименьшее положительное

число,

представимое

в ЭВМ:

со = 1,1754943-10 п

при использовании 4 байт, и

со = 2,2250738585072014-10

при

К-

байтовом

представлении вещественной переменной.

Это означает,

что

все

Действительные числа из интервала -со<х<со нельзя представить в ЭВМ в

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

х

Е = 1------ > ± эс, X * 0 . X

С другой стороны, пусть fl - наибольшее положительное число, представимое в ЭВМ. Все действительные числа |х| > fl нельзя представить в нормализованной форме. Приближение числа х определяется как х = П . Очевидно, что и в этом случае имеет

\

место потеря точности: е = 1-------

>±х, х = П = const, х -> ± х .

PNRPU

 

2 . С И С Т Е М Ы Л И Н Е Й Н Ы Х

А Л Г Е Б Р А И Ч Е С К И Х У Р А В Н Е Н И Й

Система m линейных алгебраических уравнений представляется в виде

Ax = f,

(2.1)

где А - квадратная матрица ранга т ;

 

f,'

V

f2

х2

х = - *3 •- искомый вектор.

f= f, ►- правая часть системы уравнений;

хт

Система уравнений (2.1) имеет единственное решение, если определитель det(A) отличен от нуля. В развернутой (компонентной) записи эта система уравнений имеет вид

а ,,'* , + а 12-х2+ а1Я-х, + .. •+ a,m x„, = f,.

 

а2, х , + а22

х2 + а2Я•х3 + .

 

 

аэ>х. + а ,2-х2 + а „ •х ,+ . ••+ a )m'Xm= f>>

(2.2)

.а »Г*1 + а т 2

+ « „ > * » + ••• + а «ш

= L -

 

Прямые методы решения

Прямыми называют методы решения систем линейных алгебраических уравнений, для которых результат получается за конечное, заранее определенное, число арифметических операций. Наиболее популярным среди них является метод Гаусса1.

1 Гаусс Карл Фридрих [30.4.1777 23.2.1855]. С 1795 по 1798 юды учился в Геттингенском университете. В 1799 году получил доцентуру в Брауншвейге, а с 1807 года - кафедру математики и астрономии Геттингенского университета, а также должность директора Геттингенской астрономической обсерватории. С 1802 года являлся иностранным (с 1824 - иностранным почетным) членом Петербургской академии наук.

Метод Гаусса

Рассмотрим процедуру решения системы линейных алгебраических уравнений

методом Гаусса на следующем примере:

2х, +4х2 - 6 х3 = -8,

- 1х,

+4х2

+ 1х3 = 12,

2х,

+ 6х2

+0х3 = 14.

Главный определитель такой системы

 

 

2

4

-6

det(A) = 1

4

1 = 8 ,

2

6

О

что гарантирует единственность решения.

1 шаг. Первая строка системы уравнений делится на первый коэффициент:

1х, + 2х; - Зх3 = -4, 1х, +4х2 + 1х3 = 12, 2х, + 6х2 +0х3 = 14.

2 шаг. Первая строка вычитается из второго уравнения:

1х, +2х2 - З х3 = -4,

|Ох, + 2х2 + 4х3 = 16,

2х, +6х2 + 0х3 = 14.

3 шаг. Из третьего уравнения вычитается первая строка, умноженная на 2: 1х, + 2х2 - З х3 = -4,

-Ох, +2х2 +4х3 = 16,

Ох, +2х2 +6х3 = 22.

4 шаг. Второе уравнение делится на 2:

1х, +2х2 - З х3 = -4,

|Ох, +1х2 +2х3 = 8,

Ох, +2х: +6х, =22.

5 шаг. Из третьего уравнения вычитается второе ypaBHeHnet ум^оженное на 2:

lx, + 2x, - Эх, = -4. Ox, + lx2 + 2x3 =8, Ox, + 0x2 + 2x3 = 6.

6 шаг. Определяются искомые величины:

 

 

 

jlx ,+2х: -Зх, = -4,

fix, +2х2 - З х3 = -4,

Гх, = - 4 - 2х; + Зх, = 1.

<;

Ох, + 1х: + 2х, = 8,

\

х2 = 8 -

2 х 3 = 2,

\

х2 = 8 -2 х ,

=2.

[

х, = 3.

[

х3

= 3.

[

х, = 3.

 

Таким образом, получено решение исходной системы уравнений.

Теперь рассмотрим процедуру получения решения методом Гаусса в более общем

случае. Пусть а,, * 0 . Тогда первое уравнение системы (2.2) можно поделить на этот

коэффициент:

,

Г,

1 х | +С|2 х: +с,)

х ,+ ...+ с 1т-х „= у 1=-±-.

 

а п

С помощью этого уравнения можно преобразовать систему уравнений (2.2) к виду

1-х, + с,2*х2 + с,3-х3 + ... + С1г, Хп, =У,.

 

 

0-х,

+ а(22

х2 + а(23 -х3 +. •• + а,г1т Х т = ^ " = 1 ' : - а :|-Ур

Ох,

+ а 32

х: + а з'з -х, + .. • + а\ т Х „ =fl"

= f , - a )

1 y,.

Ох,

+ а'Л'2 -х: + а ^ - х ,

+ - +

a,: m-xm= c = f m--

у,

Здесь обозначено

= ч - а (|

с,г

i,j = 2,m. В

полученной системе можно

выделить подсистему (т-1) линейных уравнений с (т-1) неизвестными величинами:

a : i

у ; - х з + ..,. + а ' п

а й

• X . + ..

 

а -

х ; + аЦ\ х ; + .

X Е

• х т

Г‘_и и

= f mn

Пусть теперь а1,1! * 0. Поделим второе уравнение системы на этот коэффициенi:

 

f*'* f, - а,, у.

O x , + I - X , +C . J- X, + . . .

Xm = y , = Чтг = ^ — f;-------.

Зм

а ■*>