Использование программного пакета MathCAD при решения системы линейных алгебраических уравнений

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

Рубрика Педагогика
Вид статья
Язык русский
Дата добавления 23.03.2019
Размер файла 528,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Использование программного пакета MathCAD при решения системы линейных алгебраических уравнений

Сегодня не часто вспоминают о том, что компьютеры были созданы в первую очередь для проведения научных расчетов. До сих пор научные и инженерные расчеты остаются одной из важнейших, хотя, пожалуй, и не самой бросающейся в глаза сфер приложения компьютеров. За многие годы накоплены обширные библиотеки научных подпрограмм, в первую очередь, на языке FORTRAN, предназначенных для решения типовых задач (задачи линейной алгебры, интегрирование, решение дифференциальных уравнений и т.д.). Кроме того, имеется целый ряд различных математических пакетов, реализующих разнообразные численные методы, а так же способных производить аналитические математические преобразования. Пожалуй, наиболее известными сегодня являются следующие пакеты: Mathematica (Wolfram Research), Maple (Waterloo Maple Inc), Matlab (MathWorks), Mathcad (MathSoft Inc). Первые два фактически являются языками для проведения символических математических преобразований.

Пакет MathCAD популярен, пожалуй более в инженерной, чем в научной среде. Характерной особенностью пакета является использование привычных стандартных математических обозначений, то есть документ на экране выглядит точно так же обычный математический расчет. Для использования пакета не требуется изучать какую-либо систему команд, как, например, в случае пакетов Mathematica или Maple. Пакет ориентирован в первую очередь на проведение численных расчетов, но имеет встроенный символический процессор Maple, что позволяет выполнять аналитические преобразования. В последних версиях предусмотрена возможность создавать связки документов MathCAD с документами Mathlab. В отличие от упомянутых выше пакетов, MathCAD является средой визуального программирования, то есть не требует знания специфического набора команд. Простота освоения пакета, дружественный интерфейс, относительная непритязательность к возможностям компьютера явились главными причинами того, что именно этот пакет был выбран для обучения учеников, студентов и преподавателей современному средству решения математических задач [1].

линейный алгебраический программа математика

В настоящей работе мы рассмотрим на многочисленных примерах, каким образом решаются на MathCAD разнообразные математические задачи (решение систем линейных уравнений).

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

К задачам, решаемым в системе MathCAD, можно отнести:

· подготовку научно-технических документов, содержащих текст, и формулы, записанные в привычной для специалистов форме;

· вычисление результатов математических операций, в которых участвуют числовые константы, переменные и размерные физические величины;

· операции с векторами и матрицами;

· решение уравнений и систем уравнений (неравенств);

· статистические расчеты и анализ данных;

· построение двумерных и трехмерных графиков;

· тождественные преобразования (в том числе упрощение), аналитическое решение уравнений и систем;

· дифференцирование и интегрирование, аналитическое и численное;

· решение дифференциальных уравнений;

· проведение серий расчетов с различными значениями начальных условий и других параметров.

На момент написания данного пособия последней версией MathCAD является версия MathCAD 14.

Знакомство с интерфейсом программы MathCAD.

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

Откроем программу MathCAD с помощью иконки или с помощью стартового меню. Фрагмент основного окна программы показан на рисунке. Теперь напишем простое выражение:

5^2 = на экране это будет выглядеть как . Напишем теперь знак равенства - получим ответ: . Написание знака равенства равносильно заданию вопроса: «Чему равно?» Можете поэкспериментировать сами, для этого два раза щелкните мышью на следующей области:

Следует отметить, что если у вас не получается ничего отредактировать, то это значит, что компонент MathCAD не установлен в вашей операционной системе. Настоятельно рекомендуется перед просмотром данного документа установить MathCAD. Тогда программа автоматически зарегистрирует компонент MathCAD Document в вашей системе [2].

Разберем подробно процесс написания математического выражения. В процессе написания MathCAD выделяет с помощью красного уголка «» последний написанный символ или то место, где должен быть написан следующий символ. По мере написания выражения область выделения перемещается. Например, написав символ «^», мы тем самым переместим область выделения в показатель степени; при этом появляется указатель (placeholder) того места, куда нужно вписать следующее число или выражение. После того, как мы закончили писать показатель степени, для того, чтобы продолжить написание выражения, мы должны выделить все написанное. Это делается с помощью клавиш-стрелок или с помощью клавиши SPACE. Эти клавиши позволяют перемещать область выделения и изменять ее размер. Отметим, что подобная «технология» написания формул позволяет сократить количество используемых скобок.

Для ввода комментариев нужно вызвать команду меню Insert - > Text Region или просто нажать клавишу - «(кавычки). Для окончания ввода достаточно отвести курсор от вводимого текста. Комментарии могут содержать математические выражения. Для ввода формулы нужно поместить курсор в нужное место текста и выбрать команду меню: Insert - > Math Region.

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

Если двигать мышь при нажатой левой кнопке мыши, MathCAD рисует пунктирный прямоугольник. Для того чтобы выделить формулу или группу формул, нужно расширить этот прямоугольник так, чтобы он охватывал нужные формулы. Выделенные формулы можно перемещать с помощью мышки. Выделенные формулы можно переносить в буфер и копировать, используя обычные команды системы MS Windows:

Ctrl+X (Вырезать)

Ctrl+C (Копировать)

Ctrl+V (Вставить)

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

Малые и большие буквы различаются.

Аргументы функций пишутся в круглых скобках; например, .

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

Знак умножения () опускать нельзя.

Служебные слова, включенные в инструментальные панели Programming и Symbolic, нельзя писать вручную - их необходимо переносить с панелей.

Написать любую греческую букву можно, написав сначала латинскую букву, а затем нажав на клавиши Ctrl+G.

Чтобы записать число в двоичной системе, нужно приписать к числу букву b (без пробела). Примеры: 10.01b=2.25, 10b10b=4.

Проиллюстрируем последний пример:

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

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

Кроме панелей инструментов, приведенных на рисунке, MathCAD включает специализированные панели - окна - для вызова математических операций и одновременного вывода на экран обозначений этих операций. Полный список этих панелей можно видеть в приведенном на рисунке разделе меню View -> Toolbars. Нужную панель можно вызвать на экран, отметив ее в списке.

Обычно по умолчанию кроме стандартной панели и панели форматирования на экран выводится главная математическая панель «Math», показанная на следующем рисунке.

Эта панель содержит ссылки на другие специализированные панели. Если к какому-либо элементу панели подвести курсор, появляется поясняющая подсказка. Если щелкнуть мышкой на этом элементе, откроется соответствующее окно. Например, если мы щелкнем на значке «Vector and Matrix Toolbar», то откроется окно, содержащее значки вызова векторных и матричных операций «Matrix». При подведении курсора к элементам этого окна также появляются подсказки, причем эти подсказки содержат клавишные эквиваленты команд. Для вызова нужной команды достаточно щелкнуть мышкой на соответствующем значке или набрать клавишный эквивалент команды. Например, чтобы вызвать программу расчета определителя, достаточно нажать на клавишу «|» [3].

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

Подчеркнем следующие моменты:

- многоточие в определении диапазона значений вызывается клавишей «;»;

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

- чтобы написать знак присваивания, нужно нажать на клавишу «:» - двоеточие.

Примеры простых определений:

Отметим, что по умолчанию MathCAD представляет в таблице не более 15 чисел. Например, если мы введем определение:

n:=2..25

то в ответ на вопрос:

n=

получим таблицу, включающую числа от 2 до 17. Для того чтобы увидеть остальные числа, нужно выделить таблицу и воспользоваться появившейся полосой прокрутки, либо увеличить размер таблицы с помощью мышки:

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

Название операции и или символа

Правило написания

Вид на экране

Операция присваивания (определения)

:

:=

Операция глобального присваивания

~

Возведение в степень

Y^X

Квадратный корень

\X

Абсолютная величина скалярной величины, либо евклидова длина вектора, либо определитель матрицы

|X

Пара скобок

`

()

Суммирование с переносом второго слагаемого в следующую строку

A <CTRL + ENTER> B

a…

+b

Определение диапазона значений для целой величины

I:N; M

I:=N..M

Определение диапазона изменения для произвольной величины X от a до b с шагом c-a

X:a, c; b

X:=a, c..b

Бесконечность

CTRL+SHIFT+Z

Число

CTRL+SHIFT+P

Коэффициент перевода градусов в радианы /180

deg

deg

Мнимая единица

1i

i

линейный алгебраический программа математика

Решение типовых задач с помощью MathCAD.

Теперь рассмотрим решение некоторых типовых математических задач с помощью MathCAD. Примечание. Решение завершаем щелчком левой кнопки мыши, предварительно уводя указатель мыши за пределы выделенной области набора примера.

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

В практике современного учителя математики наиболее важным является как можно более полная автоматизация проверочных действий при решении трудоемких задач. К таким задачам можно отнести решение СЛАУ с применением различных методов. Иногда на разрешение одной системы тратится более 10 минут, а вероятность проявления ошибки в расчетах (допустим по методу Гаусса) остается высокой даже при высоком уровне тренировки в использовании данного метода. Чтобы упростить решение сложных систем и их проверку, можно использовать прикладной пакет MathCAD.

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

Классификация уравнений.

Способы решения систем линейных уравнений делятся на две группы:

1) точные методы, представляющие собой конечные алгоритмы для вычисления корней системы (решение систем с помощью обратной матрицы, правило Крамера, метод Гаусса и др.).

2) итерационные методы, позволяющие получить решение системы с заданной точностью путем сходящихся итерационных процессов (метод итерации, метод Зейделя и др.).

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

Формально задача поиска решения системы уравнений:

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

или в векторной форме , где J - матрица Якоби с элементами

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

Поскольку вычислять матрицу Якоби на каждом шаге достаточно трудоемко, то обычно ее элементы вычисляют приближенно или используют одни и те же значения на нескольких шагах. Одну из разновидностей метода Ньютона - метод Левенберга-Маркардта - использует Mathcad.

Решение СЛАУ с помощью блока Given и функции Find.

MathCAD дает возможность решать также и системы уравнений. Максимальное число уравнений и переменных равно 50. Результатом решения системы будет численное значение искомого корня.

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

Система уравнений и / или неравенств должна быть записана после или правее слова given. При записи уравнений вместо знака = следует набирать Ctrl+=. Перед словом given необходимо указывать начальные приближения для всех переменных. Блок given не пригоден для поиска индексированных переменных. Если мы хотим найти комплексный корень, следует задавать комплексное начальное приближение. Признаком окончания системы служит функция Find, если мы хотим найти точное решение системы, либо функция Minerr, если система не может быть решена точно, и мы хотим найти наилучшее приближение, обеспечивающее минимальную погрешность [5].

Функции Minerr и Find должны иметь столько же или меньше аргументов, сколько уравнений и неравенств содержит блок given. Если окажется, что блок содержит слишком мало уравнений или неравенств, то его можно дополнить тождествами или повторяющимися выражениями. В том случае, если решение не может быть найдено при заданном выборе начального приближения, появится сообщение в красной рамке Did not find solution - решение не найдено. Зададим начальные приближения и решим систему уравнений.

Пример 1:

Воспользуемся MathCAD и запишем систему в терминах блока «given - find»:

Решение СЛАУ матричным способом.

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

Рассмотрим систему n линейных алгебраических уравнений относительно n неизвестных х1, х2, …, хn:

В соответствии с правилом умножения матриц рассмотренная система линейных уравнений может быть записана в матричном виде

Ах = b

Матрица А, столбцами которой являются коэффициенты при соответствующих неизвестных, а строками - коэффициенты при неизвестных в соответствующем уравнении, называется матрицей системы; матрица-столбец b, элементами которой являются правые части уравнений системы, называется матрицей правой части или просто правой частью системы. Матрица-столбец х, элементы которой - искомые неизвестные, называется решением системы.

Если матрица А - неособенная, то есть det A 0 то система (13), или эквивалентное ей матричное уравнение (14), имеет единственное решение.

В самом деле, при условии det A 0 существует обратная матрица А-1. Умножая обе части уравнения (14) на матрицу А-1 получим:

Матричные уравнения можно разрешать только, если система не вырождена, то есть ее определитель отличен от нуля. Матричный способ более изящен (хотя и не самый эффективный с точки зрения вычислительной математики) [6].

Пример 2. Решение СЛАУ матричным способом.

Последовательность действий:

1. Установите режим автоматических вычислений.

2. Введите матрицу системы и матрицу-столбец правых частей.

3. Вычислите решение системы по формуле x=A-1b.

4. Проверьте правильность решения умножением матрицы системы на вектор-столбец решения.

5. Найдите решение системы с помощью функции lsolve и сравните результаты.

Напишем код решения СЛАУ матричным способ на MathCAD. Также Решим систему с помощью функции lsolve и сравним результат с решением x=A-1b. С функцией lsolve мы сталкиваемся впервые, опишем ее:

Lsolve (A, b) - возвращает вектор решения такой, что Ax=b.

  • Аргументы:

А - квадратная, не сингулярная матрица.

b - вектор, имеющий столько же рядов, сколько рядов в матрице А.

Решение СЛАУ методом Гаусса.

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

Решение которой находят по рекуррентным формулам:

В матричной записи это означает, что сначала (прямой ход метода Гаусса) элементарными операциями над строками приводят расширенную матрицу системы к ступенчатому виду:

а затем (обратный ход метода Гаусса) эту ступенчатую матрицу преобразуют так, чтобы в первых n столбцах получилась единичная матрица:

.

Последний, (n + 1) столбец этой матрицы содержит решение системы.

В MathCAD прямой и обратный ходы метода Гаусса выполняет функция rref (A).

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

A. ref(A) - возвращается ступенчатая форма матрицы А.

B. Augment (A, B) - Возвращается массив, сформированный расположением A и В бок о бок. Массивы A и В должны иметь одинаковое число строк.

Пример 3. Решение СЛАУ методом Гаусса.

Последовательность действий:

Функция augment (A, b) формирует расширенную матрицу системы добавлением к матрице системы справа столбца правых частей. Функция rref приводит расширенную матрицу системы к ступенчатому виду, выполняя прямой и обратный ходы гауссова исключения. Последний столбец содержит решение системы.

Очень часто метод Гаусса рассматривается вместе с методом Крамера, рассмотрим последний.

Пример 4. Решение СЛАУ методом Крамера.

Последовательность действий:

Вычисляем D определитель матрицы А.

Зададим матрицу DX1, заменой первого столбца матрицы А, матрицей b. Вычисляем определитель матрицы DX1.

Зададим матрицу DX2, заменой второго столбца матрицы А, матрицей b. Вычисляем определитель матрицы DX2.

Зададим матрицу DX3, заменой третьего столбца матрицы А, матрицей b. Вычисляем определитель матрицы DX3.

Определяем решение системы линейных уравнений x1, x2, x3.

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

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

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

Литература

линейный алгебраический программа математика

1. Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: «СК Пресс», 1997. - 336 с.

2. Дьяконов В.П., Абраменкова И.В. MathCAD 8 PRO в «Нолидж», 2000. - 512 с.

3. Кудрявцев математике, физике и Internet. - М.: Е.М. MathCAD 2000 Pro. - М.: ДМК Пресс, 2001. - 576 с.

4. Очков В.Ф. Mathcad 7 Pro для студентов и инженеров. - М.: КомпьютерПресс, 1998. - 384 с.

5. Плис А.И., Сливина Н.А. Mathcad 2000. Лабораторный практикум по высшей математике. - М.: Высш. шк., 2000. - 716 с.

6. Новиков А.А. Практическое пособие к лабораторным и контрольным работам по теме «Решение инженерно-экономических задач в среде MathCad for Windows» курса «Информатика» для студентов заочного отделения. - Гомель: ГГТУ, 2000. - 45 с.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.