
- •Методы математического моделирования и вычислительной математики Никитина т.П. Оглавление
- •Введение
- •Основы моделирования
- •Классификация математических моделей
- •Основные этапы математического моделирования
- •Математические модели аналитического типа
- •Эмпирические математические модели
- •Методы вычислительной математики
- •Постановка задачи
- •Этапы решения задачи
- •Локализация корня
- •Метод половинного деления
- •Метод хорд
- •Метод касательных (Метод Ньютона)
- •Комбинированный метод хорд и касательных
- •Решение систем линейных уравнений (слау)
- •Приближенные методы решения систем линейных уравнений Метод простой итерации ( Метод Якоби)
- •Метод Гаусса - Зейделя
- •1. Использованием обратной матрицы
- •2. Решение системы уравнений методом Гаусса
- •Интерполяция
- •Постановка задачи
- •Полиномиальная (алгебраическая) интерполяция
- •Интерполяция по Лагранжу
- •Вычисление определенных интегралов вида Постановка задачи
- •Метод прямоугольников
- •Метод трапеций
- •Метод Симпсона (метод парабол)
- •Решение обыкновенных дифференциальных уравнений Постановка задачи
- •Численные методы решения задачи Коши оду первого порядка
- •Метод Эйлера
- •Усовершенствованный метод Эйлера. Метод Гюна.
- •Методы прогноза и коррекции
- •Метод Рунге-Кутта
- •Решение задачи оптимизации
- •Постановка задачи
- •Численные методы решения задачи одномерной оптимизации
- •Этапы решения задачи
- •Метод двойного половинного деления
- •Метод золотого сечения
- •Численные методы решения задачи линейного программирования
- •Постановка задачи
- •Реализация симплекс метода
- •Литература
1. Использованием обратной матрицы
Из записи AX = B следует, что X = A-1B. Данное выражение непосредственно вычисляется в MatLab. Получить обратную матрицу можно с помощью функции inv(A), либо с помощью оператора A^(-1) , что означает A в степени -1.
Найти решение СЛАУ:
1,53·х1
– 1,63·х2
– 0,76·х3
= 2,18
0,86·х1 + 1,17·х2 + 1,84·х3 = 1,95
0,32·х1 – 0,65х2 + 1,11·х3 = -0,47
Решение задачи
Задаем матрицу коэффициентов при неизвестных: >> A=[1.53 -1.63 -0.76;0.86 1.17 1.84;0.32 -0.65 1.11];
Вводим свободные члены (в виде строки): >> B=[2.18 1.95 -0.47];
Решаем: >> X=A^(-1)*B', запись B' означает транспонирование, то есть преобразует строку в столбец).
Результаты расчетов:
Ответ: Х ={ 2,1321 0,9017 -0,5101}, что согласуется с ранее полученными значениями.
2. Решение системы уравнений методом Гаусса
Метод исключения Гаусса является одним из наиболее простых и эффективных методов. Алгоритм метода Гаусса основан на приведении матрицы А к треугольному виду (прямой ход) и последовательном вычислении неизвестных (обратный ход).
Недостатком метода является накапливание погрешностей в процессе округления, поэтому метод Гаусса без выбора главных элементов используется обычно для решения сравнительно небольших (n < 100 - 200) систем уравнений с плотно заполненной матрицей и не близким к нулю определителем.
В MatLab для решения СЛАУ методом исключения Гаусса применяются следующие операторы: X = A\B- правое деление, для систем AX = B.
Решение задачи
В качестве примера решаем ту же СЛАУ, что и в случае использования обратной матрицы.
Задаем матрицу коэффициентов при неизвестных: >> A=[1.53 -1.63 -0.76;0.86 1.17 1.84;0.32 -0.65 1.11];
Вводим свободные члены (в виде строки): >> B=[2.18 1.95 -0.47];
Решаем: >> X=A\B'.
Результаты расчетов:
Получаем тот же результат, что и в предыдущем случае.
Интерполяция
Задача интерполяции относится к задачам приближения функций. В теории приближений изучаются методы приближения функций более простыми, хорошо изученными функциями. При этом исследуемая приближаемая функция может быть задана как в аналитическом виде - сложной громоздкой функцией, так и дискретном виде - экспериментальной таблицей.
Постановка задачи
Пусть некоторая функция f(x)довольно сложная для исследования задана на отрезке [a;b] в виде таблицы, называемой сеточной функцией:
xi |
x0 |
x1 |
… |
xn |
yi |
y0 |
y1 |
… |
yn |
где xi = х0, х1, . . ., хn- узлы интерполяции, определенные на отрезке [a;b], иyiравные значениямf(xi) в узлах интерполяции:y0= f(x0), y1= f(x1) , . . ., yn.= f(xn). В простейшем случае узлы интерполяции образуют равномерную сетку, т.е. расстояние между соседними узлами одинаково, однако, сетка может быть и неравномерной. Необходимое и достаточное требование к сетке: х0< х1< х2<. . .< хn. Функцияf(x) может быть заранее не известна, а узлы интерполяцииxiи значенияyiявляются результатом экспериментальных исследований.
Необходимо построить функцию F(х)- интерполяционную функцию, принадлежащую известному классу, например, к многочленам, и принимающую в узлах интерполяции те же значения, что иf(x): F(x0) = y0, F(x1) = y1, . . ., F(xn) = yn.
Графическая интерпретациязадачи
Данные сеточной функции можно рассматривать, как точки M(xi, yi) i = 0, 1, ..., n на плоскости. В задаче интерполяции нужно найти кривуюy = F(х)некоторого выбранного класса, проходящую через заданные точки.
В такой общей постановке задача может иметь бесконечное множество решений или совсем не иметь решений. Однако задача становится однозначной, если вместо произвольной функции F(х)искать полиномP(х)- интерполяционный полином степени не вышеn, удовлетворяющий условиям: P(x0) = y0, P(x1) = y1, . . .,P(xn) = yn.
Полученную интерполяционную формулу обычно используют для приближенного вычисления значений данной функции f(х)для значений аргументах, отличных от узлов интерполяции. Такая операция называется интерполяцией функций.