Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНАЯ РАБОТА 3 Алгебра матриц

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

ЛАБОРАТОРНАЯ РАБОТА №3 «Алгебра матриц».

Студента группы ПВ-22 Малютина Максима.

Задание. Обратить матрицу методом разбиения ее на произведение двух треугольных матриц.

Вариант 8.

При разбиении матрицы А на две треугольные, используются следующие формулы:

M=1..n.

Получены следующие результаты:

Матрица T: Матрица R:

Матрица A-1:


program
lab_3;

{ Лабораторная работа по вычмслительной математике N 3

 Нахождение матрицы, обратной данной }

const Sizem = 10; { максимальная размерность матрицы }

type mattype = array [1..Sizem,1..Sizem] of double;

{ процедура для вывода матрицы на экран }

procedure WriteMat (var m : mattype;n,n1 : byte);

var k,i : byte;

begin

    writeln;

    for k := 1 to n do

    begin

         for i := 1 to n1 do

             write(m[k,i] : 7:3,' ');

         writeln

    end;

end;

{ процедура ввода значений элементов матрицы }

procedure inputmat (var m : mattype; var n : byte);

var k,i : byte;

begin

    writeln;

    write ('Размер матрицы = ');

    readln(n);

    for k := 1 to n do

        for i := 1 to n do

            read (m[k,i]);

end;

{ процедура транспонирования матрицы }

procedure Transpose (var m : mattype;n : byte);

var k,i : byte;

   ttt : double;

begin

    for k := 1 to n do

        for i := k+1 to n do

        begin

             ttt := m[k,i];

             m[k,i] := m[i,k];

             m[i,k] := ttt;

        end;

end;

{ процедура умножения двух матриц (a*b=c) }

procedure MulMat (a : mattype; ma,na : byte;

                 b : mattype; mb,nb : byte;

                 var c : mattype; var mc,nc : byte);

var k,i,j : byte;

   s : double;

begin

    if na = nb then

    begin

         mc := ma;

         nc := nb;

         for k := 1 to mc do

              for j := 1 to nc do

              begin

                   s := 0;

                   for i := 1 to nc do

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

                   c[k,j] := s;

              end;

    end

    else

    begin

     writeln('Неправильный размер матрицы !');

         halt

    end;

end;

{ процедура получения двух треугольных матриц

 произведение которых равно матрице m }

procedure GetRnT (var m,r,t : mattype; n : byte);

var k,i,m1,l : byte;

begin

    for k := 1 to n do

        for i := 1 to n do

        begin

             if k=i then r[k,i] := 1

                    else r[k,i] := 0;

             t[k,i] := 0;

        end;

    for m1 := 1 to n do

    begin

         if m1 = 1 then

         begin

              for i := 1 to n do

                  t[i,1] := m[i,1];

              for i := 2 to n do

                  r[1,i] := m[1,i]/t[1,1];

         end

         else

         begin

              k := m1;

              for i := m1 to n do

              begin

                  t[i,k] := m[i,k];

                  for l := 1 to k-1 do

                      t[i,k] := t[i,k] - t[i,l]*r[l,k];

              end;

              i := m1;

              for k := i+1 to n do

              begin

                   r[i,k] := m[i,k];

                   for l := 1 to i-1 do

                       r[i,k] := r[i,k] - t[i,l]*r[l,k];

                   r[i,k] := r[i,k] / t[i,i];

              end;

         end;

    end;

end;

{ процедура обращения нижней треугольной матрицы }

procedure BackMat (var t : mattype; n : byte);

var i,k,l : byte;

   x : mattype;

begin

    for i := 1 to n do

        x[i,i] := 1/t[i,i];

    for k := 1 to n-1 do

         for i := k+1 to n do

         begin

              x[i,k] := 0;

              for l := k to i-1 do

                  x[i,k] := x[i,k] - t[i,l]*x[l,k];

              x[i,k] := x[i,k]/t[i,i];

         end;

    t := x

end;

var m,m1,r,t : mattype;

   n : byte;

{ ------------- основная программа ---------------- }

begin

    writeln ('Лабораторная работа N 2 ');

    InputMat(m,n);           { ввод матрицы m }

    GetRnT(m,r,t,n);{получение треугольных матриц t и r}

    Writeln('Матрица T: ');

    WriteMat(t,n,n);

    readln;

    Writeln('Матрица R: ');

    WriteMat(r,n,n);

    readln;         

    BackMat(t,n);   { обращение матрицы t }

    Transpose(r,n); { транспонирование матрицы r }

    BackMat(r,n);   {обращение матрицы r (транcпонир.)}

    Transpose(r,n);{транспонирование обращенной м-цы r }

    MulMat(r,n,n,t,n,n,m1,n,n);

    {получение матрицы,обратной матрице m}

    WriteMat (m1,n,n);{ печать обратной матрицы }

    readln;

    MulMat(m,n,n,m1,n,n,m,n,n); { Проверка вычислений }

    WriteMat(m,n,n);

    readln;

end.




1. Основы политологии
2. Приветствующий Кот
3. Выпускник Освобожденный
4. Теоретический анализ к подходу изучения детей с задержкой психического развития
5. Товар как объект изучения
6. Мужские особи имеют две хромосомы обозначим их как X и Y которые не гомологичны ни одной другой хромосоме и
7. РЕФЕРАТ на здобуття наукового ступеня кандидата технічних наук Київ ~ Дисертацією
8. тематически разрабатывал проблему чела
9. то взято столько
10. тематическое музыкальное развитие
11. hisz esz ek em isz om j~v~k megyek
12.  3 шт. 150 руб
13. Реферат- Поведение фирмы и социальные последствия функционирования рынка в условиях чистой монополии
14. до для людей пожилого возраста и инвалидов
15. Петромагнетизм континентальной литосферы и природа региональных магнитных аномалий
16. тема Директкостинг Особенностью организации учета на западных предприятиях и фирмах является его разде
17. Ведь все люди стремятся к Закону говорит поселянин как же случилось что за все эти долгие годы никто кр
18. Условия для сюжетноролевых игр атрибуты для игр в соответствии с методическими рекоменда
19. ПЛАН СДЕЛАЙ САМ
20. Курсовая работа- Поставка рогов и копыт- бизнес-план