Автор работы: Пользователь скрыл имя, 24 Ноября 2014 в 19:59, курсовая работа
После окончания второй мировой войны потребность в быстроте математических расчетов привела к созданию компьютеров. Но широкого применения первые поколения таких машин не получили. Они были дорогие и большие по размерам, а потому доступны лишь некоторым специалистам. С развитием микроэлектроники появились специализированные, предназначенные для математических расчетов миниатюрные компьютеры личного пользования — программируемые калькуляторы. Они широко применяются и сейчас. Однако в последние годы массовое распространение получили куда более мощные, быстрые и универсальные персональные компьютеры (ПК), имеющие превосходные графические возможности и используемые практически во всех сферах науки, производства, бизнеса и образования.
- 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 Слияние и разбиение матриц
Из матрицы или вектора можно выделить подматрицу, вектор-столбец, отдельный элемент. И обратно, можно "склеить" несколькоматриц в одну.
Выделение части матрицы
Часть матрицы выделяется одним из следующих способов:
- для выделения одного
элемента предназначен
- для выделения из матрицы
столбца примените оператор
- чтобы выделить из матрицы строку, примените тот же оператор к транспонированной матрице;
- для выделения подматрицы
используйте встроенную
Выделить из матрицы один столбец или строку можно и с помощью функции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 строк матрицы.