Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Использование системы MathCAD



 

Возможности системы MathCAD

 

Пакет математических расчетов MathCAD – это мощный и, в то же время, простой инструмент, который можно использовать для проведения экономико-математических расчетов. Возможности пакета:

- решение уравнений;

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

- работа с матрицами;

- решение задач оптимизации;

- дифференциальное и интегральное исчисление;

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

- подсистема символических вычислений;

- подсистема программирования.

Основное достоинство системы MathCAD, ее отличие от остальных подобных систем – использование интуитивно-понятного интерфейса. Все вычисления проводятся в том виде, как если бы они проводились на бумаге. Работа с MathCAD напоминает работу с редактором формул MS Word, но при этом система «понимает» эти формулы.

Работа с MathCAD ведется на рабочем листе (Рисунок 20), формулы нужно писать сверху вниз, слева направо. ( Внимание! Ошибки в расположении элементов могут привести к ошибкам в расчетах. Так, если на рисунке 20 элемент “x+y” будет введен выше, чем определена одна из переменных, система выдаст ошибку).

 

 

Рисунок 20 – Рабочая область MathCAD

На рисунке мы видим 3 элемента. Каждый из этих элементов может быть использован отдельно – его можно переместить, удалить, отредактировать.

Справа на рисунке находится панель инструментов Math – это главная панель, с ее помощью можно активизировать другие панели, «вдавливая» соответствующие кнопки. Эти панели приведены на рисунке 21. Использование панелей – это наиболее простой способ работы с MathCAD, но также можно использовать главное меню и «горячие клавиши».

 

 

Рисунок 21 – Основные панели MathCAD

 

Изображенные на рисунке панели будут рассмотрены подробно позже, по мере изложения материала.

Используем MathCAD для проведения расчетов с числами. Прежде всего нам потребуется знание значения символа ‘=’, который в MathCAD понимается как «получить результат». Если установить курсор (красный крестик) в рабочую область и набрать на клавиатуре «3+5=», система выдаст после знака «=» результат «8». Мы можем проводить более сложные расчеты (рисунок 22).

 

 

Рисунок 22 – Примеры расчетов в MathCAD

 

Для того, чтобы ввести дробь используем символ «/», для степени - символ «^». Также можно воспользоваться кнопками панели Calculator. Если нажать на кнопку «/» появится дробь с двумя черными прямоугольниками, эти прямоугольники нужно заполнить числами или выражениями подобно тому, как это делается в редакторе формул MS Word.

Несколько замечаний:

- используется десятичная точка «.», а не запятая;

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

- система отмечает место ошибки красным цветом и выдает сообщение (рисунок 23).

 

 

Рисунок 23 – Сообщение об ошибке

 

Следующий этап – определение переменных (рисунок 24). Для этого будем использовать символ «: =», который означает «присвоить» или «определить». ( Внимание! Не путать с символом «=»! )

Для установки символа «: =» нужно воспользоваться соответствующей кнопкой панели Calculator, либо просто нажать на клавиатуре «: ».Определив переменную мы можем вывести ее значение на экран, использовать ее в расчетах, присваивать ей другое значение.

 

 

Рисунок 24 – Определение переменных, их использование и вывод их значений

 

 

Из рисунка 24 видно, что:

- переменная «действует» ниже и справа, после элемента, где она определена;

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

- регистр переменной имеет значение, «X» и «x» - это разные переменные.

Помимо переменных можно задавать функции, так же с помощью символа «: =» (рисунок 25).

 

 

Рисунок 25 – Определение функций

 

Наименование параметра внутри функции, например «x» в элементе «f(x): =x+2» действует только в этом элементе, это не то же самое, что переменная, определенная на листе. Также как и переменные, функции действуют ниже от своего определения и могут быть переопределены. В именах функций также имеет значение регистр символов. Помимо функций, определенных пользователем MathCAD имеет множество встроенных функций, таких как sin, cos, exp, rows, npv и т.д.

Функции одной переменной легко могут быть отображены на графике. Для этого нужно определить функцию, активизировать панель Graph и нажать кнопку «X-Y -Plot». На появившемся графике возле осей будут два черных прямоугольника, их нужно заполнить. В прямоугольнике для оси абсцисс укажем какую-нибудь не определенную ранее переменную, например «t», а возле ординат введем – «f(t)» (в принципе, можно поместить на оси абсцисс интервальную переменную, определенную, где-нибудь выше). Нам также может понадобиться изменить минимальное и максимальное значение t и масштаб оси ординат. Это делается с помощью еще двух полей на каждой из осей. На рисунке 26 аргумент t изменяется от –10 до 10. Эти параметры могут быть изменены и через контекстное меню, вызванное для графика. Отметим, что на одной системе координат можно отразить несколько графиков, для этого после f(t) поставим запятую и введем еще одну функцию (Рисунок 27).

 

 

Рисунок 26 – Построение графика

 

Рисунок 27 – Графики функций

 

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

1) сложение;

2) умножение матрицы на число;

3) транспонирование (используется кнопка «Т» панели Matrix);

4) определитель (используется кнопка «|X|» панели Matrix);

5) обратная матрица (используется кнопка «x-1» панели Matrix);

6) умножение матрицы на вектор;

7) перемножение матриц.

 

Рисунок 28 – Операции над матрицами

 

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

 

 

Рисунок 29 – Работа с переменными и функциями типа «матрица» или «вектор»

 

Таким образом, можно присвоить переменной матрицу или вектор и проводить матричные вычисления с такими переменными. Также есть возможность обращения к отдельным элементам матрицы или к одному из вектор-столбцов матрицы (Рисунок 30).

Для обращения к элементу матрицы или вектора нужно использовать кнопку «Xn» панели Matrix. Также можно нажать на клавиатуре кнопку «[». Итак, присвоим переменной X вектор, затем установим курсор на свободное место, введем «X[1». На экране появится: X1, нажимаем «=» и получаем значение элемента вектора. Для получения элемента двумерной матрицы вводим «M[1, 2». Сначала идет номер строки матрицы, потом номер столбца. Они разделяются запятой – M1, 2. ( Внимание! Нумерация строк и столбцов определяется специальной переменной ORIGIN и по умолчанию начинается с «0». Для того, чтобы начать нумерацию с единицы нужно явным образом присвоить переменной ORIGIN значение «1», как это сделано на рисунке 30).

Для получения вектор-столбца матрицы используем кнопку M< > панели Matrix. В скобках указываем номер столбца.

 

 

Рисунок 30 - Работа с элементами матриц

 

На рисунке 30 была использована встроенная функция rows() – число строк матрицы.

Существует возможность задать матрицу параметрически, определив значение элемента через номера строки и столбца. Для этого нужно ввести интервальную переменную. Для создания интервальной переменной используется кнопка «m..n» панели Matrix. ( Внимание! Этот символне может быть заменен двумя точками). Интервальные переменные также могут использоваться для отображения информации на графиках.

Итак, на рисунке 31 мы создаем интервальные переменные i и j. Каждая из них заполняется значениями от 1 до 5, как это видно на правой части рисунка. Элемент вектора мы определяем через i, таким образом, создается вектор из пяти элементов. Аналогичным образом, создаем матрицу, каждый ее элемент – произведение номеров строки и столбца.

 

 

Рисунок 31 – Параметрический способ определения матриц

 

 

Решение уравнений

 

MathCAD предоставляет различные возможности для решения уравнений и систем уравнений.

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

Есть другая форма функции – root (функция, переменная, a, b), где a и b – соответственно начало и конец интервала, в котором нужно искать корень. Такая форма не требует начального значения.

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

 

 

Рисунок 32 – Использование функции root()

 

Функция polyroots (вектор) выдает вектор корней многочлена, коэффициенты которого переданы в качестве параметра функции. Так для решения уравнения x2+2x+2=0 составим вектор коэффициентов многочлена, справа налево. Это будут числа (2, -2, 1). Передадим их в качестве вектора-столбца в функцию polyroots() и получим корни (Рисунок 33).

 

 

 

x2+2x+2=0 -x3+5x+4=0 -x2+2x+3=0

 

Рисунок 33 – Решение уравнений с помощью функции polyroots()

 

Функция lsolve (A, B) позволяет решить систему линейных уравнений. Параметры: A – матрица коэффициентов системы, B – вектор свободных членов. Функция выдает вектор корней. Решим для примера систему линейных уравнений:

 

 

Составим матрицу коэффициентов и столбец свободных членов и вызовем функцию lsolve (Рисунок 34).


 

Рисунок 34 – Решение системы линейных уравнений

 

Есть еще один способ решения систем уравнений - это использование solve-block, где, собственно, задается система, а затем решается с помощью специальных функций. Чтобы открыть solve-block используем ключевое слово Given. Для записи в solve-block уравнений мы используем знак « = » - жирный знак равенства. Его можно поставить через панель Boolean либо с помощью комбинации клавиш «Ctrl и =». ( Внимание! Знак «жирный равно» отличается от знака «равно».) «Жирный равно» имеет смысл равенства.

Для решения уравнения или системы уравнений, определенных в solve-block можно использовать функцию find (переменная, переменная…). В качестве параметров функции передаются через запятую переменные (также можно указать вектор), функция возвращает вектор корней.

Итак, для решения системы уравнений нужно:

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

- ввести ключевое слово Given;

- задать уравнения, используя знак «жирный равно»;

- вызвать функцию Find().

 

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

 

    а)   б)   в)

 

Рисунок 35 – Решение систем уравнений с помощью функции find()

 

 

Решение задач оптимизации

 

Для решения задач оптимизации используются функции minimize (целевая функция, список переменных) и maximize (…). Для поиска максимума или минимума выражения без ограничений достаточно определить начальные значения, целевую функцию и вызвать функцию minimize или maximize, как показано на рисунке 36. На рисунке 36 б показана процедура поиска экстремума функции многих переменных. Обратим внимание, в функции minimize или maximize имя целевой функции указывается без скобок и без параметров.

 

    а)   б)

 

Рисунок 36 – Поиск экстремума функции

 

Если в задаче имеются ограничения, то нужно использовать solve-block. Для примера решим систему линейного программирования:

- инициализируем переменные;

- зададим целевую функцию;

- откроем solve-block с помощью ключевого слова Given;

- запишем неравенства;

- запишем условия неотрицательности;

- вызовем функцию minimize или maximize.

 

На рисунке 37 представлено решение задачи линейного программирования. На рисунке 37 б система неравенств задается в матричной форме. Решение достигается численными методами, поэтому оно является приближенным, первый элемент вектора примерно равен нулю.

 

  а)   б)

 

Рисунок 37 – Решение задачи линейного программирования

 

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-11; Просмотров: 1104; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.051 с.)
Главная | Случайная страница | Обратная связь