Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-й курс / МатЛаб - Алгебра / МП_14_Ермилов_Ярослав_лаб_2_1 (+).docx
Скачиваний:
99
Добавлен:
18.12.2017
Размер:
104.03 Кб
Скачать

Упражнение 3. Решение системы линейных алгебраических уравнений методом Гаусса.

Написать М-функцию, решающую системы уравнений методом Гаусса с произвольным числом неизвестных, осуществляющую «прямой» и «обратный» ход. Входящими данными являются матрица системы и столбец свободных членов. Решить системы:

;;;

Проверить решение подстановкой.

function [z] = lab_2_1_u_3(A, B)

format rational;

s = size(A);

n = s(1);

z = zeros(n, 1);

if (det(A) ~= 0)

for j = [1 : n]

B(j) = B(j)/(A(j, j));

A(j, :) = A(j, :)/(A(j, j));

for i = [j+1 : n]

if (j ~= n)

B(i) = B(i)+B(j)*(-A(i, j));

A(i, :) = A(i, :)+A(j, :)*(-A(i, j));

end

end

end

end

for k = [n : -1 : 1]

for i = [1 : n]

if (i ~= k)

B(k) = B(k) - A(k, i)*z(i);

end

end

z(k) = B(k)/A(k, k);

end

>> A = [1, -2; 2, 1];

>> B = [-2; 2];

>> lab_2_1_u_3(A, B)

ans =

2/5

6/5

>> 2/5-2*6/5

ans = -2

>> 2*2/5+6/5

ans = 2

>> A = [1/2, 1/4; -1/4, 1/2];

>> B = [1/2; 1/2];

>> lab_2_1_u_3(A, B)

ans =

2/5

6/5

>> 1/2*2/5+1/4*6/5

ans = 1/2

>> -1/4*2/5+1/2*6/5

ans = 1/2

>> A = [7, 2, 3; 5, -3, 2; 10, -11, 5];

>> B = [15; 15; 36];

>> lab_2_1_u_3(A, B)

ans =

2

-1

1

>> 7*2+2*(-1)+3*1

ans = 15

>> 5*2+3+2

ans = 15

>> 10*2+11+5

ans = 36

>> A = [1, 1, -6, -4; 3, -1, -6, -4; 2, 3, 9, 2; 3, 2, 3, 8];

>> B = [6; 2; 6; -7];

>> lab_2_1_u_3(A, B)

ans =

0

2

1/3

-3/2

>> 0+2-6*(1/3)-4*(-3/2)

ans = 6

>> 0-2-6*1/3-4*(-3/2)

ans = 2

>> 2*0+3*2+9*1/3+2*(-3/2)

ans = 6

>> 3*0+2*2+3*1/3+8*(-3/2)

ans = -7

Упражнение 4.

Создайте матрицы ,и произвольную квадратную матрицуAтретьего порядка. Найдите произведенияи. Сравните матрицыи,и.

>> syms a;

>> D2 = [1, 0, 0; 0, a, 0; 0, 0, 1];

>> D3 = [1, 0, 0; 0, 1, 0; 0, 0, a];

>> A = [1, 2, 3; 4, 5, 6; 7, 8, 9];

>> D2*A

ans =

[ 1 2 3 ]

[ ]

[4 a 5 a 6 a]

[ ]

[ 7 8 9 ]

>> D3*A

ans =

[ 1 2 3 ]

[ ]

[ 4 5 6 ]

[ ]

[7 a 8 a 9 a]

Упражнение 5.

Создайте матрицу. Найдите произведение, сравните результат с матрицейA.

Создайте матрицу . Найдите произведение, сравните результат с матрицейA.

Найдите связь между M1 иL1, проверьте, что матрицы взаимно обратные.

Найдите транспонированную к матрицу. Найдите произведениесравните результат с матрицейA.

Найдите транспонированную к матрицу. Найдите произведение, сравните результат с матрицейA.

>> syms a;

>> A = [1, 2, 3; 4, 5, 6; 7, 8, 9];

>> M1 = [1, 0, 0; -a, 1, 0; 0, 0, 1];

>> U1 = M1*A

U1 =

[ 1 2 3 ]

[ ]

[-a + 4 -2 a + 5 -3 a + 6]

[ ]

[ 7 8 9 ]

>> L1 = [1, 0, 0; a, 1, 0; 0, 0, 1];

>> L1U1 = L1*U1

L1U1 =

[1 2 3]

[ ]

[4 5 6]

[ ]

[7 8 9]

>> M1

M1 =

[1 0 0]

[ ]

[-a 1 0]

[ ]

[0 0 1]

>> inv(L1)

ans =

[1 0 0]

[ ]

[-a 1 0]

[ ]

[0 0 1]

>> M1T = M1'

M1T =

[1 -conj(a) 0]

[ ]

[0 1 0]

[ ]

[0 0 1]

>> L1T = L1'

L1T =

[1 conj(a) 0]

[ ]

[0 1 0]

[ ]

[0 0 1]

>> U_1 = A*M1T

U_1 =

[1 -conj(a) + 2 3]

[ ]

[4 -4 conj(a) + 5 6]

[ ]

[7 -7 conj(a) + 8 9]

>> U_L1_L1T = U_1*L1T

U_L1_L1T =

[1 2 3]

[ ]

[4 5 6]

[ ]

[7 8 9]