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

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

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

Основной областью применения ПК и поныне являются математические и научно-технические расчеты. Бесспорным лидером среди массовых ПК стали IBM-совместимые ПК 486DX/Pentium/PentiumMMX/ PentiumPro/PentiumII, называемые так по типу используемых в них микропроцессоров. Само по себе появление компьютеров не упрощало математические расчеты, а лишь позволяло резко повысить скорость их выполнения и сложность решаемых задач. Пользователям П К, прежде чем начинать такие расчеты, нужно было изучать сами компьютеры, языки программирования и довольно сложные методы вычислений, применять и подстраивать под свои цели программы для решения расчетных задач на языках Бейсик или Паскаль. Поневоле ученому и инженеру, физику, химику и математику приходилось становиться программистом. В связи с этим, на основании ПК были и ориентированы современные математические системы.

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

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

Широкую известность и заслуженную популярность еще в середине 80-х годов приобрели интегрированные системы для автоматизации математических расчетов класса MATHCAD, разработанные фирмой MATHSOFT (США). По сей день, они остаются единственными математическими системами, в которых описание решения математических задач дается с помощью привычных математических формул и знаков. Роль главной математической системы для большинства пользователей по-прежнему осталась за MATHCAD. Системы этого класса отличаются от других систем простотой, удобным пользовательским интерфейсом и тщательно продуманными, отобранными и ориентированными на нужды большинства пользователей математическими возможностями.

Объект: матричные вычисления в MATCAD.

Предмет: процесс решения задач с помощью MATCAD.

Задачи:

1) Изучить системуMATHCAD.

2) Определить основные функции MATHCAD.

3) Научиться решать задачи с помощью матричных вычислений в MATHCAD.

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

1. MATHCAD и его основные понятия

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

В последнее время особый интерес проявляется к системам компьютерной алгебры, способным выполнять не только числовые, но и аналитические вычисления. Отличительной чертой интегрированных математических систем MATHCAD является подготовка документов, которые объединяют задание исходных данных, математическое описание их обработки и результаты вычислений (в виде числовых данных, таблиц и графиков). Вид документа в MATHCAD почти ничем не отличается от вида научной статьи. Удачно решена в MATHCAD проблема передачи изменений числовых данных в формулах по всей цепочке вычислений. К средствам новых версий MATHCAD относятся настройка под любой мало-мальски известный тип печатающего устройства, богатый набор шрифтов, возможность использования всех инструментов WINDOWS, прекрасная графика и современный многооконный интерфейс. А в версию MATHCAD 8.0 PRO включены эффективные средства цветового оформления документов, создания анимационных (движущихся) графиков и звукового сопровождения. Тут же текстовый, формульный и графический редакторы, объединенные с мощным вычислительным потенциалом. Предусмотрена и возможность объединения с другими мощными математическими и графическими системами для решения особо сложных задач. Отсюда и название таких систем -- интегрированные системы.

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

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

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

2. Возможности и функции MATHCAD в матричных исчислениях

Матричные вычисления можно условно разделить на несколько типов. Первый тип — это простейшие действия, которые реализованы операторами и несколькими функциями, предназначенными для создания, объединения, сортировки, получения основных свойств матриц и т. п.

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

2.1 Простейшие операции с матрицами

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

Непосредственное проведение векторных операций над строками, т. е. матрицами (1xn), невозможно; для того чтобы превратить строку в вектор, ее нужно предварительно транспонировать.

2.1.1 Транспонирование

Транспортированием называют операцию, переводящую матрицу размерности (nxm) в матрицу размерности (mxn), делая столбцы исходной матрицы строками, а строки — столбцами.

Рисунок 1 — Транспонирования матриц.

Ввод символа транспонирования (TRANSPOSE) осуществляется с помощью панели инструментов MATRIX или нажатием клавиш < CTRL>+<!>. He забывайте, что для вставки символа транспонирования матрица должна находиться между линиями ввода.

2.1.2 Сложение

В MATHCAD можно как складывать матрицы, так и вычитать их друг из друга. Для этих операторов применяются символы < +> или < -> соответственно. Матрицы должны иметь одинаковую размерность, иначе будет выдано сообщение об ошибке. Каждый элемент суммы двух матриц равен сумме соответствующих элементов матриц-слагаемых.

Рисунок 2 — Сложение и вычитание матриц.

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

Рисунок 3 — Сложение матрицы со скаляром.

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

Рисунок 4 — Смена знака матрицы.

2.1.3 Умножение

При умножении следует помнить, что перемножать матрицы можно только если их размерности (mxn) и (nxp) (р — может быть любым). В результате получается матрица размерности (mxp).

Рисунок 5 — Умножения матриц.

Символ умножения, ставится нажатием клавиши со звездочкой < *>или на панели инструментов MATRIX, нажав кнопку DOT PRODUCT (умножение). Умножение матриц обозначается точкой. Символ умножения матриц можно выбирать точно так же, как и в скалярных выражениях.

Нужно знать, что попытка перемножить матрицы A и B несоответствующего (одинакового 2×3) размера оказалась безрезультатной: после введенного знака равенства находится пустой место заполнитель, а выражение в редакторе MATHCAD выделяется красным цветом. При установке курсора мыши на это выражение, выходит сообщение о несовпадении числа строк первой матрицы числу столбцов второй матрицы.

Аналогично сложению матриц со скаляром определяется умножение и деление матрицы на скалярную величину.

Рисунок 6 — Умножение матрицы на скаляр.

Символ умножения вводится так же, как и в случае умножения двух матриц. На скаляр можно умножать любую матрицу (mxn).

2.1.4 Определитель квадратной матрицы

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

Чтобы ввести символ определителя матрицы, нужно:

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

2) Ввести оператор нахождения определителя матрицы.

3) Ввести знак равенства, чтобы вычислить определитель.

Рисунок 7 — Поиск определителя квадратной матрицы.

2.1.5 Модуль Вектора

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

Рисунок 8 — Поиск модуля вектора.

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

Скалярное произведение векторов (VECTORINNERPRODUCT) определяется как скаляр, равный сумме пoпарных прoизвeдeний соответствующих элементов. Векторы должны иметь одинаковую размерность, скалярное произведение имеет ту же размерность. Скалярное произведение двух векторов u и v равно u-v= | u | * | v | -COSE. Если векторы ортогональны, их скалярное произведение равно нулю. Обозначается скалярное произведение тем же символом умножения. Для обозначения скалярного произведения пользователь также может выбирать представление оператора умножения.

Рисунок 9 — Скалярное произведение векторов.

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

С осторожностью перемножайте несколько (более двух) векторов. По-разному расставленные скобки полностью изменяют результат умножения.

Рисунок 10 — Скалярные умножения на третий вектор.

2.1.7 Векторное произведение

Векторное произведение (CROSSPRODUCT) двух векторов u и v с углом 0 между ними равно вектору с модулем |ui|-|v|-sin90, направленным перпендикулярно плоскости векторов u и v. Обозначают векторное произведение символом х, который можно ввести нажатием кнопки CROSS PRODUCT (векторное произведение) в панели MATRIX или сочетанием клавиш < CTRL>+<8>.

Рисунок 11- Векторное произведение.

2.1.8 Сумма элементов вектора и след матрицы

Иногда бывает нужно вычислить сумму всех элементов вектора. Для этого существует вспомогательный оператор, задаваемый кнопкой VECTOR SUM (сумма вектора) на панели MATRIX или сочетанием клавиш < CTRL>+<4>. Этот оператор чаще оказывается полезным не в векторной алгебре, а при организации циклов с индексированными переменными выполняются операции суммирования диагональных элементов квадратной матрицы. Эту сумму называют следом (TRACE) матрицы. Данная операция организована в виде встроенной функции TR-:

— 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 строк матрицы.

Для вычисления ранга в MATHCAD предназначена функция RANK.

— RANK (A) — ранг матрицы;

А — матрица.

Рисунок 33 — Ранг матрицы.

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

Центральным вопросом вычислительной линейной алгебры является решение систем линейных алгебраических уравнений (СЛАУ), т. е. систем уравнений вида

k11×1 + k12×2 + … + k1nxn + l1 = 0

k12×1 + k22×2 + … + k2nxn + l2 = 0 … kn1x1 + kn2x2 + … + knnxn + ln = 0

К системам линейных уравнений сводится множество, если не сказать большинство, задач вычислительной математики.

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

В MATHCAD существует два способа решения СЛАУ. В одном способе следует использовать вычислительный блок GIEN/FIND, а в другом — встроенную функцию LSOLVE.

-LSOLVE (А, b) — решение системы линейных уравнений;

А — матрица коэффициентов системы;

b — вектор правых частей.

Рисунок 34 — Решение СЛАУ.

Рисунок 35 — Символьное решение СЛАУ (продолжение Рис. 34).

В некоторых случаях, для большей наглядности представления СЛАУ, его можно решить точно так же, как систему СНУ. Не забывайте, что при численном решении всем неизвестным требуется присвоить начальные значения. Они могут быть произвольными, т. к. решение СЛАУ с невырожденной матрицей единственно.

При решении СЛАУ с помощью функции FIND MATHCAD автоматически выбирает линейный численный алгоритм, в чем можно убедиться, вызывая на имени FIND контекстное меню.

Рисунок 36 — Решение СЛАУ с помощью вычислительного блока.

2.4 Собственные векторы и собственные значения матриц

Вторая по наиболее частому применению задача вычислительной линейной алгебры -это задача поиска собственных векторов х и собственных значений X матрицы А, т. е. решение матричного уравнения А-х=А/х. Такое уравнение имеет решения в виде собственных значений А. 1Д2,… и соответствующих им собственных векторов xi, x2,… Для решения таких задач на собственные векторы и собственные значения в MATHCAD встроено несколько функций, реализующих довольно сложные вычислительные алгоритмы:

— EIGENVAIS (A) — вычисляет вектор, элементами которого являются собственные значения матрицы А;

-EIGENVECS (A) — вычисляет матрицу, содержащую нормированные собственные векторы, соответствующие собственным значениям матрицы А. n-й столбец вычисляемой матрицы соответствует собственному вектору n-го собственного значения, вычисляемого EIGENVAIS;

— EIGENVEC (A, альфа,) — вычисляет собственный вектор для матрицы, А и заданного собственного значения А. ;

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

Рисунок 37 — Поиск собственных векторов и собственных значений.

Рисунок 38 — Проверка правильности нахождения собственных векторов собственных значений (продолжение Рис. 37).

Помимо рассмотренной проблемы поиска собственных векторов и значений, иногда рассматривают более общую задачу, называемую задачей на обобщенные собственные значения: А-х=А/в-х. В ее формулировке помимо матрицы, А присутствует еще одна квадратная матрица в. Для задачи на обобщенные собственные значения имеются еще две встроенные функции, действие которых аналогично рассмотренным:

-GENVAIS (A, в) — вычисляет вектор v собственных значений, каждый из которых удовлетворяет задаче на обобщенные собственные значения;

— GENVECS (A, B) — вычисляет матрицу, содержащую нормированные собственные векторы, соответствующие собственным значениям в векторе v, который вычисляется с помощью GENVAIS. В этой матрице 1 -й столбец является собственным вектором х, удовлетворяющим задаче на обобщенные собственные значения;

А, в — квадратные матрицы.

Рисунок 39 — Поиск обобщенных собственных векторов и собственных значений.

Рисунок 40 — Проверка правильности нахождения собственных векторов и собственных, значений (продолжение Рис. 39).

2.5 Матричные разложения

Современная вычислительная линейная алгебра — бурно развивающаяся наука. Главная проблема, рассматриваемая ею, — это проблема решения систем линейных уравнений. В настоящее время разработано множество методов, упрощающих эту задачу, которые, в частности, зависят от структуры матрицы СЛАУ. Большинство методов основано на представлении матрицы в виде произведения других матриц специального вида, или матричных, разложениях. Как правило, после определенного разложения матрицы задача линейной алгебры существенно упрощается. В MATHCAD имеется несколько встроенных функций, реализующих алгоритмы наиболее популярных матричных разложений.

2.5.1 Разложение Холецкого

Разложением Холецкого симметричной матрицы, А является представлениевида A=L-LT, где L — треугольная матрица (т. е. матрица, по одну из сторонот диагонали которой находятся одни нули). Алгоритм Холецкого реализован во встроенной функцииCHOLESKY.

-CHOLESKY (А) — разложение Холецкого;

А — квадратная, положительно-определенная матрица.

2.5.2 QR-разложение

QR-разложением матрицы, А называется разложение вида

A=Q-R,

где Q — ортогональная матрица, a R — верхняя треугольная матрица.

— QR (A) — QR-разложение;

А — вектор или матрица любого размера.

Результатом действия функции QR (A) является матрица L, составленная из матриц Q и R соответственно. Чтобы выделить сами матрицы QR-разложения, необходимо применить функцию выделения подматрицы SUBMATRIX.

2.5.3 LU-разложение

LU-разложением матрицы А, или треугольным разложением, называется матричное разложение вида P-A=L-U, где L и U — нижняя и верхняя треугольные матрицы соответственно. Р, А, L, U- квадратные матрицы одного порядка.

— LU (A) — LU-разложение матрицы; А — квадратная матрица.

Это разложение матрицы СЛУ производится при ее решении численным методом Гаусса.

Функция LU-разложения, подобно предыдущей функции QR-разложения, выдает составную матрицу. Выделить матрицы P, L, и несложно при помощи встроенной функции SUBMATRIX.

2.5.4 Сингулярное разложение

Сингулярным разложением (SINGULARVALUEDECONPOSITION) матрицы, А размера (nxm) (причем n> m) является разложение вида A=U-S-VT, где u и v — ортогональные матрицы размером (nxn) и (mxm) соответственно,

AS — диагональная матрица с сингулярными числами матрицы, А на диагонали.

— SVDS (A) — вектор, состоящий из сингулярных чисел;

— SVD (A) — сингулярное разложение;

А — действительная матрица.

2.6 Элементарная теория линейных операторов

Пусть заданы линейные пространства Х и У. Правило, по которому каждому элементу ставится в соответствие единственный элемент, называется оператором, действующим в линейных пространствах Х, У. результат действия оператора, А на элемент х обозначают у=Ах или у=А (х).

Если элементы х и у связаны соотношением у=Ах, то у называют образом элемента х, а х — прообразом у.

Множество элементов линейного пространства Х, для которых определено действие оператора А, называют областью определения оператора, А и обозначают D (A).

Множество элементов линейного пространства У, которые являются образами элементов из D (A), называют образом оператора, А и обозначают Im (A). Если у=Ах, то

Оператор А, действующий в линейных пространствах Х, У называется линейным оператором, если

для любых u, vи Xи для любого числа a.

Если пространства Х и У совпадают, то говорят, что оператор действует в пространстве Х. В дальнейшем ограничимся рассмотрением линейных операторов, действующих в линейном пространстве Х.

Линейный оператор и его матрица.

Переход к другому базису.

Рассмотрим линейный оператор А, действующий в конечномерном линейном пространстве Х, dim (X)=n, и пусть E1, E2, …, En, — базис в Х. Обозначили через АЕ1=(а11, а21,…, аn1), АЕ2=(а12, а22,…, аn2),…, АЕn=(а1n, а2n,…, аnn)образы базисных векторов E1, E2, …, En.

Матрица (), столбцами которой являются координаты образов базисных векторов, называется матрицей линейного оператора в заданном базисе.

Доказано, что каждому линейному оператору действующем в n-мерном линейном пространстве Х, отвечает единственная матрица порядка n; и обратно — каждая квадратная матрица порядка nзадает единственный линейный оператор, действующий в этом пространстве.

При изменении базиса линейного пространства матрица оператора, очевидно, изменяется. Пусть в пространстве Х произошел переход от базиса

Е={E1, E2, …, En} к базисуF={F1, F2, …, Fn}. Связь между матрицей АЕ оператора, А в базисе Е и матрицей АF этого оператора в базисе Fзадается формулой

.

Здесь и — матрица перехода от базиса Е к базису F и обратная к ней.

3. Применение MATHCAD в решении задач

Задача 1.

Оператор А, действующий в линейном пространстве Х4, задан своей матрицей (А). Найти координаты образа вектора X=(1 2 2 2)T

Решение

В линейном пространстве Х4 введен новый базисЕ1=(1 0 0 0)Т; Е2=(1 1 0 0)Т; Е3=(1 1 1 0)Т; Е4=(1 1 1 1)Т. Найти координаты вектора Х, координаты образа y=AX и матрицу оператора в новом базисе.

1) Ввела заданную матрицу (А) и вектор Х

2) Вычислила координаты образа АХ вектора Х

3) Ввела матрицу Р перехода к новому базису в пространстве Х4 и нашла обратную ей

4) Нашла координаты вектора Х в новом базисе, матрицу оператора в новом базисе и координаты образа АХ в новом базисе

Задача 2.

Выполнить разложение Холецкого для матрицы А

Решение

Задача 3э

Выполнить QR-разложение для матрицы А

Решение

Задача 4

Выполнить LU — разложение для матрицы А

Решение

Задача 5.

Выполнить сингулярное разложение для матрицы А

Решение

1) Сингулярные числа и собственные значения невырожденной матрицы

2) Сингулярное разложение сингулярной матрицы

3)Проверка сингулярного разложения

mathcad матрица алгебраический вектор

Заключение

Цель моей работы достигнута: я познакомилась с такой системой компьютерной математики как — MATHCAD.

Рассмотрела основные понятия и функции этой системы. Научилась делать разные матричные преобразования и вычисления в MATHCAD.

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

Список использованных источников

1. Кирьянов Д. В. Самоучитель MATHCAD / Д. В. Кирьянов — СПб.: БХВ-Петербург, 2003. — 560 с.

2. Панферов А. И. Применение MATHCAD в инженерных расчетах: Учеб. пособие. / А. И. Панферов, А. В. Лопарев, В. К. Пономарев — СПб., 2004. — 88 с.

3. Шушкевич Г. Ч. Введение в MATHCAD 2000: Учебное пособие / Г. Ч. Шушкевич, С. В. Шушкевич. — Гродно: ГрГУ, 2001. — 138 с.

4. Дьяконов В. MATHCAD 2000: Учеб. пособие/ В. Дьяконов — М.: Наука. 2002.

5. Плис А. И., MATHCAD 2000 математический практикум для экономистов и инженеров: Учеб. пособие /А.И. Плис, Н. А. Сливина — М.: Финансы и статистика, 2002. -656.

6. Иванов В. В. Методы вычислений на ЭВМ: / В. В. Иванов -СПб. :Киев, Наука, 1986. — 584 с.

7. Акулич И. Л. Математическое программирование в примерах и задачах: Учебное пособие для студентов эконом. спец. вузов: /И.Л. Акаулич-- М.: Высш. шк., 1986.

8. Воеводин В. В. Линейная алгебра: / В. В. Воеводин — М.: Наука, 1980.

9. Кузнецов Л. А. Сборник заданий по высшей математике: / Л. А. Кузнецов — М.: Высшая школа, 1994.

10. Мальцев А. И. Основы линейной алгебры:/ А. И. Мальцев — М.: Наука, 1970.

ПоказатьСвернуть
Заполнить форму текущей работой