Материал: Спецглавы высшей математики. численные методы. Пантелеев И.Н

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Такимобразом, процессрешениясистемы(III.4) распадаетсяна дваэтапа:

1.Прямой ход — приведение системы (III.4) к треугольному виду.

2.Обратный ход — нахождение значений неизвестных переменных, в соответствие с (III.5).

Для реализации метода Гаусса в пакете МАТ1АВ необходимо:

1. Создать файл Exchange.m (листинг III.1), содержащий описание функции, осуществляющей перестановку строк при обнаружении в текущей строке нулевого элемента на главной диагонали.

Листинг III.1. Файл Exchenge.m Function z Exchenge c,i

k i 1;

while c k,i 0 k=k+1;

end;

for j 1: size c,1 s c i, j ;

c i, j c k, j ; c k, j s;

end; z c;

2. Создать файл Simplex.m (листинг III.2), содержащий описание функции, возвращающей расширенную матрицу системы к диагональному виду.

Листинг III.2. Файл Simplex.m Function z = Simplex(A,b)

39

N size A,1 ; % Определение числа уравнений системы c cat 2, A,b ; % Создание расширенной матрицы системы for i 1: N 1

if c i,i 0

c Exchage c,i ; end;

for j = 0:N

c i, N 1 j c i, N 1 j / c i,i ; end;

for m i i : N alpha=c(m,i); for j = i:N+1

c(m,j)=c(m,i) – alpha*C(i,j);

end;

end;

end;

c(N,N+1)=c(N,N+1)/c(N,N);

c(N,N)=1;

z=c;

3. Создать файл Gauss.m (листинг III.3), содержащий описание функции, возвращающей решение системы линейных уравнений методом Гаусса.

Листинг III.3. Файл Gauss.m.

Function z = Gauss(A,b) C=Simplex(A,b);

N= size(A,1); V(N)=C(N,N+1);

40

for j=1:N-1 S=0;

for k=0:j-1 S=S+C(N-j,N-k)*V(N-k);

end; V(N-j)=(c(N-j,N+1)-S)/C(N-j,N-j);

end;

Z=V’;

4.Задать матрицу системы линейных уравнений:

>>A 1,2,3,4,5;10,9,8,7,6;5,9,11,12,13;20,1,3,17,14;12,10,4,16,15

A=

 

 

 

 

1

2

3

4

5

10

9

8

7

6

5

9

11

12

13

20

1

3

17

14

12

10

3

16

15

5. Задать вектор-столбец свободных членов: >>b 10;20;30;40;50

10.000

20.000

30.000

40.000

50.000

6. Решить систему уравнений, используя функцию Gauss(); >> x Gauss A,b

x

41

0.0964

1.4324 -1.3530 1.6593 0.8921

7. Проверить правильность решения системы линейных уравнений:

>>A*x

ans=

10.000

20.000

30.000

40.000

50.000

3.3. Вычисление определителей

Решение системы (III.4) существует только в том случаем, если определитель матрицы А отличен от нуля, поэтому решение любой системы линейных уравнений следует предварять вычислением ее определителя.

Для вычисления определителя используют известное свойство треугольных матриц: определитель треугольной матрицы равен произведению ее диагональных элементов.

Пусть задана квадратная матрица X n-го порядка:

a

;a

;a

 

 

11

12

1n

 

 

x a21 ;a22 ;a2n .

(III.6)

an1 ;an2 ;anm

 

Представим матрицу X в виде:

 

(III.7)

X Y Z,

 

42

где:

y

;0;

... 0

 

 

1; z

;... z

 

 

11

 

 

 

 

 

12

1n

(Ш.8)

Y y21; y22

; ... 0

 

,

Z 0;1;

... z2n

 

; yn2

 

 

 

 

 

... 1

 

 

yn1

; ... ynm

 

0;0;

 

 

Известно, что определитель матрицы равен произведению определителей:

 

 

Z

 

 

 

X

 

 

 

Y

 

 

 

Z

 

,

(Ш.9)

 

 

 

 

 

 

 

 

 

 

но

 

 

1, поэтому:

(III.10)

 

 

 

 

 

 

 

X

 

y11 y22 ynn ,

 

 

 

 

 

 

Формулы для вычисления элементов матриц У и Z получаются перемножением этих матриц и приравниванием элементов матрицы Y к соответствующим элементам матрицы X:

 

 

 

 

 

j 1

 

 

 

 

 

 

yij xi1; yij

xij yik

zkj ,

при i j 2,

(III.11)

 

x1 j

 

 

k 1

 

 

 

 

 

j 1

 

 

zij

 

;

yi j

xi j

yi k zk j

, / yi i

, при 1 i j,

(III.12)

 

 

y11

 

 

k 1

 

 

 

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

(III.11), (III.12).

Листинг III.4. Файл Determinant.m. Function z Determinant(A)

P 1;

C 1;

N size A,1 ;

y zeros N ;

43

z zeros N ;

for i 1: N

yi,1 A i,1 ;

zi,i 1;

end;

for i 2 : N

z 1, j A 1: j / y 1,1 ;

end;

for i 2 : N

for j 2 : N

if j 2 & j i

s = 0;

for k 1: j 1

s s y i, k * 2 k, j ; end;

y i, j A i, j s ;

end;

if i 1 & i j s 0

for k 1: i 1

s s y i, k * z k, j ;

end;

z i, j A i, j s / y i, j ; 44

x 0 , x 1 , , x n ,
стой итерации для скалярного уравнения

end; end;

end; s 1;

for i 1: N

s s * y i,i ; end;

z s;

Для вычисления определителя квадратной матрицы A, созданной в предыдущем примере, следует ввести команду:

>> Determinant(A)

ans=

7.0510e+003

Для проверки правильности работы данной функции полезно сравнить результат, возвращаемый функцией Determinant ( ), и результат, полученный функцией Det встроен-

ной в пакет MATLAB:

>> Det(A)

ans=

7051

45

3.4. Решение систем линейных уравнений методом простой итерации

Запишем исходную систему (III.4) в следующем виде:

x1 11 x1 12 x2 1n xn 1 ,

 

x2

21 x1 22 x2

2n xn 2 ,

(III.13)

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

 

xn n1 x1 n2 x2 nn xn n ,

 

или сокращенно:

 

 

 

 

 

 

n

 

 

 

xi ij xj

i ,

(III.14)

 

 

j 1

 

 

где i 1,2, , n.

 

 

 

 

Правая часть (III.14) определяет отображение F.

 

 

n

 

 

 

F : yi ij x j

i ,i 1,2, n,

(III.15)

 

j 1

 

 

 

преобразующее точку x y1 , y2 , , yn , n -мерного

векторного

пространства в точку y y1 , y2 , , yn того же пространства. Ис-

пользуя систему

(III.4)

и

выбрав начальную точку

x 0 x10 , x20 , , xn0 , можно построить итерационную последо-

вательность точек n-мерного пространства (аналогично методу про- x f x ).

(III.16)

Оказывается, что при определенных условиях последовательность (III.16) сходится и ее предел является решением системы (III.13). Предваряя обсуждение данных условий, напомним необходимые сведения из математического анализа.

Определение III.4. Функцию р(х,у), определяющую расстояние между точками х и у множества X, называют метрикой, если выполнены следующие условия:

46

1.x, y 0

2.x, y 0, тогда и только тогда, когда x=y.

3.x, y y, x .

4.x, z x, y y, z .

Определение III.5. Множество с введенной в нем метрикой p становится метрическимпространством.

Определение III.6. Последовательность точек метрического пространства называется фундаментальной, если для любого 0 существует такое число N , что для всех m, n N, выполняется неравенство xm , xn .

Определение III.7. Пространство называется полным, если в нем любая фундаментальная последовательность сходится.

Пусть F— отображение, действующее в метрическом пространстве Е с метрикой , х и у — точки пространства Е, a Fx, Fy — образы этих точек.

ОпределениеIII.8. Отображение F пространства E в себя называется сжимающим отображением, если существует такое число0,1 , что для любых двух точек x, y E, выполняется

неравенство:

Fx, Fy x, y ,

(III.17)

Определение III.9. Точка х называется неподвижной точкой отображения F, если Fx = х.

Аналогично одномерному случаю можно доказать теорему о достаточном условии сходимости итерационного процесса в n-мерном пространстве.

Теорема III.1. Если F— сжимающее отображение, определенное в полном метрическом пространстве, то существует единственная неподвижная точка х, такая что х = Fx. При этом итерационная последовательность, построенная для отображения F c любым на-

чальным членом x 0 , сходится к х.

В ходе доказательства данной теоремы показывается, что

x, x k

 

k

x 0 , x 1 ,

(III.18)

1

 

 

 

 

Приняв k-ое приближение за нулевое, из (III.18) получаем полезное для приложений неравенство:

x, x k

 

x k 1 , x k ,

(III.19)

1

Рассмотрим условия, при которых отображение (III.15) будет сжимающим. Как следует из определения (III.17), решение данного вопроса зависит от способа метризации данного пространства. Обычно при решении систем линейных уравнений используют одну из следующих метрик:

1

x, y max

 

xi

yi

 

 

,

(III.20)

 

 

 

1

i n

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

2

x, y

 

xi

 

yi

 

,

 

 

 

(III.21)

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

x, y

n

 

 

 

 

 

2 .

 

3

xi

yi

(III.22)

i 1

Для того чтобы отображение F, заданное в метрическом пространстве уравнениями (III.15), было сжимающим, достаточно выполнения одного из следующих условий:

1. В пространстве с метрикой 1 :

n

max i j 1. (III.23)

1 i n j 1

47

48

Источник: https://studfile.net/preview/16565850/