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

Автор работы: Пользователь скрыл имя, 24 Ноября 2014 в 19:59, курсовая работа

Краткое описание

После окончания второй мировой войны потребность в быстроте математических расчетов привела к созданию компьютеров. Но широкого применения первые поколения таких машин не получили. Они были дорогие и большие по размерам, а потому доступны лишь некоторым специалистам. С развитием микроэлектроники появились специализированные, предназначенные для математических расчетов миниатюрные компьютеры личного пользования — программируемые калькуляторы. Они широко применяются и сейчас. Однако в последние годы массовое распространение получили куда более мощные, быстрые и универсальные персональные компьютеры (ПК), имеющие превосходные графические возможности и используемые практически во всех сферах науки, производства, бизнеса и образования.

Прикрепленные файлы: 1 файл

Matrichnye_vychislenia_v_MATHCAD.docx

— 903.65 Кб (Скачать документ)

- TR (A) - след квадратнoй матрицы А.

Рисунок 12 - Суммирования элементов вектора и диагонали матрицы.

 

2.1.9 Обратная матрица

 

Поиск обратной матрицы возможен, если матрица квадратная, и ее определитель не равен нулю. Произведение исходной матрицы наобратную матрицу по определению является единичной матрицей. Для ввода оператора поиска обратной матрицы, нажмите кнопку INVERSE (обратная матрица)на панели инструментов MATRIX.

 Рисунок 13 - Поиск обратной  матрицы.

 

2.1.10 Возведение матрицы в степень

 

К квадратным матрицам можно применять операцию возведения в степень (n). Для этого (n) должно быть целым числом. Результат данной операции приведен в (MATRIX). Ввести оператор возведения матрицы M в степень(n) можно точно так же, как и для скалярной величины: нажав кнопку RAISETO POWER (возвести в степень) на панели CALCULATOR (калькулятор) или нажавклавишу <л>. После появления местозаполнителя в него следует ввести значение степени (n).

Рисунок 14 - Возведения квадратной матрицы в целую степень.

 

2.1.11 Векторизация массивов

 

Векторная алгебра MATHCAD включает несколько необычный оператор, который называется оператором векторизации (VECTORRIZEOPERATOR). Этот операторпредназначен, как правило, для работы с массивами. Он позволяет провестиоднотипную операцию над всеми элементами массива (т. е. матрицы иливектора), упрощая тем самым программирование циклов. Например, иногдатребуется умножить каждый элемент одного вектора на соответствующийэлемент другого вектора. Непосредственно такой операции в MATHCAD нет,но ее легко осуществить с помощью векторизации.

 

Рисунок 15 - Использование векторизациидля перемножения элементов вектора.

 

Оператор векторизации можно использовать только с векторами и матрицами одинакового размера.

Большинство неспецифических функций MATHCAD не требуют векторизации для проведения одной и той же операции над всеми элементами вектора. Например, аргументом тригонометрических функций по определениюявляется скаляр. Если попытаться вычислить синус векторной величины,MATHCAD осуществит векторизацию по умолчанию, вычислив синус каждого элемента и выдав в качестве результата соответствующий вектор.

Рисунок 16 - Векторизация необязательнадля большинства функций MATHCAD.

 

2.1.12 Символьные операции с матрицами

 

Все матричные и векторные операторы, о которых шла речь выше, допустимо использовать в символьных вычислениях. Мощь символьных операцийзаключается в возможности проводить их не только над конкретными числами, но и над переменными.

Рисунок 17 -  Символьные операции над векторами и матрицами.

 

2.2 Матричные функции

 

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

 

 

2.2.1 Функции создания матриц

 

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

Определение элементов матрицы через функцию

- MATRIX(n,n,f) - создание матрицы размера (mxn), каждый i, j элемент которой есть f (i, j);

m - количество строк;

n- количество столбцов;

f(i,j) - функция.

Рисунок 18 - Создание матрицы.

 

Для создания матриц имеются еще две специфические функции, применяемые, для быстрого и эффектного представления каких-либозависимостей в виде трехмерных графиков (типа поверхности или пространственной кривой). Все их аргументы, кроме первого (функции), необязательны. Рассмотрим первую из функций.

О CREATESPACE (F(WRAf1, f2, f3) , T0, T1, TGRID, FMAP) - создание вложенного массива, представляющего (х, у ,z)-координаты параметрической пространственной кривой, заданной функцией F;

F(t) - векторная функция  из трех элементов, заданная параметрически относительно единственного аргумента t;

f1 (t), f2 (t), f3 (t) - скалярные функции;

TO - нижний предел t;

T1- верхний предел t;

TGRID - число точек сетки по переменной t;

FMAP - векторная функция от трех аргументов, задающая преобразование координат.

В некоторых языках программирования допускаются массивы, элементы которых снова могут быть массивами и т. д. Подобные структурные образования данных называются вложенными (вставленными) массивами.

Заметьте, дляпостроения графика спирали не потребовалось никакого дополнительногокода, кроме определения параметрической зависимости в вектор-функции F!

Рисунок 19 - Использование функции CREATESPACEс разным набором параметров.

 

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

- CREATEMESH(F(miHg, ИЛИfI, f2, f3) , s0, s1, t0, t1,sgrid,tgrid,fmap) -создание вложенного массива, представляющего х-, у- и z-координатыпараметрической поверхности, заданной функцией F;

F(s,t) - векторная функция  из трех элементов, заданная параметрически  относительно двух аргументов s и t;

g(s,t) - скалярная функция;

f1 (s,t) ,f2(s,t) ,f3(s,t) - скалярныефункции;

s0,t0 - нижние пределы аргументов s,t;

s1,t1 - верхние пределы аргументов s,t;

sgrid, tgrid - число точек сетки  по переменным s и t;

fmap - векторная функция  из трех элементов от трех  аргументов, задающая преобразование  координат.

 

 

Рисунок 20 - Использование функции CREATEMESHс разным набором параметров.

 

 Каждая матрица из  числа трехвложенных матриц, образующих массив, определяет (х, у, z)-координатыточек поверхности или кривой, соответственно.

Рисунок 21 - Результат действия функций CREATEMESH и CREATESPACE.

 

Создание матриц специального вида

В MATHCAD легко создать матрицы определенного вида с помощью однойиз встроенных функций. Примеры использования этих функций приведены на Рис21.

-IDENFINITY (N) - единичная матрица размера NXN;

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

- GENINV (A) - создание матрицы, обратной (слева) матрице А;

- RREF (А) - преобразование матрицы или вектора А в ступенчатый вид;

n- целое число;

v - вектор;

А - матрица из действительных чисел.

Примечание:

Размер (nxm)матрицы А для функции GENINVдолжен быть таким, чтобы n>m.

Рисунок 22 - Создание матриц специального вида.

 

2.2.2 Слияние и разбиение матриц

 

Из матрицы или вектора можно выделить подматрицу, вектор-столбец, отдельный элемент. И обратно, можно "склеить" несколькоматриц в одну.

Выделение части матрицы

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

- для выделения одного  элемента предназначен оператор  нижнего индекса. Оператор вводится либо нажатием кнопки SUBSCRIPT (Нижний индекс) со значком «х» на панели MATRIX (Матрица), либо нажатием клавиши < [ >;

- для выделения из матрицы  столбца примените оператор выделениястолбца нажатием кнопки MATRIX COLUMN с изображением угловых скобокна панели MATRIX, либо сочетанием клавиш <CTRL>+<6>;

- чтобы выделить из  матрицы строку, примените тот же оператор к транспонированной матрице;

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

 

 

Выделить из матрицы один столбец или строку можно и с помощью функцииSUBMATRIX.

Рисунок 23 -  Доступ к отдельным элементам, столбцам и строкам матрицы.

Рисунок 24 - Выделение подматрицы.

 

Те же самые операции можно применить и матрицам-векторам, и матрицам-строкам.Следует помнить только, что размер их составляет (nxI) и (Ixn), соответственно.

Рисунок 25 - Выделение частей из векторов и строк.

 

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

Для того чтобы составить из двух или более матриц одну, в MATHCAD предусмотрены две функции:

- AUGMENT (А, B, C,...) - матрица, сформированная слиянием матриц-аргументов слева направо;

- STACK (А, B, C,...) - матрица, сформированная слиянием матриц-аргументов сверху вниз;

А, B, C,... - векторы или матрицы соответствующего размера.

Рисунок 26 - Примеры слияния матриц.

 

2.2.3 Вывод размера матриц

 

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

- ROWS(A)- число строк;

-COLS (A) - число столбцов;

- LENGTH (v) - число элементов вектора;

-LAST (v) - индекс последнего элемента вектора;

А - матрица или вектор;

v - вектор.

Число элементов вектора и индекс его последнего элемента совпадают, еслииндексы нумеруются с 1, т. е. системная константа ORIGIN равна 1.

Рисунок 27 - Размер матриц и векторов.

 

2.2.4 Сортировка матриц

 

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

- SORT(v) - сортировка элементов вектора в порядке возрастания;

-CSORT(A, i) - сортировка строк матрицы выстраиванием элементов 1-гостолбца в порядке возрастания;

- RSORT(A, i) - сортировка столбцов матрицы выстраиванием элементовi-й строки в порядке возрастания;

- REVERSE (v) - перестановка элементов вектора в обратном порядке;

v - вектор;

А - матрица;

i - индекс строки или  столбца.

Если элементы матриц или векторов комплексные, то сортировка ведется подействительной части, а мнимая часть игнорируется.

Рисунок 28 - Сортировка векторов.

 

Рисунок 29 - Сортировка матриц по столбцу.

 

Рисунок 30 - Сортировка матриц по строке (матрица А  та же).

 

 

 

2.2.5 Норма квадратной матрицы

 

В линейной алгебре используются различные матричные нормы (NOR), которые ставят в соответствие матрице некоторую скалярную числовую характеристику. Норма матрицы показывает порядок величины матричных элементов. В разных специфических задачах алгебры применяются различные виды норм. MATHCAD имеет четыре встроенных функции длярасчета разных норм квадратных матриц:

- NORM1(A) - норма в пространстве L1;

- NORM2 (A) - норма в пространстве L2;

- NORME(A) - евклидованорма (EUCLIDEAN NORM);

- NORMI(A) - max-норма, или ^-норма (INFINITY NORM);

А - квадратная матрица.

В большинстве задач неважно, какую норму использовать. Как видно, в обычных случаях разные нормы дают примерно одинаковые значения, хорошо отражая порядок величины матричных элементов. Определение остальных нормзаинтересованный читатель отыщет в справочниках по линейной алгебре илив Центре Ресурсов MATHCAD.

 

Рисунок 31 - Нормы матриц.

 

2.2.6 Число обусловленностиквадратной матрицы

 

Еще одной важной характеристикой матрицы является ее число обусловленности (CONDITIONNUMBER). Число обусловленности является мерой чувствительности системы линейных уравнений a*x=b, определяемой матрицей «a», к погрешностям задания вектора «b» правых частей уравнений. Чем больше числообусловленности, тем сильнее это воздействие и тем более неустойчив процесс нахождения решения. Число обусловленности связано с нормой матрицы и вычисляется по-разному для каждой из норм;

- COND1 (а) - число обусловленности в норме L1;

- COND2 (а) - число обусловленности в норме L2;

- CONDE (а) - число обусловленности в евклидовой норме;

- CONDI(а) - число обусловленности в бесконечнойнорме;

а - квадратная матрица.

Рисунок 32 - Числа обусловленности матриц.

Обратите внимание, что первая из матриц является хорошо обусловленной, а вторая - плохо обусловленной (две ее строки определяют очень близкие системы уравнений, с точностью до множителя). Вторая строка рисунка дает формальное определение числа обусловленности как произведения норм исходной и обратной матриц. В других нормах определение, точно такое же.

 

2.2.7 Ранг матрицы

 

Рангом (RANK) матрицы называют наибольшее натуральное число k, для которого существует не равный нулю определитель k -гo порядка подматрицы,составленной из любого пересечения k столбцов и k строк матрицы.

Информация о работе Матричные вычисления в MatCad