Имя материала: Математическая экономика

Автор: Мицель Артур Александрович

Приложение 2

'основные сведения о математическом пакете mathcad

П1. Интерфейс пакета MathCAD П1.1. Общий вид главного окна

С точки зрения интерфейса система MathCAD 2001 представляет собой полноценное приложение, работающее в операционной системе Windows. То есть, открыв сам MathCAD, можно увидеть меню пользователя, разнообразные панели инструментов с кнопками быстрого доступа, строку состояния, вертикальную и горизонтальную полосы прокрутки (рис. Ш).

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

Для того чтобы передвигаться по документу с помощью клавиатуры, в нем находится специальный курсор. Чтобы его не путать с курсором мыши, дальше он будет называться просто курсором. Данный курсор показывает ваше местоположение в текущем документе, и в зависимости от того, где находится, он может принимать разные формы (перекрестие, перпендикулярные линии, вертикальная черточка) и цвета (красный, синий). Непосредственно передвигать курсор можно при помощи клавиатурных кнопок ВЛЕВО, ВПРАВО, ВВЕРХ, ВНИЗ, ВВОД, ТАБУЛЯЦИЯ, BACKSPACE, ПРОБЕЛ.

Следует сразу обратить внимание на тот факт, что при нажатии клавиш PAGE UP, PAGE DOWN вы можете передвигаться по документу постранично, но курсор останется на прежнем месте. Курсор переносится автоматически на то место, куда Вы нажмете левой или правой кнопкой мыши.

.• M.ilhc.icl Piofe.sional - [Unlitled'1]

[<s| Щ £* View insert Fgrmat

ЩЇІЇІ1Щ

Math ^'ffibbkcs.. ^intKSw Це(р

"™         """'"■«■

і

I Normal

U|A-ial

* 10

               

 

 

M

xm

Ш

Ш

Главное меню

 

Математическая панель "инструментов

 

 

Панель форматирования

 

Стандартная панель инструментов

 

Горизонтальная _ линейка прокрутки

ж

т

¥

Рабочая область Mathcad документа

Ж

 

П1.2. Главное меню

В MathCAD 2Q01 главное меню состоит из 9 основных меню: File, Edit, View, Insert, Format, Math, Symbolics, Window, Help.

С помощью меню File можно проводить разнообразные операции с документом MathCAD: создать новый документ, открыть уже существующий, закрыть текущий, сохранить текущий, установить параметры печати и напечатать весь документ. Как функциональное дополнение в это меню включен список ранее открытых документов.

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

В меню View настраивается непосредственный вид главного окна MathCAD: включение/выключение панелей инструментов, изменение масштаба просмотра документа. Также в этом меню предусмотрены опции анимации и воспроизведения звука.

Меню Insert помогает вставить в рабочий документ разнообразные объекты: графики, матрицы, функции, рисунки, комментарии и любые зарегистрированные в операционной системе OLE (Active X) объекты.

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

Меню Math позволяет пользователю управлять вычислительным процессом MathCAD.

С помощью меню Symbolics возможно управление символьными вычислениями, которые реализуются встроенным символьным транслятором.

Переключение между разными документами в MathCAD возможно с помощью меню Window.

Меню Help содержит самую разнообразную информацию о самой системе MathCAD 2001.

 

П1.3. Панели инструментов

Стандартная панель инструментов (рис. П2, а) объединяет разнообразные, но наиболее часто используемые команды в виде кнопок быстрого доступа. Если поднести курсор мыши к какой-нибудь кнопке, то смысл ее действия будет пояснен во всплывающей подсказке, а более развернутая информация появится в строке состояния.

Панель форматирования (рис. П2, б) предназначена для выбора шрифта, стиля документа, выравнивания текста.

Normal

J Ariel

 

 

Рис. П2. Стандартная панель инструментов (о), панель форматирования (б)

 

Математическая панель инструментов предоставляет доступ ко всем математическим ресурсам MathCAD в виде дополнительных панелей инструментов. В MathCAD 2001 возможно открыть девять дополнительных панелей инструментов (рис. ПЗ):

арифметическая панель (кнопка §Щ) предоставляет доступ к арифметическим операторам;

панель графиков (кнопка Д ) предоставляет доступ к графическим ресурсам системы MathCAD;

панель матриц (кнопка      ) предоставляет доступ к операторам

работы с векторами и матрицами;

панель вычислений (кнопка §§§ ) предоставляет доступ к операторам записи вычислений;

панель математического анализа (кнопка §§§ ) предоставляет доступ к операторам математического анализа;

панель логических (булевых) операций (кнопка §Щ ) предоставляет доступ к логическим операторам;

панель элементов программирования (кнопка Щ ) предоставляет доступ к операторам программирования;

панель греческого алфавита (кнопка §§§ ) открывает доступ к греческим символам;

панель символьных вычислений (кнопка Ц ) дает возможность применять операторы символьного вычисления.

Подпись:

П2. Работа в редакторе документов системы MathCAD

П2.1. Понятие региона

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

В MathCAD 2001 все регионы являются независимыми (в смысле редактирования) объектами. Это позволяет располагать любой регион в любом месте документа, копировать, удалять, перемещать регион в буфер обмена Windows, что делает редактирование самого документа более наглядным и быстрым.

Если Вы находитесь в самом регионе, то видите, что его границы обрамляются тонкими черными линиями, а вне региона - видно лишь его содержимое без границ. Для того чтобы были видны границы всех регионов, необходимо включить соответствующую опцию Regions в меню View.

П2.2. Редактирование математических выражений

Одним из основных достоинств системы MathCAD является естественная математическая запись любого выражения. Например, если необходимо разделить число «о» на число «6», то в самой системе Math-

Подпись: а Подпись: CAD это будет выглядеть именно как -,анеа/і или а/, (также это

Подпись:
Ъ

касается и остальных математических операторов). Это, несомненно, делает MathCAD не просто «большим калькулятором» (как, например, Excel), а мощной математической системой для решения серьезных вычислительных задач.

Для создания нового региона с математическим выражением необходимо переместить курсор на пустое (т.е. не занятое другим регионом) место рабочего документа. Курсор должен быть в виде красного перекрестия. Для примера посчитаем с помощью MathCAD следующее выражение: 1+2. Нажмите на клавиатуре цифру «1». Вы увидите на экране саму цифру «1», обведенную в черный прямоугольник. Таким образом, вы автоматически оказались внутри региона математического выражения. В нем курсор приобретает вид синих перпендикулярных линий: вертикальная показывает текущее положение относительно всей формулы, а горизонтальная — зону охвата формулы.

После того как вы нажмете на клавишу «+», увидите, что справа от знака сложения появился маленький черный прямоугольник, обозначающий пустое (но необходимое для заполнения) место. Сам MathCAD подсказывает вам, что оператор сложения имеет два числа. Заполните цифрой «2» данный черный прямоугольник. Теперь для вывода результата вычисления необходимо ввести оператор равенства «=». После его ввода автоматически появится ответ. Аналогичным образом можно ввести любое другое математическое выражение и рассчитать его.

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

log(524,236) + ^ g

sin(7)

Сделаем это двумя путями: используя клавиатуру и используя арифметическую панель инструментов (предварительно перейдя на пустое место рабочего документа).

Путь первый (используем клавиатуру):

последовательно наберите слово «log», открывающую круглую скобку, цифры «524», десятичную точку, цифры «236», закрывающую круглую скобку;

наберите косую черту «/». Вы увидите, что ранее набранное выражение «log(524,236)» немного приподнимется вверх, под ним появится горизонтальная черта, а под чертой - черный маленький прямоугольник (курсор автоматически передвинется на него). Таким образом, вы реализовали оператор деления;

продолжим набор и запишем в знаменатель синус семи: «sin», «(», «7», «)». Левая часть нашего выражения записана;

далее для ввода нашего выражения необходимо набрать его правую часть (корень из 58). Нажмите пробел (необходимо для того, чтобы из знаменателя перейти на уровень охвата всей дроби), «+», «» (ввод оператора извлечения квадратного корня), «58». Ввод математического выражения закончен. Для получения ответа необходимо нажать «=».

„Путь второй (используем арифметическую панель инструментов):

1) откройте саму арифметическую панель инструментов (рис. П4), просмотрите ее внимательно. Вы увидите перечень всевозможных арифметических операторов и цифр;

2) попробуйте набрать наше выражение без помощи клавиатуры, используя только мышь и арифметическую панель инструментов.

/Для удаления ошибочно набранных букв, цифр или операторов используется клавиша BACKSPACE (удаляется символ, расположенный слева от курсора) или клавиша DELETE (удаляется символ, расположенный справа от курсора). Удаление группы символов также возможно, если выделить при помощи мыши или клавиатуры (выделенная область окрашивается в контрастный цвет) то, что необходимо, и нажать клавишу удаления DELETE или BACKSPACE.

 

П2.3. Ввод текста

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

Перед началом набора текста следует набрать на клавиатуре парные кавычки (или выбрать из меню Insert пункт Text region). Автоматически создается регион для набора текста в виде простой стандартной коробочки редактирования. Курсор принимает вид красной вертикальной черточки. Теперь можно набирать любой текст, вставлять его из любого

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

П2.4. Построение двухмерных графиков

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

(или в графической панели нажать кнопку ЦЩ, или выбрать в меню Insert в подменю Graph пункт X-Y plot), и вы увидите шаблон (рис. П5).

 

Рис. П5. Шаблон региона двухмерного графика

Для примера построим график функции х2 в диапазоне [-10; 10] (рис. П6).

 

В списке переменных графика введите имя переменной (в примере на рис. П6 - это х). На оси абсцисс слева в черном квадратике наберите наименьшее значение нашего диапазона (число минус десять), а справа - наибольшее (число плюс десять). На месте зависимостей наберите функцию х2 по правилам редактирования математических выражений. Теперь для расчета и просмотра самого графика достаточно нажать клавишу F9 или просто покинуть графический регион. Заметьте, масштабирование значений функции (т. е. минимальное и максимальное) MathCAD подберет автоматически.

 

ПЗ. Язык MathCAD

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

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

К важнейшим типам данных в системе MathCAD относятся константы, обычные и системные переменные, массивы (векторы и матрицы) и данные файлового типа.

 

П3.1. Алфавит MathCAD

Как и всякий язык (в том числе программирования), входной язык MathCAD имеет свой алфавит, т. е. набор символов, из которых состоят его объекты. В алфавит MathCAD входят: малые и большие латинские буквы, малые и большие греческие буквы, арабские цифры от 0 до 9, идентификаторы системных переменных, специальные знаки - операторы, имена встроенных функций, спецзнаки, малые и большие буквы кириллицы (для работы с русифицированными документами).

П3.2. Константы

Константы - поименованные объекты, значения которых заведомо предопределены в системе. MathCAD имеет следующие типы констант:

целочисленные константы (0, 1,45, -80 и т. д.);

вещественные числа с мантиссой и порядком (12,3 • Ю-5 - десятичная константа с мантиссой 12,3 и порядком —5);

восьмеричные числа с основанием 8 и значениями одного разряда от 0 до 7 (помечаются латинской буквой О от слова octal — восьмеричное);

шестнадцатеричные числа с основанием 16, каждый разряд которых может иметь значения 0, 1,9, А, В, С, D, Е, F (помечаются знаком h или Н в конце - от слова hexagonal);

комплексные числа Z=Re Z+ / • Im Z, где Re Z — действительная часть комплексного числа Z, Im Z— его мнимая часть;

системные константы, хранящие определенные параметры системы;

строковые константы - любые цепочки символов, заключенные в кавычки, например «string», «2+3» (арифметические выражения в строковых константах рассматриваются как текст и не вычисляются);

единицы измерения физических величин.

Знак умножения * при выводе числа на экран меняется на привычную точку, а операция возведения в степень (с применением спецзнака Л) отображается путем представления порядка в виде надстрочного числа. Диапазон  возможных  значений лежит  в  пределах  от  10307 до

307

1<Г"' (это есть машинная бесконечность и машинный ноль).

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

 

ПЗ.З. Переменные

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

Идентификаторы в MathCAD могут иметь практически любую длину. При их задании можно использовать латинские и греческие буквы, а также цифры. Однако начинаться идентификатор может только с латинской буквы. Пробелы в идентификаторах вводить нельзя, но допустимо применение некоторых спецсимволов (например знак подчеркивания «_»). Применение знаков операторов арифметических операций недопустимо, поскольку ведет к неоднозначности идентификации переменной. Малые и большие буквы в идентификаторах различаются. Идентификаторы должны быть уникальными, т. е. они не могут совпадать с именами встроенных или определенных пользователем функций.

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

Пример присваивания переменным значений:

а:=5 Ь:=10 с := а + b с = 15

В этом примере переменной а присваивается число пять, переменной b — десять, а переменной с — сумма переменных а и b (строкой ниже выведено значение переменной с).

В математике часто возникает необходимость в задании некоторого ряда значений, чаще всего упорядоченного. Например, для вычисления факториала Nl = 1 • 2 • 3 -(N - 1) • N нужно сформировать ряд целых чисел от 0 до N с шагом 1. Часто ряд значений какой-то переменной (например абсциссы х) нужен для построения графика функции по точкам, обычно соединяемых отрезками прямых. Для создания таких рядов в MathCAD используются так называемые диапазонные переменные. Иногда они заменяют управляющие структуры - циклы, но полноценной такая замена не является. В частности потому, что не предусмотрен выбор любого значения диапазонной переменной. В самом простом случае для создания диапазонной переменной используется выражение

*       Nairn = Nbegin.. Nend,

где Nairn - имя переменной; Nbegin — ее начальное значение; Nend - конечное значение; .. - символ, указывающий на изменение переменной в заданных пределах (он вводится знаком точка с запятой «;»).

Если Nbegin < Nend, то шаг изменения переменной будет равен плюс 1, в противном случае минус 1.

Для создания диапазонной переменной общего вида используется выражение

Nairn = Nbegin, (Nbegin + Step).. Nend.

Здесь Step — заданный шаг изменения переменной (он может быть положительным, если Nbegin < Nend, или отрицательным в противном случае).

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

Пример применения диапазонных переменных:

Подпись: т =к^ї.Л

 

2 3 т:=0,2..8

 

2 4

6

 

к2 =

 

4

9

І16.

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

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

TOL - значение погрешности численных методов (начальное значение равно 0,001);

ORIGIN - нижняя граница индексации массивов (начальное значение равно 0);

FRAME — переменная счетчика кадров при работе с анимационными рисунками (начальное значение равно 0);

л — число «пи» (начальное значение равно 3,1415926...);

е — основание натурального логарифма (начальное значение равно 2,71...);

оо - системная бесконечность (начальное значение равно 10307).

В MathCAD существует возможность ввода массивов. Сам массив задается именем, как и любая переменная. Однако он имеет ряд элементов с определенным порядком расположения. Порядковый номер элемента задается индексом. Нижняя граница индексации определяется значением системной переменной ORIGIN. Таким образом, элементы массива являются индексированными переменными. Это значит, что помимо имени такие переменные имеют подстрочный индекс, который вводится с помощью знака «[».

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

Пример задания матрицы в MathCAD:

/:=0..3 /:=0..3 Ду:=/-у

/0 -1 -2 -З"! л 10-1-2

В этом примере матрица А имеет размерность 4 х 4, а элементы матрицы вычисляются по определенной формуле. Показан вывод всей матрицы, а также некоторых ее элементов.

П3.4. Операторы

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

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами (операндами) и конструирования математических выражений. Самыми распространенными являются операторы арифметических действий (+, -, • и /), возведения в степень Л, извлечения квадратного корня (полный список всех операторов MathCAD приведен в приложении 1). Ниже показаны примеры использования арифметических операторов. По приведенным примерам видно, что MathCAD оперирует как с действительными, так и с комплексными величинами.

Пример 1 (операции со скалярными величинами):

а:=2 Ь:=12

c:=a + b    с = 14    d:=a-b    d = -10;

e:=ab    е = 24    f:=-    f = 0.167

b

g := a"    g = 4096

>/Ї44=12    |3| = 3 |—3| = 3

-a = -2    5! = 120

В данном примере переменным а и Ъ присваиваются определенные значения. Переменной с присваивается сумма а и Ъ, d — разность, е -произведение,/- деление, g — возведение числа а в степень Ь. Далее показаны применения операторов извлечения квадратного корня из 144, взятие по модулю чисел 3 и минус 3, оператор смены знака у числа а и оператор расчета факториала от пяти.

Пример 2 (операции с комплексными величинами):

 

z:=2 + 3;'  |z| = 3.606 arg(z) = 0.983

yfz = 1.674 + 0.896/ а:=4 + 7/ b:=9-2/;

c:=a + b    с = 13 + 5/   d:=a-b d = -5 + 9/';

e:=ab; e = 50 + 55/; f :=-; f = 0,259+0,835/.

b

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

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

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

Пример применения расширенных арифметических операторов:

/:=1..Ю

£/2 = 385   Jx3dx = 0.25

/' о

х:=10

—sin(x) = -0.839; cos(x) =-0.839 dx

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

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

Х> Y      больше Y

Х< Y        Xменьше Y

X>Y       Xбольше или равно Y

X<Y       Xменьше или равно Y

>     X£Y               Хне равно Y

Х= Y      Хравно Y

Не следует путать оператор сравнения (знак равенства) с похожим знаком вывода значения переменных. В системе MathCAD знак равенства как оператор отношения имеет больший размер и более жирное написание, чем обычный знак равенства - оператор вывода. Все операторы отношения могут вводиться самостоятельно в месте расположения курсора. В этом случае по обе стороны от них появляются маленькие темные прямоугольники. Они являются местами ввода подлежащих сравнению выражений. Например, если ввести знак «меньше», то на экране дисплея появится блок вида ■< 1.

Знак вывода при этом будет появляться с сообщением об ошибке «Пропущенный операнд».

Необходимо отметить, что выражения с логическими операторами возвращают логическое значение, соответствующее выполнению или невыполнению условия, заданного оператором. Эти значения в MathCAD являются логической единицей 1, если условие выполнено, и логическим нулем 0, если оно не выполнено. Математически значения логической единицы и нуля совпадают со значениями числовых констант 1 и 0.

Например:

2 > 1 = 1 - условие выполнено, результат 1; 1 > 2 = 0 - условие не выполнено, результат 0.

Указанное свойство логических операторов позволяет строить не совсем обычные выражения, содержащие в себе логические операторы: 2 • (5 > 0) = 2.

Нетрудно понять, что выражение 5 > 0 возвращает единицу, поэтому результат вычисления такого выражения даст число 2. Логические операторы часто используются совместно с условными функциями. Их также используют в программных модулях для организации ветвлений, зависящих от значений обрабатываемых ими данных.

П3.5. Функция

MathCAD имеет множество встроенных функций. Функции обладают особым свойством - в ответ на обращение к ним по имени с указанием аргумента (или списка аргументов) в круглых скобках они возвращают некоторое значение (символьное, числовое, вектор или матрицу). В систему встроен ряд функций, например вычисления синуса sin(z), логарифма ln(z) и т. д. Наряду со встроенными функциями могут задаваться и функции пользователя, описывающие произвольные, нужные пользователю функции, отсутствующие в наборе встроенных в MathCAD функций. Благодаря встроенным функциям обеспечивается расширение входного языка MathCAD и его адаптация к задачам пользователя.

Во многих математических расчетах встречается необходимость вычисления элементарных функций. MathCAD содержит расширенный набор встроенных элементарных функций (см. П2). Функции задаются своим именем и значением аргумента в круглых скобках. В ответ на обращения к ним функции возвращают вычисленные значения. Аргумент и значения функций могут быть действительными или комплексными числами.

Пример использования элементарных функций: sin(O) = 0      cos(O) = 1 arcsin(O) = 0  arccos(1) = 0;

ln(e10) = 10

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

Для создания условных выражений используется функция if:

if (УСЛОВИЕ, ВЫРАЖЕНИЕ 1, ВЫРАЖЕНИЕ 2).

Если в этой функции условие УСЛОВИЕ выполняется, то будет вычисляться выражение ВЫРАЖЕНИЕ 1, в противном случае -ВЫРАЖЕНИЕ 2.

Пример применения функции if:

;' := 0..4 у" := 0..4 Д7 :=if(/>y,/ + y,0) '0 0  0 0 0Л

А =

 

2             0             0             0

3              4             0             0

4             5             6             0

И            5             6             7              в;

В этом примере происходит формирование нижней диагональной матрицы А.

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

Имя Функцш(Список Параметров) = Выражение.

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

Пример задания функции:

В этом примере задаются две пользовательские функции: функция fun(x) — функция от одной переменной х и функция module(jc, у) — функция двух переменных XVI у.

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

 

П3.7. Графики

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

П4. Описание основных арифметических и алгебраических операторов

П4.1. Арифметические операторы

Оператор сложения (клавиша «+»): х+у. Возвращает арифметическую сумму двух чисел х и у. При слишком длинном математическом выражении возможно применение оператора сложения с переносом (клавиши «Ctrl» + «Enter»), который полностью эквивалентен оператору сложения, только число д> отображается под числом х.

Оператор вычитания (клавиша «-»): х-у. Возвращает арифметическую разность двух чисел х и у.

Оператор умножения (клавиша «*»): х ■ у. Возвращает арифметическое произведение двух чисел хиу.

Оператор деления (клавиша «/»): —. Возвращает арифметическое

деление числа х на число у. Число у не должно быть равным нулю. Если число jc окажется равным нулю, то деления не произойдет и результатом применения оператора будет нулевое значение. В Mathcad встроена возможность отображения оператора деления в одну строку путем применения оператора строкового деления(клавиши «Ctrl» + «/»): х+у.

Оператор расчета факториала (клавиша «!»): х. Возвращает факториал числа jc: jc! = jc(jc- 1)(jc-2)— 2-1. Число jc должно быть целым положительным числом, не превышающим значение 170.

Оператор возведения в степень (клавиша «А»): xу. Возвращает результат возведения числа jc в степень у.

Оператор модуля (клавиша «|»): | jc |. Возвращает модуль (абсолютное значение) числа jc.

Оператор вычисления квадратного корня (клавиша «»): Возвращает положительный результат извлечения квадратного корня числа jc. Если число jc отрицательно или комплексное, то рассчитывается квадратный корень с наименьшим аргументом.

Оператор вычисления корня и-й степени (клавиши «Ctri» + «»):

yfx. Возвращает результат извлечения корня и-й степени числа jc. Число п должно быть положительным целым.

и

Оператор суммирования (клавиши «Ctrl» + «$»): £ х • Сумми-

i=m

рует значения выражения jc за определенное число итераций. В этом операторе в качестве индикатора итераций используется локальная переменная /', и она может быть использована в выражении х. Начало и конец итераций ограничиваются соответственно целыми числами т и п. Алгоритм выполнения оператора суммирования.

Локальной переменной і присваивается значение т.

Расчет шага изменения переменной /. Если т<п, то шаг равен плюс 1, иначе - равен минус 1.

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

Выполнение итерационного цикла до тех пор, пока переменная і не достигнет значения п (при і = п выполнится последняя итерация).

 

Расчет выражения х в текущей итерации и его суммирование с промежуточной суммой.

Изменение переменной і на шаг.

5.            Возвращается результат суммирования как численное значение

промежуточной суммы.

Для удобства также введен оператор суммирования по диапазону (клавиша «$»): £х. Вместо указания чисел начала и конца итерации в у

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

л

Оператор произведения (клавиши «Ctrl» + «#»): П х • Вычисляет

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

Алгоритм выполнения оператора произведения.

Локальной переменной /' присваивается значение т.

Расчет шага изменения переменной і. Если т<п, то шаг равен плюс 1, иначе - минус 1.

Вводится промежуточное произведение и ему присваивается единичное значение.

Выполнение итерационного цикла до тех пор, пока переменная і не достигнет значения п (при і = п выполнится последняя итерация).

Расчет выражения х в текущей итерации и его умножение с промежуточным произведением.

Изменение переменной і на шаг.

5. Возвращается результат произведения как численное значение промежуточного произведения.

Для удобства также введен оператор произведения по диапазону

(клавиша «#»): П * • Вместо указания чисел начала и конца итерации в

у

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

 

П4.2. Операторы математического анализа

 

Оператор взятия производной (клавиша «?»): —f(x). Вычисляйте

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

Оператор взятия и-й производной (клавиша «CtrI» + «?»): d"

                /(*)• Вычисляет л-ю производную (и = 0, 1,5) функции /(х) в

dx"

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

Оператор взятия определенного интеграла (клавиша «&»):

ь

jf(x)dx. Вычисляет определенный интеграл от а до Ъ функции f(x).

а

На данном интервале [а, Ь] функция /(jc) должна быть определена. Количество аргументов подынтегральной функции может быть больше одного, но в момент применения оператора они должны быть определены (зафиксированы константой).

П4.3. Логические операторы

Оператор «больше» (клавиша «>»): х>у. Возвращает единицу, если выражение л*будет больше, чему, иначе возвращает нуль.

Оператор «меньше» (клавиша «<»): х<у. Возвращает единицу, если выражение х будет меньше, чем д>, иначе возвращает нуль.

Оператор «больше или равно» (клавиши «Ctrl» + «О(ноль)»): х >у. Возвращает единицу, если выражение х будет больше или равно, чем д>, иначе возвращает нуль.

Оператор «меньше или равно» (клавиши «Ctrl» + «9»): х<у. Возвращает единицу, если выражение х будет меньше или равно, чем д>, иначе возвращает нуль.

Оператор «равно» (клавиши «Ctrb> + «=»): х=у. Возвращает единицу, если выражение х будет равно д>, иначе возвращает нуль. Следует заметить, что при отображении данного оператора знак равенства по умолчанию показывается жирным шрифтом.

Оператор «не равно» (клавиши «Ctrl» + «З»): хфу. Возвращает единицу, если выражение х будет не равно у, иначе возвращает нуль.

Оператор «логическое И» (клавиши «Ctrl» + «&»): х лу. Возвращает единицу, если выражения х и у принимают ненулевые значения, иначе возвращает нуль. Если при расчете выражение х будет нулевым, то выражение у не рассчитывается и результатом применения оператора будет нулевое значение.

Оператор «логическое ИЛИ» (клавиши «Ctrl» + «A»): х vy. Возвращает единицу, если выражение х или у принимает ненулевое значение, иначе возвращает нуль. Если при расчете выражение х будет ненулевым, то выражение у не рассчитывается и результатом применения оператора будет единичное значение.

Оператор «логическое исключающее ИЛИ» (клавиши «Ctrb> + «\%»): х ® у. Возвращает единицу, если выражение х или у (но не оба сразу) принимает ненулевое значение, иначе возвращает нуль.

Оператор «логическое отрицание» (клавиши «Ctrl» + «!»): -х. Возвращает единицу, если выражение х принимает нулевое значение, иначе возвращает нуль.

П4.4. Векторные и матричные операторы

Оператор сложения (клавиша «+»): А + В или А + х. А, В - матрицы (или векторы) одной размерности; х — скаляр. Если складываются две матрицы (два вектора), то результатом применения оператора будет матрица (вектор) соответствующей размерности, каждый элемент которой (которого) равен сумме эквивалентных по позиции элементам матриц (векторов) А и В. В случае прибавления числа х к матрице (вектору) А получается матрица (вектор) соответствующей размерности, каждый элемент которой (которого) равен сумме числа и соответствующего элемента матрицы (вектора) А.

Оператор вычитания (клавиша «-»): А-В или А-х. Эквивалентен оператору сложения, только вместо реального сложения применяется вычитание.

Оператор вычисления определителя (клавиша «|»): Щ. Вычисляет определитель квадратной матрицы М.

л

Оператор деления (клавиша «/»): —. В результате применения

х

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

Оператор произведения (клавиша «*»): А ■ В. Вычисляет произведение двух матриц: А (размерностью m х и) и В (размерностью п * р). Результатом применения данного оператора будет матрица размерностью тпхр.

Оператор возведения в степень (клавиша «Л»): А". Матрица А должна быть квадратной. Оператор возвращает матрицу такой же размерности, что и матрица А. В зависимости от целого числа п результатом применения оператора будет:

и = 0 - единичная матрица;

и = 1 - сама матрица А;

n = -1 - обратная матрица;

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

n п отрицательное целое - обращение самой матрицы п раз.

Оператор выбора конкретного элемента (клавиша «[»): Ад. Возвращает элемент матрицы А, который расположен на 1-й строке /-го столбца. В случае применения данного оператора к вектору необходимо иметь в виду, что вектор — это матрица, состоящая из одного столбца. Для выбора конкретного элемента вектора достаточно указать лишь номер строки (номер элемента вектора) Ah хотя запись Аф тоже допускается. По умолчанию номером первой строки (и столбца) является число ноль.

Оператор суммирования всех элементов вектора (клавиши «Ctrl» + «4»): Zv. Возвращает сумму всех элементов вектора v.

Оператор выделения столбца (клавиши «Ctrl» + «б»): А*1*. Возвращает вектор, которые равен i-uy столбцу матрицы А.

Оператор транспонирования (клавиши «Ctrl» + «1»): Ат. Возвращает транспонированную матрицу размерности п х m (исходная матрица размерностью п * ш).

П5. Основные встроенные функции системы MathCAD

П5.1. Функции комплексного числа

Re(z) - возвращает реальную часть комплексного числа z.

Im(z) - возвращает мнимую часть комплексного числа z.

arg(z) - возвращает аргумент комплексного числа z в диапазоне [-л; л].

csign(z) - возвращает знак комплексного числа в следующем виде: если z равно 0 - то 0; если Re(z) > 0 или Re(z) = 0 и Im(z) > 0 - то 1; иначе-минус 1.

5)            signum(z) — возвращает 1, если z = 0; иначе—z / I z |.

П5.2. Функции интерполяции

linterp(vj:,>a, х) - возвращает линейную интерполяцию в точке х табличной функции уу, заданной в точках vx.

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

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

lspline(vx, уу) — возвращает вектор вторых производных для табличной функции уу, заданной в точках vx. Данный вектор строится на основе коэффициентов линейного сплайна.

interp(v5, vx, уу, х) - возвращает результат сплайновой интерполяции в точке х для табличной функции уу, заданной в точках vx. vs - вектор вторых производных данной табличной функции уу, который должен быть вычислен заранее.

рицы результата соответствует собственному вектору, связанному с і-м собственным числом исходной матрицы, возвращаемым функцией еі-genvals(^4). »

П5.7. Встроенные функции для решения уравнений и задач оптимизации

root(/(varb var2,...), varb a, b) — возвращает число переменной van, находящееся между а и Ь, при котором значение функции равно нулю.

Isolve04, b) - возвращает вектор х решения системы линейных алгебраических уравнений Ах = Ъ.

Find(xb х2,...) - возвращает вектор переменных хь х2,... решения системы нелинейных уравнений (СНУ). Сама СНУ задается после ввода ключевого слова Given. До данного ключевого слова переменные х, х2,... должны быть определены начальными значениями.

Minimize^ xi, х2,...) - возвращает вектор переменных Хь х2, при которых функция f(xi,x2,...) принимает минимально возможное значение. Если необходимо ввести ограничения, то они задаются после ввода ключевого слова Given. До применения функции Mini-mize(/xi,x2, —) переменные х,х2,... должны быть определены начальными значениями.

Maximize(/, х, х2,...) - возвращает вектор переменных х, х2, при которых функция f(xi, х2,...) принимает максимально возможное значение. Если необходимо ввести ограничения, то они задаются после ввода ключевого слова Given. До применения функции Maximize^ х, х2,...) переменные Х, х2,... должны быть определены начальными значениями.

 

П5.8. Решение дифференциальных уравнений

odesolve(x, b[step) — возвращает решение линейного обыкновенного дифференциального уравнения (ОДУ) по переменной х до границы Ъ с шагом step. ОДУ и граничные (начальные) условия задаются после ключевого слова Given. Данная функция использует метод Рунге-Кутта с постоянным шагом.

rkfixed(y, х, х2, n,F) - возвращает матрицу решений (первый столбец - сетка, второй - значения найденных функций на этой сетке) методом Рунге-Кутта для системы обыкновенных дифференциальных уравнений с начальными условиями в векторе у, правые части которых записаны в символьном векторе F на интервале от Х до х2 с числом начальных шагов п. В функции для решения используется фиксированное число шагов.

3) Rkadapt(y, Х, х2, n,F) — возвращает матрицу решений (первый столбец - сетка, второй - значения найденных функций на этой сетке) методом Рунге-Кутта для системы обыкновенных дифференциальных уравнений с начальными условиями в векторе у, правые части которых записаны в символьном векторе F на интервале от х до х2 с числом начальных шагов п. В функции для решения используется переменное число шагов.

 

П5.9. Функции условия и дискретизации

if(cond, tval,jval) — если условие cond истинно, то возвращает результат выражения tval, иначе (условие cond ложно) возвращает fval.

8(от, и) - символ Кронекера. Возвращает единицу, если m = n; иначе (при тфгі) возвращает ноль.

sign(x) - знак действительного числа х. Возвращает ноль, если х = 0; единицу, если х > 0; минус единицу, если х < 0.

Ф(х) - функция Хевисайда. Возвращает ноль при отрицательном действительном числе х либо единицу при х > 0.

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |