Хелпикс

Главная

Контакты

Случайная статья





ЗАДАНИЕ 3: Матричные выражения



ЗАДАНИЕ 3: Матричные выражения

Цель задания

Получение практических навыков работы с матрицами.

Постановка задачи

Составить программу вычисления заданного матричного выражения. Проверить результаты работы программы, используя математический пакет Mathcad 2001i Professional. 

Содержание отчета

1. Постановка задачи.

2. Текст программы.

3. Результаты выполнения программы (содержимое файла rez.txt).

4. Результаты вычислений в математическом пакете Mathcad 2001i Professional.

                                             Исходные данные 

Вариант Матричное выражение

; ; ; ; .

Пример оформления отчета

Тема лабораторной работы: матричные выражения

Вариант 24

Выполнил студент гр. СТ-12 Петров А.И.

1. Постановка задачи:составить программу вычисления матричного выражения

                         при

  ; ; ; .

Проверить результаты работы программы, используя математический пакет Mathcad 2001i Professional. 

2. Текст программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

 

namespace ConsoleApplication_Lab3

{

class Program

{

 

 

   static void Main(string[] args)

   {

       double[,] A = { { 9, 1, 3 }, { 4, 5, 6 }, { 8, 7, 6 } };

       double[,] B = { { 2, 3, 4 }, { 5, 6, 4 }, { 3, 2, 1 } };

       double[,] C = { { 11, 12, 1 }, { 3, 5, 7 }, { 0, 5, 0 } };

       double[] X = { 1, 2, 3 };           

       double[,] D = new double[3, 3];

       double[,] E = new double[3, 3];

       double[,] F = new double[3, 3];

       double[] Z = new double[3];

       int i, j, k;

 

       // Умножение [A] на [B] (результат в матрице [D])

       for (i = 0; i <= 2; i++)

           for (j = 0; j <= 2; j++)

           {

               D[i, j] = 0;

               for (k = 0; k <= 2; k++)

               {

                   D[i, j] = D[i, j] + A[i, k] * B[k, j];

               }

           }

 

       // Умнеожение [C] на [A] (результат в матрице [E])

       for (i = 0; i <= 2; i++)

           for (j = 0; j <= 2; j++)

           {

               E[i, j] = 0;

               for (k = 0; k <= 2; k++)

               {

                   E[i, j] = E[i, j] + C[i, k] * A[k, j];

               }

           }

 

       // Вычитание из [D] [E] (результат в матрице [F])

       for (i = 0; i <= 2; i++)

           for (j = 0; j <= 2; j++)

           {

              F[i, j] = D[i, j] - E[i, j];

           }

 

       // Умножение [F] на {X} (результат в векторе {Z})

       for (i = 0; i <= 2; i++)

       {

           Z[i] = 0;

           for (j = 0; j <= 2; j++)

           {

               Z[i] = Z[i] + F[i, j] * X[j];

           }

       }

 

       FileStream u = new FileStream("rez.txt", FileMode.Create);

       StreamWriter Wr = new StreamWriter(u);

 

       // Печать вектора {Z}

       Console.WriteLine("Элементы вектора Z");

       Wr.WriteLine("Элементы вектора Z");

       for (i = 0; i <= 2; i++)

       {

           Console.WriteLine("{0:D3} {1:F3}", i + 1, Z[i]);

           Wr.WriteLine("{0:D3} {1:F3}", i + 1, Z[i]);

       }

 

       Console.ReadLine();          

 

       Wr.Close();

       u.Close();           

   }

}

}

3. Результаты выполнения программы (содержимое файла rez.txt):

Элементы вектора Z

001 -405,000

002 -215,000

003 263,000

 

 

4. Результаты вычислений в математическом пакете Mathcad 2001i Professional.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.