Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_к_ВП-1.doc
Скачиваний:
4
Добавлен:
27.09.2019
Размер:
840.7 Кб
Скачать

Содержание

Содержание 1

1. Решение систем линейных алгебраических уравнений 2

1.1. Классический метод Гаусса 2

1.2. Метод Гаусса с выбором главного элемента 5

2. Метод Ньютона для СНАУ 7

2.1. Вариант 1 7

2.2. Вариант 2 8

3. Аппроксимация данных методом наименьших квадратов 11

3.1. Аппроксимация данных методом наименьших квадратов 11

3.2. Аппроксимация данных с другими нормами 12

3.3. Аппроксимация данных многочленом заданной степени 13

4. Решение систем дифференциальных уравнений 18

4.1. Метод Эйлера 18

4.2. Методы Рунге-Кутта 18

1. Решение систем линейных алгебраических уравнений

1.1. Классический метод Гаусса

Классический метод Гаусса (его называют также простым методом Гаусса, методом последовательного исключения неизвестных) применим при условии, что все ведущие коэффициенты (диагональные) отличны от нуля! Решить систему методом Гаусса можно примерно за арифметических действий. Для сравнения отметим, что решить подобную систему по правилу Крамера можно лишь за действий. Таким образом, формула Крамера удобна для теоретического исследования свойств решения, но очень невыгодна для его численного нахождения.

Пусть необходимо решить СЛАУ (1.2) и пусть (ведущий элемент).

Метод Гаусса или метод последовательного исключения неизвестных основан на приведении матрицы коэффициентов к верхнему треугольному виду. При этом алгоритм решения системы (1.2) следующий.

  1. С помощью двух циклов с управляющими переменными и организуем ввод коэффициентов и .

  2. Проводим прямой ход исключения переменных путём преобразования коэффициентов по формулам:

где , .

В конце этих преобразований получим

.

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

где .

В результате формируется массив неизвестных

.

Пример 1.1.

{Прямой ход исключения переменных}

For i:= 1 to N-1 do

For j:= i+1 to N do

begin

a[j,i]:= - a[j,i]/a[i,i];

b[j]:= b[j] + a[j,i]*b[i];

For k:= i+1 to N do

begin

a[j,k]:= a[j,k] + a[j,i]*a[i,k];

end;

end;

{Обратный ход: последовательное нахождение корней }

x[N]:= b[N]/a[N,N];

For i:= N-1 downto 1 do

begin

h:= b[i];

For j:= i+1 to N do

h:= h - x[j] * a[i,j];

x[i]:= h/a[i,i];

end;

Блок-схема алгоритма прямого хода классического метода Гаусса

Рис. 1а. Прямой ход исключения классического метода Гаусса.

Блок-схема алгоритма обратного хода классического метода Гаусса

Рис. 1б. Обратной ход исключения классического метода Гаусса.

В заключении отметим, что классический метод Гаусса не применим, если в ходе расчёта на главной диагонали оказался нулевой элемент. Кроме того, если на главной диагонали оказался слишком маленький по значению элемент (мало отличим от нуля) и если эта строка умножается на большие числа, то это приводит к значительным ошибкам округления при вычитаниях, т.е. имеется большая потеря точности при значениях диагональных элементов, близких к нулю.

При реализации данного метода требуется:

  • выполнить арифметических операций, в том числе умножений и делений;

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

Метод рекомендуется применять в тех случаях, когда:

  • от решения требуется не очень высокая степень точности;

  • прямой метод используется для получения начального приближения с последующим уточнением по итерационной схеме;

  • требуется решить систему высокого порядка, у которой матрица коэффициентов имеет подавляющее количество нулевых элементов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]