Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы к вопросам 2012_01_03.doc
Скачиваний:
647
Добавлен:
22.02.2016
Размер:
1.64 Mб
Скачать

26. Матричные вычисления в MathCad

Матричные вычисления в MathCad

Маткад позволяет оперировать не только скалярными величинами но и векторами и матрицами.

Вектор – одномерный массив. Матрица – двумерный. Нумерация задается значением системной переменной ORIGIN. V0 – первый элемент вектора V, М0,0 – первый элемент матрицы М.

Элементами матрицы могут быть числа, константы, переменные и математические выражения. Соответственно матрицы могут быть численными и символьными.

Матрицу или вектор можно задать с помощью команды InsertMatrix. Или жмякнув левой педалькой мыши по соответствующей кнопке на тулбаре Vector and Matrix, или просто жмякнув Ctrl+M. Появляется диалоговое окно, в котором вводится количество строк и столбцов (колонок) матрицы. Далее появляется шаблон матрицы, в ячейки которого водятся необходимые значения.

Операции с матрицами можно набирать с клавиатуры или жмякая на соответствующие кнопки на тулбаре Vector and Matrix:

- Определение размеров матрицы;

- Вычисление определителя матрицы;

- Поэлементные операции с матрицами;

- Вычисление скалярного и векторного произведения векторов;

- Вычисление суммы компонент вектора;

- Определение столбца матрицы;

- Транспонирование матрицы.

Кроме того в система содержится ряд функций, наиболее частые:

- matrix(m, n, f) – создает и заполняет матрицу размерностью m x n, элемент которой, расположенный в i-той строке, j-м столбце, равен значению f(i,j) функции f(x,y) $

- diag(v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;

- indentity(n) – создает единичную матрицу порядка n;

- augment(A,B) – формирует матрицу, в первых столбцах которой содержится матрица А, а в последних – матрица В;

- stack(A, B,) – формирует матрицу, в первых строках которой матрица А, а в последних – матрица В;

- rows(A) – Вычисление числа строк в матрице А;

- cols(A) – вычисление числа столбцов в матрице А;

- max(A) – вычисление наибольшего элемента в матрице А;

- rank(A) – вычисление ранга матрицы А

Матричные вычисления в MATLAB

В системе MatLab основной единицей данных является матрица, поэтому система имеет обширный набор стандартных функций и операций по обработке матриц, который позволяет:

- формировать новые матрицы стандартного вида;

- выполнять матричные арифметические операции;

- вычислять матричные характеристики и математические функции.

Для формирования новых матриц стандартного вида применяются следующие системные функции:

rand(M,N) – формирует прямоугольную матрицу размерностью M×N, элементами которой являются случайные числа в интервале (0.0; 1.0), функция rand без параметров формирует одно случайное число в том же интервале.

ones(M,N) формирует единичную матрицу размерностью M×N.

zeros(M,N) формирует матрицу размерностью M×N, состоящую из нулей.

diag(V) создает диагональную матрицу, в которой элементы вектора V являются элементами главной диагонали.

Матричные арифметические операции представлены следующими:

A+B , A-B матричное сложение и вычитание. Оба операнда этой операции должны иметь одинаковую размерность, если они являются матрицами. Один из операндов может выть скалярной величиной.

A*B матричное умножение. Операция выполняется по правилам матричного умножения, число столбцов матрицы A должно быть равно числу строк матрицы B.

A \ B левое деление матриц. Осуществляет решение системы линейных алгебраических уравнений A*X=B. Число столбцов А должно быть равно числу строк В.

A / B правое деление матриц. Осуществляет решение системы линейных алгебраических уравнений X*A=B.

Х ^ Р возведение матрицы в степень. Эта операция при скалярном значении Р возводит квадратную матрицу Х в степень Р. Если Х – скалярная величина, а Р – квадратная матрица, то Х^Р возводит Х в матричную степень Р. Эта операция является ошибочной, если оба операнда – матрицы.

В MatLab существуют матричные операции, которые выполняются над каждым элементом матрицы, это такие операции, как:

.* поэлементное матричное умножение.

.\ поэлементное левое деление матриц.

. / поэлементное правое деление матриц.

.^ поэлементное возведение матрицы в степень.

Оба операнда этих операций должны иметь одинаковую размерность, или один из них должен являться скалярной величиной.

Операция «апостраф» вычисляет комплексно сопряженную транспонированную матрицу.

Операция «точка апостраф» .′ вычисляет транспонированную матрицу.

Система содержит стандартные функции, позволяющие вычислять различные характеристики матриц:

det(A) вычисляет определитель матрицы;

trace(A) вычисление следа матрицы;

rank(A) вычисление ранга матрицы;

inv(A) вычисление обратной матрицы.