
- •Методы численного дифференцирования
- •Методы численного интегрирования
- •Алгоритмы решения задачи Коши
- •Алгоритм решения краевой задачи оду.
- •Классификация дифференциальных уравнений в частных производных
- •Метод сеток и алгоритмы его реализации
- •Численное решение рациональных и трансцендентных уравнений
- •Нахождение действительных и комплексных корней многочленов
- •§ 3.2.2 Методы решения задач оптимизации
- •Алгоритм метода
- •Задачи многомерной оптимизации
Вычислительный эксперимент. Дискретизация исходной математической задачи
Приближенным числом (ПЧ) а, полученным в результате измерения, счета или выполнения разнообразных математических операций называют приближенным (ПЧ), если оно незначительно отличается от точного А.
Абсолютная погрешность числа x =А – a
Предельная относительная погрешность a=a /a
Исчисление конечных разностей. Разностные уравнения
Оператор нисходящих (правых ) разностей y(x)= y(x+h) - y(x) или yк=yк+1 - yк
Оператор восходящих (левых ) разностей y(x)= y(x) - y(x-h) или yк=yк - yк-1
Оператор центральных (средних) разностей y(x)= y(x+h/2)- y(x - h/2)
Разностным уравнением порядка k табличной функции f называют уравнение вида:
yn = F( yn-1, yn-2 , …yn-к , х ) , где F известная функция (k+1) переменных. Это уравнение представляет собой рекуррентную формулу, позволяющую по известным значениям функции f в k последовательных точках найти её значение в следующей точке.
Прикладные задачи интерполяции и аппроксимации и их алгоритмизация. Методы и алгоритмы решения линейных алгебраических уравнений
Получение эмпирической формулы по табличным данным называют задачей аппроксимации, а вычисление значения функции, заданной таблично, в промежутках между узлами аргумента называют задачей интерполяции.
Интерполяция представляет собой точечную аппроксимацию функций. Задача ставится следующим образом: для данной табличной функции {Xi,Yi} со значениями в n +1 точке, построить функцию y = f(x) в форме степенного многочлена степени Pn (x) не выше n, принимающего в заданных точках те же значения, что и функция {Xi,Yi}, т.е. v(xi) = yi
Интерполяция с помощью линейного полинома.
Так, при значениях табличной функции n +1=2 Pn(x) = a0 + a1x. Для получения a0, a1 воспользуемся значением xi, yi. Для этого нужны две узловые точки (x0, y0), (x1, y1), . Тогда, по заданному критерию нужно решить систему из двух уравнений, что позволяет найти значения a0 и a1:
a0 + x0 a1 = y0
a0 + x1 a1 = y1
Пример 1. x0 = 1 y0 =5.2 , x1 = 2, y1 = 8.6
Решив эту систему методом Крамера, получим a0 = 1.8; a1= 3.4.
2. Интерполяционный полином, формулу для которого предложил математик Ж. Лагранж в 1793 году.
При наличии n+1 узлов
,
где
,
где знак ´
штрих у знака произведения означает “исключая j – е значение”
Так при n=1 полиномы L(x) запишутся так:
При n=2
При n=3
будет четыре слагаемых и т. д. При кратных
узлах вычисления полинома упрощаются.
Если число узлов табличной функции велико (особенно при проведении эксперимента), то для приближения аналитической функции используют метод аппроксимации.
Методы решения СЛАУ
Прямые методы: Крамера и Гауса
Итерационные методы:
Метод Гаусса - Зейделя отличается от метода простой итерации лишь тем, что при вычислении (k+ 1) приближения, полученные x(k+1) компоненты вектора x(k+1) сразу же используются в вычислениях.
x1(k+1) = b11 x1(k) + b12 x2(k) +.....+ b1n xn(k) + d1
x2(k+1) = b21 x1(k+1) + b22 x2(k) +.....+ b2n xn(k) + d2
.......................................................................................................
xn(k+1) = bn1 x1(k+1) + bn2 x2(k) +.....+ bn1n xn(k) + dn
Начальный вектор X(0) задается k = 0, 1, 2 ... В матричной записи это можно представить так:
X(k+1) = Ux(k) +Lx(k+1) + d , где матрицы U, L получены разложением В в сумму В = U + L
U - верхняя треугольная часть матрицы В, включая диагональ;
L - нижняя под диагональная матрицы B т.е. в методе Гаусса - Зейделя C = ( E - L ), B = U .
Условие сходимости итерационного процесса ||( E - L )-1 B|| < 1
Задана СЛАУ. Решить методом простой итерации.
4x1+
0.24x2
– 0.08x3
= 8 x1
= 2 – 0.06x2
+
0.02x3
0.09x1 + 3x2 – 0.15x3 = 9 x2 = 3 – 0.03x1 + 0.05x3
0.04x1 – 0.08x2 + 4x3 = 20 x3 = 5 – 0.01x1 + 0.02x2 Нулевое приближение (свободные члены)
Исходная система Преобразованная система || B || = {0.08, 0.08, 0.03} Условие сходимости соблюдается.
Условие сходимости – диагональные коэффициенты должны быть больше суммы остальных в матрице исходной СЛАУ.
Первое
приближение
Второе приближение
Третье приближение
Итерации можно прекратить, так как разница между вторым и третьим приближением мала.
Формула линейной интерполяции yi = (x-x0)/(x1-x0)×( y1 - y0) + y0
Методы численного дифференцирования
Если известна таблица функции и первые разности, то производная в точке х1 следующим образом
Таблица 1
-
xi
yi
разности
x0
y0
y = y1- y0
x1
y1
y = y2 - y1
x2
y2
y = y2 – y0
dy / dx = ( y2 – y1 ) / h - с помощью левой восходящей разности
dy / dx = ( y1 – y0 ) / h - с помощью правой нисходящей разности
dy / dx = ( y2 – y0) / 2h - с помощью центральной разности, где h – шаг табличной функции.
Пример 1. Вычислить производную в точке х = 1 для функции y = x3, если известна таблица функции.
-
x
0.7
0.8
0.9
1.0
1.1
y
0.343
0.512
0.729
1.0
1.331
y0
y1
y2
Выберем два значения табличной функции справа (y2) и слева (y0) от точки, в которой надо вычислить значение производной. Используя таблицу 1, вычислим значения производной.
f(x, h) = y' (1;0.1) = [y(1.1) - y(1.0)]/0.1 = (1.331 - 1.0)/0.1 = 3.31
f(x, h) = y'(1;0.1) = [y(1.0) - y(0.9)]/0.1 = (1-0.729)/0.1 = 2.71
f(x, 2h) = y'(1;0.2) = [y(1.1) - y(0.9)]/0.1 = (1.331 - 0.729)/0.2 = 3.01
Точное значение производной y' (1) = 3 1.02 = 3 (конечно-разностный метод имеет первый порядок точности). Как видно на примере, наименьшую погрешность дает формула центральной разности (абсолютная погрешность 0.01; относительная погрешность 0.33%).
Производную можно вычислять численно через значения функции, если использовать интерполяционный полином Лагранжа. Для трех узлов табличной функции с постоянным шагом производная от интерполяционного полинома Лагранжа имеет следующий вид:
Для вычисления производной в точке x0 в общую формулу подставим x = x0 , и раскроем скобки.
Если провести вычисления и привести подобные, то можно получить выражение для вычисления производной по трем значениям табличной функции
По аналогии для x = x1
и для x = x2. Видно, что это центральная разность.
Пример 2.
Вычислить производную для той же табличной функции в точке х = 0.9 по формуле Лагранжа. Выделим три значения функции: y0 = 0.729; y1 =1.0; y2 = 1.331.
y' (0.9;0.1) =1/0.2(-30.729+41.0 - 1.331)= 2.41. Точное значение производной 30.92= 2.43, что значительно точнее, чем через первые разности.
Можно взять и другие точки: y0 =0.343; y1 =0.512; y2 = 0.729.
Тогда производную надо вычислять по другой формуле y' (0.9;0.1) =1/0.2(0.343 -40.512 + 30.729)= 2.41.
Тот же результат.