Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЯВУ - курсовик.doc
Скачиваний:
12
Добавлен:
09.12.2018
Размер:
515.07 Кб
Скачать

Применим операцию дифференцирования (2.8) к параметру с1 :

и, выполняя необходимые алгебраические преобразования, получим уравнение

Аналогичные уравнения можно получить, применяя описанные выше операции по отношению к переменным С2 ,…,Сm . Эти уравнения образуют систему нормальных уравнений:

- 7 -

a11 С1 + a12 С2 +…+ a1m Сm = b­1

a21 С1 + a22 С2 +…+ a2m Сm = b­2 (2.11)

……………………………………………………………..

am1 С1 + am2 С2 +…+ am m Сm = b­m ,

где коэффициенты ak l и величины bk (k, l = 1, 2,…, m) определяются выражениями

(2.12)

Уравнения (2.11) представляют собой систему линейных алгебраических уравнений, основные методы решения которых описываются в разд. 2.2.

Преимущество использования линейного представления (2.9) аппроксимирующей функции (x) состоит в том, что в этом случае однозначно решается вопрос о минимуме величины J. Действительно, если решение системы линейных уравнений (2.11) существует, то оно единственно [3, с.227], поэтому необходимые условия (2.8) являются в данном случае и достаточными условиями минимума функции J(С1, С2 ,…, Сm).

2.2. Методика решения нормальных уравнений

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

Формы записи системы линейных алгебраических уравнений

Систему n линейных уравнений общего вида (где через xk обозначены искомые параметры Сk аппроксимирующей функции)

a11 x1 + a12 x2 +…+ a1n xn = b­1

a21 x1 + a22 x2 +…+ a2n xn = b­2 (2.13)

…………………………………………..

an1 x1 + an2 x2 +…+ an n xn = b­n

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

A X = B, где

- 8 -

(2.14)

Квадратная матрица A называется матрицей системы, вектор X вектором-столбцом неизвестных системы, а вектор Bвектором-столбцом свободных членов.

В матричном представлении исходная система линейных уравнений примет вид

(2.15)

Решение системы линейных уравнений сводится к отысканию значений элементов вектора-столбца (xi), называемых корнями системы. Для получения единственного решения системы входящие в нее n уравнений должны быть линейно независимыми. Необходимым и достаточным условием этого является неравенство нулю определителя данной системы, т.е. det A 0.

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

Решение системы уравнений прямыми методами

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

- 9 -

Одним из наиболее широко используемых прямых методов является метод последовательного исключения неизвестных, или метод Гаусса. Согласно этому методу, исходная система линейных уравнений (2.13) преобразуется путем последовательного исключения неизвестных в эквивалентную систему уравнений, имеющую так называемый «треугольный» вид. Последнее уравнение «тре­угольной» системы содержит лишь одно неизвестное (xn), предпоследнее – два (xn, xn-1) и т.д. Решение полученной системы уравне­ний осуществляется последовательным («снизу вверх») определением xn из последнего уравнения «треугольной» системы, xn-1 из предпоследнего и т.д. Применительно к системе уравнений (2.13) преобразование к «треугольному» виду осуществляется за (n1) шагов.

На первом шаге выделяется первое уравнение системы (2.13). Это уравнение не преобразуется, и оно объявляется ведущим уравнением. Затем исключается неизвестное x1 из всех уравнений, кроме веду­щего. Для этого последовательно из каждого уравнения вычитается ведущее уравнение, умноженное на некоторый специально подобранный множитель, позволяющий сделать результирующий коэффициент при x1 равным нулю. Так, например, для исключения x1 из второго уравнения

a21 x1 + a22 x2 + …+ a2 n xn = b2

необходимо из него вычесть ведущее уравнение, умноженное на коэффициент q21 = a21 / a11. Действительно, результат вычитания имеет вид

(a21 – q2111) x1 + (a22 – q2112) x2 + …+ (a2n – q211n) xn = = b2 – q21 b1 . (2.16)

Очевидно, что коэффициент (a21 q21 a11 ) при x1 равен ну­лю. Вводя новые обозначения для коэффициентов

k=(2, …, n) ,

и свободного члена

можно переписать уравнение (2.16) в виде

Аналогичную процедуру можно проделать с третьим уравнением системы (2.13). Умножая ведущее уравнение на q31=a31 /a11 и вы­читая результат умножения из третьего уравнения, получим эквива­лентное уравнение

- 10 -

и т.д.

В результате рассмотренного первого шага исходная система уравнений (2.13) превратится в эквивалентную систему уравнений, причем неизвестное x1 входит только в первое уравнение:

(2.17)

На втором шаге ведущим объявляется второе уравнение системы (2.17) и исключается неизвестное x2 из уравнений с номерами от третьего до последнего. Исключение неизвестного проводится по схеме, описанной в первом шаге. Для исключения x2 из третьего уравнения системы (2.17) ведущее уравнение умножается на

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

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

(2.18)

где введены новые обозначения для коэффициен­тов преобразуемых уравнений. Отметим, что неизвестное x1 вхо­дит только в первое уравнение, а неизвестное x2  в первое и второе уравнения.

- 11 -

На (n1) шаге исключается неизвестное xn-1 из последнего n-го уравнения, и в результате система уравнений принимает окончательный «треугольный» вид

(2.19)

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

Определим обобщенные формулы для расчета коэффициентов системы в процессе прямого хода метода Гаусса. На i-м шаге неизвестное xi исключается из всех уравнений с номерами k, где i+1 k n, при этом ведущее уравнение (с номером i) умножается на

,

и результат умножения вычитается из k-го уравнения. Новые значения коэффициентов (в уравнении с номером k) при неизвестных xj, (i+1 j n) равны

(2.20)

новое значение свободного члена

. (2.21)

Решение треугольной системы уравнений (2.19) носит название обратного хода метода Гаусса и заключается в последовательном определении всех неизвестных, начиная с последнего xn. Действительно, из последнего уравнения системы (2.19) вытекает, что

Значение xn-1 получается при решении предпоследнего уравнения

.

Так как xn уже определено, то

- 12 -

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

Обобщенная формула вычисления xi имеет вид

(2.22)

В процессе прямого хода метода Гаусса может оказаться, что коэффициент aij(i-1) ведущего уравнения равен нулю. Тогда исключить xi из остальных уравнений описанным методом нельзя. Однако уравнения системы можно поменять местами и объявить ведущим то уравнение, у которого коэффициент при неизвестном xi отличен от нуля. Отметим, что системы, отличающиеся лишь взаимным расположением образующих их уравнений, являются эквивалентными. Перестановка уравнений не только допустима, но часто и полезна для уменьшения погрешности арифметических вычислений. (Напомним, что точность проведения арифметических вычислений на современных ЭВМ всегда ограничена. Это приводит к тому, что при большом числе арифметических операций погрешность ре­зультата может быть весьма значительна.) Для уменьшения погрешности вычислений в качестве ведущего обычно выбирается уравнение с максимальным по модулю коэффициентом при xi. Это уравнение и уравнение с номером i меняют местами, и процесс исключения продолжается обычным образом. Поиск максимального по модулю коэффициента при xi носит название определение ведущего элемента.

Описание алгоритма решения системы линейных уравнений методом Гаусса

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

Рис. 3. Обобщенная схема алгоритма (метод Гаусса)

- 13 -

В результате прямого хода система уравнений (2.13) преобразуется в треугольную систему уравнений (2.19). В процессе обратного хода последовательно определяются все неизвестные, начиная с x­n .

Для описания алгоритма введем следующие обозначения:

n – порядок системы уравнений;

A – квадратная матрица размера n n , элементы которой первоначально равны коэффициентам системы уравнений (2.13), а далее, в процессе прямого хода – коэффициентам преобразованных систем (2.17) – (2.19);

X – вектор размера n, являющийся решением системы уравнений (2.13).

На рис. 4 представлена схема алгоритма прямого хода метода Гаусса. Переменная i – номер шага исключения, неизвестное X[i] исключается из уравнений с номерами k, принимающими значения от (i+1) до n. Из приведенного выше описания процедуры прямого хода следует, что исключение неизвестного X[i] требует преобразования коэффициентов и свободных членов системы уравнений, то есть матрицы A и вектора B. Каждый шаг исключения состоит из определения ведущего элемента, перестановки уравнений местами и преобразования коэффициентов системы. На рис. 4 k обозначает номер преобразуемого уравнения системы, i+1 k n.

Под ведущим элементом на i-м шаге исключения принимается максимальный по модулю коэффициент при неизвестном X[i], то есть максимальный по модулю элемент последовательности А[i, i], A[i+1, i],…, А[n1, i], A[n, i]. На схеме алгоритма (рис. 5) переменная big – величина этого максимума, а переменная num – его номер, то есть

big = A[num, i] = max | A[l, i] | .

i l n

Равенство переменной num нулю означает, что для любого l при i l n коэффициенты системы A[l, i] = 0, и, следовательно, неизвестное X[i] не входит в оставшиеся уравнения системы. В этом случае определитель матрицы А равен нулю, и, как известно, существование бесконечного числа решений или отсутствие последнего зависит от вида правой части системы (2.13) – вектора В. В обоих случаях процедура прямого хода метода Гаусса прекращается (завершается «аварийно»), и необходимы другие методы исследования и получения решения (если оно вообще существует).

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

После определения ведущего элемента (см. рис. 5), необходимо поменять местами уравнения с номерами i и num (рис. 6), что фактически означает автоматически перестановку двух строк (с номерами i и num) матрицы А и элементов B[i] и B[num] вектора В. Такая перестановка требует дополнительной переменной (переменная temp на рис. 6) для временного хранения

- 14 -

переставляемого значения. Если i=num, то ведущим является само уравнение с номером i , и перестановка не нужна.

Исключение неизвестного X[i] из уравнения с номером k представлено на рис. 7. Напомним, что исключение переменной сводится к определению новых значений элементов k-й строки матрицы А и элемента В[k]. Переменная Q – множитель qki, на который умножается ведущее уравнение. Он выбирается не зависящим от индексов k и i, так как необходим только для вычисления коэффициентов k-й строки и хранить постоянно его не нужно. Элемент A[k, i] должен стать равным нулю, поэтому нулевое значение присваивается ему непосредственно, а не в результате вычисления

A[k, i]= A[k, i] – Q A[i, i],

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

Обратный ход метода Гаусса (рис. 8) начинается с определения X[n], а далее последовательно определяются неизвестные X[i], i=n 1, n 2, …, 1 по формуле (2.22).