Теория — вычислительная математика

advertisement
1. Краткие теоретические сведения
Процесс нахождения приближенных корней уравнения разбивается на два этапа:
1. отделение корней;
2. уточнение корней по заданной степени точности.
Отделить корни – это значит разбить всю область допустимых значений на отрезки, в каждом из которых содержится
один корень. Отделение корней проводится графически. Для этого все члены заданного уравнения
F ( x)  0
(1.1)
разбивают на две группы, одну из них записывают в левой части уравнения, а другую в правой. Таким образом,
уравнение (1) представляют в виде
f1  x   f 2  x  .
После этого на одном чертеже строят графики двух функций
y  f1  x  и y  f 2  x  . Абсциссы точек пересечения
графиков этих двух функций и служат корнями данного уравнения. Если искомый корень
уточнить с точностью до
касательных и др.
 различными методами.
Пусть уравнение (1.1) имеет на отрезке
r   а; в  , то его можно
Например, методом половинного деления, методом хорд, методом
 а; в единственный корень
x  r и функция y  F ( x) непрерывна на
ab
. Если F ( x0 )  0 (что наиболее верно), то
2
возможны два случая: 1) F (a ) и F ( x0 ) имеют разные знаки, а F ( x0 ) и F (b) одинаковые знаки; 2) F (a ) и F ( x0 )
отрезке
 а; в .
Разделим отрезок
 а; в
пополам точкой x0 
 а; x0  или  x0 ; в , на концах
F ( x ) имеют разные знаки. Полученный отрезок принимает за новый отрезок  а; в  , делим
имеют одинаковые знаки, а F ( x0 ) и F (b) разные знаки. Выбираем тот из двух отрезков
которого значения функции
его пополам точкой x1 и далее поступаем также, как было указано выше. В результате процесса половинного деления
получаем последовательность точек x0 , x1 ,...xn , xn 1. Критерием окончания
метода половинного деления является
выполнение условия
xn 1  xn  
(1.2)
(  - заданная точность), тогда искомый корень r  xn 1 .
Для уточнения корня
 а; в должна
r уравнения (1) методом хорд функция F ( x) на отрезке
непрерывной и иметь производные первого и второго порядков. В методе хорд существуют два случая:
I. Первая и вторая производные функции F ( x ) имеют одинаковые знаки на рассматриваемом отрезке
быть
 а; в ,
содержащем искомый корень, т.е. F ( x )  0 и F ( x)  0 или F ( x )  0 и F ( x)  0 . В этом случае искомый корень
уравнения (1) вычисляется по формуле
xn 1  xn 
F ( xn )(b  xn )
,
F (b)  F ( xn )
(1.3)
где x0  a - начало рассматриваемого отрезка.
II. Первая и вторая производные функции
F ( x ) имеют разные знаки на рассматриваемом отрезке  а; в  ,
содержащем искомый корень, т.е. F ( x )  0 и F ( x)  0 или F ( x )  0 и F ( x)  0 . В этом случае искомый корень
уравнения (1) вычисляется по формуле
xn 1  xn 
F ( xn )(a  xn )
,
F (a )  F ( xn )
(1.4)
где x0  b - конец рассматриваемого отрезка.
Критерием окончания указанного процесса является выполнение условия (2). Тогда искомый корень r  xn 1 .
Для уточнения корня
r уравнения (1.1) методом касательных функция F ( x) на отрезке
 а; в 
должна иметь
непрерывные производные первого и второго порядков, сохраняющие на указанном отрезке постоянные знаки.
методе касательных, также как и в методе хорд существуют два случая:
I. Первая и вторая производные функции F ( x ) имеют одинаковые знаки на рассматриваемом отрезке
В
 а; в ,
содержащем искомый корень, т.е. F ( x )  0 и F ( x)  0 или F ( x )  0 и F ( x)  0 . В этом случае искомый корень
уравнения (1) вычисляется по формуле
xn 1  xn 
F ( xn )
,
F ( xn )
(1.5)
где x0  b - конец рассматриваемого отрезка.
II. Первая и вторая производные функции
F ( x) имеют разные знаки на рассматриваемом отрезке  а; в  ,
содержащем искомый корень, т.е. F ( x )  0 и F ( x)  0 или F ( x )  0 и F ( x)  0 . В этом случае искомый корень
уравнения (1.1) вычисляется также по формуле (1.5), только x0  a - начало рассматриваемого отрезка. Критерием
окончания указанного процесса является выполнение условия (1.2). Тогда искомый корень r  xn 1 .
2. Краткие теоретические сведения
Системой линейных уравнений
относительно неизвестных x1 , x 2 , , x n называется конечная совокупность
уравнений вида
 a11 x1  a12 x2 
 a x a x 
 21 1 22 2


 am1 x1  am 2 x2 
 a1n xn  b1 ,
 a2 n xn  b2 ,
(2.1)
 amn xn  bm,
где a ij – коэффициенты при неизвестных, bi свободные члены.
Решением системы уравнений (2.1) называется упорядоченный набор чисел, x1 , x 2 , , x n удовлетворяющий
всем уравнениям данной системы, т.е. обращающий их в верные равенства.
Система линейных уравнений называется совместной, если она имеет хотя бы одно решение, и несовместной,
если она не имеет решений. Совместная система называется определенной, если она имеет единственное решение, и
неопределенной, если более одного решения. Неопределенная система линейных уравнений всегда имеет бесконечное
множество решений.
Две системы линейных уравнений называются эквивалентными, если каждое решение первой системы является
решением второй, и обратно.
К элементарным преобразованиям системы относятся:
1. перестановка двух уравнений системы;
2. умножение обеих частей одного из уравнений на любое число отличное от нуля;
3. прибавление к обеим частям одного уравнения соответствующих частей другого, умноженного на
некоторое число.
Элементарные преобразования переводят данную систему уравнений в эквивалентную систему.
Любую систему линейных уравнений при помощи конечного числа элементарных преобразований можно привести
к ступенчатому, в частности к треугольному, виду. Особенность такой системы заключается в том, что в левой части
каждого последующего уравнения число членов уменьшается на один. Например,
 x1  x2

3x2




x3
 4 x3
6 x3
 2 x4


x4
x4
 x1  2 x2  5 x3  19,

 0, или 
3x2  4 x3  15,

 4,
2 x3  6.


2,
Этот прием называется прямым ходом метода Гаусса. А нахождение переменных, начиная с последнего уравнения
системы и заканчивая первым, называется обратным ходом метода Гаусса.
Практически удобнее приводить к ступенчатому виду не саму систему уравнений, а матрицу из коэффициентов при
неизвестных и свободных членов.
Методы решения систем линейных уравнений делятся на две группы – прямые и итерационные. Прямые методы
используют конечные соотношения (формулы) для вычисления неизвестных. Они дают решение после выполнения
заранее известного числа операций. Эти методы сравнительно просты и универсальны, т.е. пригодны для решения
широкого класса линейных систем. Существенным недостатком прямых методов является накапливание погрешностей в
процессе решения, поскольку вычисления на любом этапе используют результаты предыдущих операций.
Прямые методы решения линейных систем иногда называют точными, поскольку решение выражается в виде
точных формул через коэффициенты системы. К прямым методом относятся правило Крамера (решение систем при
помощи определителей), метод Гаусса (приведение матрицы системы к треугольному или ступенчатому виду) и др.
Итерационные методы – это методы последовательных приближений. В них необходимо задать некоторое
приближенное решение – начальное приближение. После этого с помощью некоторого алгоритма проводится один цикл
вычислений, называемый итерацией. В результате итерации находят новое приближение. Итерации проводятся до
получения решения с требуемой точностью.
Одним из самых распространенных итерационных методов, отличающийся простотой и легкостью
программирования, является метод Гаусса-Зейделя. Для решения системы линейных алгебраических уравнений вида
а11 x1  а12 x2  а13 x3  b1 ,

а21 x1  а22 x2  а23 x3  b2 ,
а x  а x  а x  b ,
 31 1 32 2 33 3 3
(2.2)
итерационным методом Гаусса-Зейделя диагональные элементы à11 , à22 , à33 должны быть отличны от нуля (в противном
случае можно переставить уравнения системы). Далее необходимо выразить неизвестные x1 , x2 , x3 соответственно из 1го, 2-го, 3-го уравнений системы (2.2):
x1 
Для
дальнейшего
1
1
решения
1
(b1  а12 x2  а13 x3 ),
а11
(2.3)
x2 
1
(b2  а21 x1  а23 x3 ),
а22
(2.4)
x3 
1
(b3  а31 x1  а32 x2 ).
а33
(2.5)
задаются
некоторые
начальные
(нулевые)
приближения
неизвестных:
1
x1  x1 , x2  x2 , x3  x3 . Подставляя эти значения в правую часть выражения (2.3), получаем новое (первое)
приближение для x1 :
x1  
1
1
0
0
(b1  а12 x2   а13 x3  ).
а11
Используя это значение для
x1  и приближение x3  для x3 , находим из (2.4) первое приближение для x2 :
1
0
x2  
1
И наконец, используя вычисленные значения
1
1
0
(b2  а21 x1   а23 x3  ).
а22
x1  x1  , x2  x2  , находим с помощью выражения (2.5) первое
1
1
приближение для x3 :
x3  
1
1
1
1
(b3  а31 x1   а32 x2  ).
а33
На этом заканчивается первая итерация системы (2.3)-(2.5). Используя, теперь, значения
итерация, в результате которой будут найдены вторые приближения к решению:
Приближение с номером k можно представить в виде:
x1  , x2  , x3  , проводится вторая
1
1
1
x1  x1  , x2  x2  , x3  x3  и т.д.
2
2
2
x1  
1
k 1
k 1
(b1  а12 x2   а13 x3  ),
а11
x2  
1
k
k 1
(b2  а21 x1   а23 x3  ),
а22
x3  
1
k
k
(b3  а31 x1   а32 x2  ).
а33
k
k
k
После каждой k - той итерации вычисляются значения свободных членов системы (2.2):
b1   а11 x1   а12 x2   а13 x3  ,
k
k
k
k
b2   а21 x1   а22 x2   а23 x3  ,
k
k
k
k
b3   а31 x1   а32 x2   а33 x3
k
и значения невязок
k
k
k
k
k
k
k
k
k
r1   b1  b1  , r2   b2  b2  , r3   b3  b3  . Итерационный процесс продолжается до тех пор,
пока значения всех невязок, взятые по модулю, не станут меньше либо равны заданной точности. Т.е.
r1
k
 b1  b1
k
r2
k
 b2  b2
r3
k
 b3  b3
 ,
k
 ,
k
 .
Если хотя бы одна из невязок k-той итерации, взятая по модулю, больше заданной точности
 , то итерационный процесс
необходимо продолжить.
Для сходимости итерационного процесса достаточно, чтобы модули диагональных коэффициентов для каждого
уравнения системы были не меньше сумм модулей всех остальных коэффициентов:
а11  а12  а13 ,
а22  а21  а23 ,
(2.6)
а33  а31  а32 .
Эти условия являются достаточными для сходимости метода, но они не являются необходимыми, т.е. для некоторых
систем итерации сходятся и при нарушении условий (2.6).
3. Краткие теоретические сведения
Интерполирование представляет собой одну из задач приближения (аппроксимации) функций. Если величина y
является функцией аргумента x , то это означает, что любому значению x из области определения функции поставлено в
соответствие значение y . Однако на практике часто неизвестна явная связь между y и x , т.е. невозможно записать эту
связь в виде некоторой зависимости y  f ( x) . В некоторых случаях даже при известной зависимости y  f ( x) она
настолько громоздка, что ее применение в практических расчетах затруднительно.
Наиболее распространенным и практически важным случаем, когда вид связи между
является задание этой связи в виде некоторой таблицы
xi , yi  .
y и x неизвестен,
Эти значения либо результаты расчетов, либо
экспериментальные данные. На практике могут понадобиться значения величины y и в других точках, отличных от
точек xi . Этой цели и служит задача о приближении (аппроксимации) функций: данную функцию
приближенно заменить (аппроксимировать) некоторой функцией
  x  так,
f  x  требуется
чтобы отклонение (в некотором смысле)
  x  от f  x  в заданной области было наименьшим. Функция   x  при этом называется аппроксимирующей.
Для практики весьма важен случай аппроксимации функции многочленом
 ( x)  a0  a1 x  a2 x 2  ...  am x m .
(3.1)
Если приближение строится на заданном дискретном множестве точек
ней относится интерполирование. При
отрезке
 xi  , то аппроксимация называется точечной. К
построении приближения на непрерывном множестве точек (например, на
a; b ) аппроксимация называется непрерывной (или интегральной).
Интерполирование является одним из основных типов точечной аппроксимации. Задачу интерполирования можно
сформулировать так: для данной функции y  f ( x) требуется построить многочлен (3.1), принимающий в заданных
точках xi те же значения yi , что и функция f ( x ) , т.е.
 ( xi )  f ( xi ), i  0,1, 2,..., n.
(3.2)
При этом предполагается, что среди точек xi нет одинаковых. Эти точки называются узлами интерполяции, а многочлен
 ( x)
- интерполяционным многочленом.
Интерполяционные формулы (функции, в частности многочлены) используют, прежде всего, для вычисления
приближенных значений табличной
функции yi  f ( xi ) в промежуточных точках между узлами интерполяции, а
также и для решения многих других задач.
В теории интерполяции доказано, что для табличной функции yi  f ( xi ) , где i  0,1, 2,..., n ,
т.е. функции
заданной в ( n  1) узле xi , среди которых нет совпадающих, можно построить единственный интерполяционный
многочлен степени n (степень n на единицу меньше общего числа узлов).
Существуют различные виды записи и построения единственного интерполяционного многочлена степени
табличной функции yi  f ( xi ) , заданной в
 n  1
n для
узле xi , i  0,1, 2,...n .
Один из них известен как многочлен (формула) Лагранжа:
n
Ln ( x)   yi
i 0
( x  x0 )( x  x1 )...( x  xi 1 )( x  xi 1 )...(x  xn )
.
( xi  x0 )( xi  x1 )...( xi  xi 1 )( xi  xi 1 )...(xi  xn )
(3.3)
Этот многочлен обращается в нуль во всех узлах интерполяции, за исключением одного i - го, где он должен равняться
единице.
Другой вид записи интерполяционного многочлена n -ой степени использует понятия конечных разностей. Кроме
того, в
Число
данном случае предполагается, что все узлы равноотстоящие, т. е.
h
xi 1  xi  h  const , i  0,1, 2,..., n  1.
называется шагом интерполяции.
Рассмотрим следующие разности значений функции yi  f ( xi ) :
y0  y1  y0 ; y1  y2  y1; yn1  yn  yn1.
Эти величины называются разностями первого порядка. При помощи разностей первого порядка можно составить
разности второго порядка
 2 y0  y1  y0 ;  2 y1  y2  y1 ;  2 yn  2  yn 1  yn  2 .
При помощи разностей второго порядка можно составить разности третьего порядка
 3 yi   2 yi 1   2 yi , i  0,1, 2,..., n  3 ,
и т.д., можно составить разности любого порядка.
Используя конечные разности и предполагая, что узлы - равноотстоящие, можно представить другой вид
интерполяционного многочлена, носящего название интерполяционного многочлена (формулы) Ньютона:
N ( x)  y0 
Эту
y0
 2 y0
 n y0
( x  x0 ) 
(
x

x
)(
x

x
)

...

( x  x0 )( x  x1 )( x  x2 )...( x  xn 1 ).
0
1
1!h
2!h2
n !h n
формулу
можно
N ( x0  th)  y0  t y0 
где t 
записать
в
более
удобном
для
практического
использования
t (t  1) 2
t (t  1)(t  2) 3
t (t  1)...(t  n  1) n
 y0 
 y0  ... 
 y0 ,
2!
3!
n!
виде:
(3.4)
( x  x0 )
.
h
С целью повышения точности расчетов и уменьшения числа членов в формуле (4), ограничиваются случаем
, т. е. используют формулу (3.4) при x0  x  x1 .
t 1
Для других значений аргумента, например, x1  x  x2 , вместо
значения x0 принимается x1 . Таким образом, интерполяционный многочлен Ньютона можно записать в виде
N ( xi  th)  yi  t yi 
где t 
t (t  1) 2
t (t  1)(t  2) 3
t (t  1)...(t  n  1) n
 yi 
 yi  ... 
 yi ,
2!
3!
n!
(3.5)
( x  xi )
. Выражение (3.5) называется первым интерполяционным многочленом Ньютона для интерполирования
h
вперед. Эту формулу обычно используют для вычисления значений функции в точках левой половины рассматриваемого
отрезка. Для правой половины рассматриваемого отрезка разности лучше вычислять справа на лево. В этом случае
t
( x  xn )
, т.е. t  0 и интерполяционный многочлен Ньютона можно записать в виде
h
t (t  1) 2
t (t  1)(t  2) 3
t (t  1)...(t  n  1) n
N ( xn  th)  yn  t yn 1 
 yn  2 
 yn 3  ... 
 y0 . (3.6)
2!
3!
n!
Эта формула называется вторым интерполяционным многочленом Ньютона для интерполирования назад.
4. Краткие теоретические сведения
Анализ экономических и технических процессов приводит к необходимости выявления существенных факторов,
влияющих на исследуемый процесс, а также к выбору формы связи между факторами и к оценке параметров полученных
уравнений связи.
Если уравнение связи между двумя варьируемыми величинами x и y представляет собой сложную
функциональную зависимость y  f ( x) , то ее можно на заданном отрезке  a; b  приближенно заменить более простыми
математическими зависимостями такими, например, как прямолинейная или параболическая. Для построения таких
зависимостей существует ряд методов. Рассмотрим наиболее распространенный метод – метод наименьших квадратов.
Для заданной функции y  f ( x) на отрезке
 a; b 
и значения
n
вычисляют приближенные значения
функции yi  f ( xi ) i  0,1,2,..., n , округляя их до пяти знаков после запятой, где xi  x0  ih ; x0  a ; xn  b ,
h  (b  a) / n .
2
Записывают уравнения прямой y  a0  a1 x и параболы y  a0  a1 x  a2 x . Для нахождения уравнения
прямой y  a0  a1 x по методу наименьших квадратов необходимо решить систему линейных уравнений второго порядка с двумя неизвестными a0 и a1 :
n
n

(
n

1)
a

a
x

 yi ,
0
1 i


i 0
i 0
 n
n
n
a
xi  a1  xi2   xi yi .

0
 i 0
i 0
i 0
Для нахождения уравнения
параболы y  a0  a1 x  a2 x по методу наименьших квадратов необходимо решить
2
систему линейных уравнений третьего порядка с тремя неизвестными a0 , a1 , a2 :
n
n
n
 
2


a
(
n

1)

a
x

a
x

 yi ,
1  i
2  i
 0
i 0
i 0
i 0

n
n
n
n

2
3
a0  xi  a1  xi  a2  xi   xi yi ,
i 0
i 0
i 0
 i 0
n
n
n
n

a0  xi2  a1  xi3  a2  xi4   xi2 yi .
 i 0
i 0
i 0
i 0
Чтобы решить представленные две системы уравнения необходимо выполнить расчеты, представляющие собой
следующую таблицу:
i
xi
xi2
yi
xi3
xi4
xi2 yi
xi yi
0
1
2
.
.
.
n

n
 xi
i 0
n
n
n
 xi2
 yi
i 0
n
 xi3
i 0
n
 xi4
i 0
n
 xi yi
i 0
 xi2 yi
i 0
i 0
Последняя строка таблицы представляет собой суммы элементов соответствующего столбца. После этого,
системы решаются любым известным методом, например, методом Крамера (при помощи определителей) или методом
Гаусса (в матрицах). Найденные коэффициенты вставляют в соответствующие уравнения прямой y  a0  a1 x и
параболы y  a0  a1 x  a2 x 2 .
Чтобы выбрать из двух найденных зависимостей (прямолинейной и параболической) - наилучшую, вычисляют
погрешности полученных зависимостей:
а) критерий метода наименьших квадратов
n
n
Ф  a0 ,..., am     yi  yi    i 2 .
2
i 0
i 0
(Для прямой m  1 , а для параболы m  2 );
б) абсолютную среднеквадратическую ошибку
y 
Ф(a0 ,..., am )
;
n 1
в) относительную среднеквадратическую ошибку
y
Ф  a0 , a1 ,..., am 
n
 yi
100%.
2
i 0
Данные для расчета погрешностей оформляют в виде следующей таблицы:
i
xi
yi
y  a0  a1 x  a2 x 2
y  a0  a1x
yi 2
yi
 i 2   yi  yi 
2
yi
 i 2   yi  yi 
2
0
1
2
n

Далее, сравнивают полученные результаты, и указывают - какая из полученных приближенных зависимостей лучше и
почему.
Графики заданной функции,
прямой
и параболы изображены на рис 7. На рисунке видно, что парабола лучше
«отслеживает» точки исходной табличной функции по сравнению с прямой. Так, в данном случае лучшей для
приближения заданной функции является параболическая зависимость (из двух предложенных по заданию видов
зависимостей), что подтверждается величинами погрешностей аппроксимации - погрешности для параболы меньше
погрешностей для прямой.
5. Краткие теоретические сведения
Уравнение, в котором неизвестная функция входит под знаком производной или дифференциала, называется
дифференциальным уравнением.
Если неизвестная функция, входящая в дифференциальное уравнение, зависит только от одной переменной, то
дифференциальное уравнение называется обыкновенным.
Порядком дифференциального уравнения называется наивысший порядок производной (или дифференциала),
входящей в уравнение.
Дифференциальное уравнение первого порядка, разрешенное относительно производной, может быть записано в
виде
y  f  х, y  . Методы точного решения (интегрирования) дифференциальных уравнений пригодны лишь для
сравнительно небольшой части уравнений, встречающихся на практике. Поэтому большое значение имеют методы
приближенного решения дифференциальных уравнений, которые в зависимости от формы представления решения
можно разделить на две группы:
1. аналитические методы, дающие приближенное решение дифференциального уравнения в виде
аналитического выражения;
2. численные методы, дающие приближенное решение в виде таблицы.
Решить дифференциальное уравнение
y  f  х, y  численным методом – это значит для заданной последовательности
аргументов x0 , x1, x2 ,...xn и числа y0 , не определяя функцию
y  y  x  , найти такие значения y1, y2 ,... yn , что
yi  y  xi  , i  1,2,...n и y  x0   y0 . Таким образом, численные методы позволяют вместо нахождения функции
y  y  x  получить таблицу значений этой функции для заданной последовательности аргументов с шагом h .
Согласно методу Эйлера с пересчетом каждое приближенное значение yi 1 решения дифференциального
уравнения
y  f  х, y  находится в два этапа: сначала вычисляется промежуточное значение
yi 1  yi  h  f  xi , yi  ,
Затем искомое приближение
h
yi 1  yi  [ f  xi , yi   f  xi 1 , yi 1 ].
2
Результаты и значения промежуточных вычислений представляются в виде таблицы:
6. Краткие теоретические сведения
Из курса математического анализа известно, что если функция
определенный интеграл от этой функции в пределах от
a до
f  õ непрерывна на отрезке  a; b , то
b существует и имеет вид
b
 f  x dx  F  b   F  a  ,
a
где
F  x  - первообразная для функции f  õ .
Для большинства элементарных
функций первообразную
F  x  не удается выразить через элементарные
функции. Кроме того, при практических расчетах подынтегральная функция задается в виде таблицы или сама по себе
достаточно сложная. Все это приводит к необходимости замены интегрирования численными методами.
Задача численного интегрирования состоит в следующем: найти определенный интеграл на отрезке
подинтегральная функция на отрезке
a; b , если
a; b задана таблично.
Формулы приближенного интегрирования называются квадратурными. Рассмотрим простейшие из них.
Метод прямоугольников (формула прямоугольников):
b

n 1
f  x dx  h   yi  0,5 .
i 0
a


где yi  0,5  f xi  0,5 , xi  0,5  xi 
Например, для
h
.
2
n  12
b
 f  x dx  h  y00,5  y10,5  y20,5...  y110,5 .
a
Метод трапеций (формула трапеций):
b

f  x dx  h  (
a
Например, для
y0  yn n 1
  yi ).
2
i 1
n  12
b
 f  x dx  h  (
a
y0  y12
 y1  y2  ...  y11 ).
2
Метод Симпсона (формула Симпсона):
b
h
 f  x dx  3  ( y0  yn  4  y1  y3  ...  yn 1   2( y2  y4  ...  yn 2 )),
a
где
n -четное число.
Например, для
n  12
b
h
 f  x dx  3  ( y0  y12  4  y1  y3  ...  y11   2( y2  y4  ...  y10 )).
a
Download