Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 семестр_1 / ЛА / Модуль 4 / МП-12_Николаев_Олег_lab2_m4

.docx
Скачиваний:
17
Добавлен:
05.06.2015
Размер:
17.42 Кб
Скачать

Отчет к упражнению 1

Написать функцию реализующую умножение двух матриц по определению

Заголовок функции такого вида:

function C = matrix_multiply(A,B)

function C=matrix_multiply(A,B)

[m,n]=size(A);

[n1,q]=size(B);

if(n1~=n)

C='Inner matrix dimensions must agree.'

return

end

for i= 1:1:m

for j=1:1:q

S=0;

for k=1:1:n

S=S+A(i,k)*B(k,j);

end

C(i,j)=S;

end

end

end

Отчет к упражнению 2

Написать функцию реализующую метод Крамера для системы произвольной размерности

Заголовок функции такого вида:

function X = CramersMethod(A,B)

function X = CramersMethod(A,B)

n=size(A);

d=det(A);

if(d==0)

X='Нет решений'

return

end

for j=1:1:n

C=A;

C(:,j)=B;

X(j)=det(C)/d;

end

X=X.';

end

Отчет к упражнению 3

Написать функцию реализующую метод Гаусса для системы произвольной размерности

Заголовок функции такого вида:

function X = GaussMethod(A,B)

function X = GaussMethod(A,B)

C=[A -B];

[m,n]=size(C);

for i=2:1:m

for j=1:1:i-1

k=C(j,j)/C(i,j);

C(i,:)=C(i,:).*k-C(j,:);

end

end

if(C(n:1:m,n)~=0)

X='Нет решений'

return

end

for j=n-1:-1:1

X(j)=-sum(C(j,j+1:1:n))./C(j,j);

C(:,j)=C(:,j).*X(j);

end

X=X.';

end

Отчет к упражнению 4

Написать функцию реализующую вычисление обратной матрицы, используя уже написанную функцию из пункта 3)

Заголовок функции такого вида:

function X = GaussInverse(A,B)

function X = GaussInverse(A)

if(det(A)==0)

X='Обратной матрицы не существует'

return

end

E=eye(size(A));

X=zeros(size(A));

for j=1:1:size(E,2)

X(:,j)=GaussMethod(A,E(:,j));

end

end

Отчет к упражнению 5

Сравнить скорость работы функций с встроенными в MATLAB функциями для решения систем и нахождения обратных матриц.

A=[2 3 1;3 1 -1;2 -1 5];

B=[11;2;15];

tic

inv(A);

toc

Elapsed time is 0.000103 seconds.

tic

GaussInverse(A);

toc

Elapsed time is 0.027727 seconds.

Соседние файлы в папке Модуль 4