Лабораторная работа № 23.
Линейная алгебра в Mathcad

Время выполнения

 4 часа

Цель работы

Научиться выполнять различные операции с векторами и матрицами;  решать системы линейных алгебраических уравнений; научиться строить таблицы значений функции одной и двух аргументов.

Задачи лабораторной работы

После выполнения работы студент должен знать и уметь:
  • Знать основные приемы работы с матрицами и векторами в Mathcad;
  • Уметь решать системы линейных алгебраических уравнений;
  • Уметь строить таблицы значений функции одной и двух аргументов.

Перечень обеспечивающих средств

Для обеспечения выполнения работы необходимо иметь компьютер с операционной системой MS Windows, установленное приложение РТС Mathcad версии 14 или выше;  методические указания по выполнению работы.  

Общие теоретические сведения

Для работы с матрицами и векторами в Mathcad используется панель Matrix (рис. 1).
 Рисунок 1. Панель инструментов Matrix

Открыть панель Matrix можно, щелкнув мышкой по изображению матрицы на панели инструментов Math (рис. 2): 
 Рисунок 2. Панель инструментов Math

Для того чтобы набрать матрицу нужной размерности необходимо щелкнуть мышкой по изображению матрицы на панели Matrix, при этом откроется диалоговое окно (рис. 3):
 Рисунок 3. Диалоговое окно Insert Matrix

В диалоговом окне следует указать количество строк матрицы (Rows) и количество столбцов (Colums) матрицы, затем нажать OK. Далее в открывшемся поле набрать необходимые числа.

Основные операции над матрицами и векторами

Пусть задана матрица
Обратная матрица , транспонированная матрица ,  определитель  вычисляются с помощью соответствующих инструментов на панели Matrix
|M| = -312

Ранг матрицы

rank(M) = 4

Размер матрицы может быть вычислен следующим образом:
Число строк:
rows(M) = 4
Число столбцов:
cols(M) = 4

Слияние матриц

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

Выделение отдельных элементов, строк, столбцов матрицы

При выполнении операций нужно учитывать, что строки и столбцы нумеруются начиная с нуля.
        
Для выделения подматрицы используется функция submatrix(A, ir, jr, ic, jc), которая возвращает часть матрицы А, находящуюся между строками ir, jr и столбцами ic, jc включительно.
 

Действия над векторами

Модуль вектора вычисляется с помощью инструмента |x| , расположенного на панели Калькулятор (не путать с аналогичным обозначением на панели Matrix, предназначенном для вычисления определителя матрицы).
Пример:
|r| = 3.74165739
 
Размерность вектора:
length(r) = 3

Скалярное и векторное произведение

Создание таблицы значений функции одной переменной

Для того чтобы построить таблицу значений функции в Mathcad необходимо выполнить следующие действия:
  1. Задать функцию 
  2. Задать границы интервала [a, b] на котором будут рассчитываться значения функции
  3. Задать количество точек разбиения интервала [a, b]
  4. Вычислить вектор значений аргумента функции в точках разбиения
  5. Вычислить вектор значений функции, соответствующий вектору значений аргумента.  
Пример
Задание функции:
Задание границ диапазона:
a := -10 b := 10 
Задание числа точек разбиения, включая граничные точки (>=2)
n := 20
Вычисление вектора значений аргумента:
Вычисление вектора значений функции:

Матрица значений функции двух переменных строится аналогично

Пример:
Задание функции:
f(x,y) := sin(x,y)
Задание границ прямоугольника по оси ох
xa := -2•π xb := 2•π
Задание границ прямоугольника по оси оу
ya := -π yb := π
Задание числа точек разбиения по оси ох, включая граничные точки (>=2)
xn := 40
Задание числа точек разбиения по оси оу, включая граничные точки (>=2)
yn := 20
Расчет значений индексов i, j
i := 0 .. xn - 1 j := 0 .. yn - 1
Расчет значений  x(i) и y(j)
 
Матрица значений функции:
Mi,j := f(xii,yij)

Решение систем линейных алгебраических уравнений

Приведем несколько методов решения систем линейных алгебраических уравнений (СЛАУ) в Mathcad: 
    1. Метод обратной матрицы (для квадратных систем с невырожденной матрицей)
        Пусть задана СЛАУ     
        Тогда вектор решения находится по формуле:   
    2. Метод наименьших квадратов
        Пусть задана система уравнений: , где m>n, т.е. число уравнений больше числа неизвестных.
        Умножим обе части матричного уравнения на транспонированную матрицу системы. 
Отсюда   
    3. Символьный метод решения с помощью блока Given - Find (решение системы будет найдено, если оно существует)

Пример:
Given
2•x + 3•y + 5•z + 4 = 0
4•x + 5•y + 7•z - 5 = 0
3•x + 8•y - 4•z - 1 = 0
Замечание: Знаки равенства < = > между левой и правой частью уравнений необходимо ставить, используя панель Boolean (рис. 4).
 Рисунок 4. Панель инструментов Boolean

Любые «другие» знаки равенства, взятые с других панелей или набранные с клавиатуры приведут к ошибке.

Задание

  1. Вычислить определители матриц, найти матрицу обратную заданной, найти ранги матриц, выделить из матриц заданные строки и столбцы.
  2. Решить СЛАУ методом обратной матрицы и с помощью блока Given - Find; решить  СЛАУ методом наименьших квадратов.
  3. Построить таблицы значений функций на заданном интервале [a, b] с заданным количеством точек разбиения.


Видеоурок по выполнению заданий лабораторной работы


Варианты задания

Содержание отчета
  1. Задание и цель работы.
  2. Выполненные расчеты.
  3. Таблицы значений заданных функций. 

Технология выполнения работы

В данной работе необходимо произвести действия с векторами и матрицами, используя панель Matrix, решить СЛАУ методами обратной матрицы, наименьших квадратов, с помощью блока Given – Find, а так же построить таблицы значений функций одной переменной, используя алгоритм описанный выше.

Вопросы для защиты работы

  1. Как вычислить модуль вектора в Mathcad?
  2. Как используя символьный процессор решить систему уравнений? 
  3. Как выделить строку заданной матрицы  в Mathcad ?
  4. Как построить матрицу значений функции двух переменных?