close

Вход

Забыли?

вход по аккаунту

?

PilMathCAD

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
САНКТ%ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
Э. А. Пиль
РЕШЕНИЕ
ИНЖЕНЕРНЫХ ЗАДАЧ
С ПОМОЩЬЮ MATHCAD
Учебное пособие
Санкт%Петербург
2006
УДК 681.3 (ГУАП)
ББК 32.973.202
П32
Пиль, Э. А.
П32 Решение инженерных задач с помощью MathCAD: Учеб. посо%
бие / Э. А. Пиль; ГУАП. – СПб., 2006. 92 с.: ил.
В учебное пособие по широко распространенной компьютерной про%
грамме MathCAD 2000/2001 вошла информация, которая может быть
использована студентами всех специальностей при проведении разно%
образных расчетов и отчетов как для курсовых, так и для дипломных
работ.
Предназначено для студентов, изучающих дисциплину «Инфор%
матика» и «Компьютерные системы автоматизации», «Компьютерные
системы в проектировании» и др.
Рецензенты
кафедра ТОТС Санкт%Петербургской академии сервиса и экономики;
кандидат экономических наук, доцент Е. В.Стельмашонок
Утверждено
редакционно%издательским советом университета
в качестве учебного пособия
Учебное издание
Пиль Эдуард Анатольевич
РЕШЕНИЕ
ИНЖЕНЕРНЫХ ЗАДАЧ
С ПОМОЩЬЮ MATHCAD
Учебное пособие
Редактор В. П. Зуева
Компьютерная верстка А. Н. Колешко
Сдано в набор 06.10.05. Подписано к печати 03.03.06. Формат 60 84 1/16.
Бумага офсетная. Печать офсетная. Усл. печ. л.5,34. Усл. кр.%отт. 5,47. Уч. %изд. л. 5,12.
Тираж 100 экз. Заказ № 95
Редакционно%издательский отдел
Отдел электронных публикаций и библиографии библиотеки
Отдел оперативной полиграфии
ГУАП
190000, Санкт%Петербург, ул. Б. Морская, 67
©
2
ГОУ ВПО «Санкт%Петербургский
государственный университет
аэрокосмического приборостроения», 2006
ВВЕДЕНИЕ
Основные возможности системы МаthCAD
МаthCAD – это популярная система компьютерной математики,
предназначенная для автоматизации решения массовых математи%
ческих задач в самых различных областях науки, техники и образо%
вания. Название системы происходит от двух слов – MATHematica
(математика) и CAD (Computer Aided Design – системы автоматичес%
кого проектирования, или САПР). Так что вполне правомерно счи%
тать МаthCAD математическими САПР.
Сегодня различные версии МаthCAD являются математически
ориентированными универсальными системами. Помимо собствен%
но вычислений, как численных, так и аналитических, они позволя%
ют с блеском решать сложные оформительские задачи, которые с тру%
дом даются популярным текстовым редакторам или электронным
таблицам. С помощью МаthCAD можно, например, готовить статьи,
книги, диссертации, научные отчеты, дипломные и курсовые проек%
ты не только с качественными текстами разного стиля, но и с легко
осуществляемым набором самых сложных математических формул,
изысканным графическим представлением результатов вычислений
и многочисленными «живыми» примерами. А применение библио%
тек и пакетов расширения обеспечивает профессиональную ориента%
цию МаthCAD на любую область науки, техники и образования.
К важным достоинствам новых версий МаthCAD относятся на%
стройка под любой мало%мальски известный тип печатающих уст%
ройств, богатый набор шрифтов, возможность использования всех
инструментов Windows, прекрасная графика и современный много%
оконный интерфейс. В новые версии МаthCAD включены эффектив%
ные средства оформления документов в цвете, возможность создания
анимационных (движущихся) графиков и звукового сопровождения.
Тут же текстовый, формульный и графический редакторы, объеди%
ненные с мощным вычислительным потенциалом ядра системы. Пре%
дусмотрена и возможность объединения с другими математическими
и графическими системами для решения особо сложных задач. Отсю%
да и название таких систем – интегрированные системы. Впрочем, в
3
решении задач интеграции создатели МаthCAD пошли намного даль%
ше – эта система обеспечивает подлинную интеграцию с целым рядом
других математических, графических и офисных систем таких как:
МаtLAB, Maple, Excel.
4
1. ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ
Состав системы МаthCAD
Как интегрированная система МаthCAD содержит следующие ос%
новные компоненты:
редактор документов – редактор с возможностью вставки мате%
матических выражений, шаблонов графиков и текстовых коммента%
риев;
центр ресурсов – интегратор ресурсов системы;
электронные книги – электронные книги с описанием типовых
расчетов в различных областях науки и техники;
справочная система – система для получения справочных дан%
ных по тематическому и индексному каталогу, а также для поиска
нужных данных по ключевому слову или фразе;
«быстрые шпаргалки» QuickSheets – короткие примеры с мини%
мальными комментариями, описывающие применение всех встроен%
ных операторов и функций системы;
броузер Интернета – собственное средство выхода в Интернет.
Системы реализуют типовые и весьма обширные возможности
Windows 95/98/ 2000/NT, включая доступность множества шриф%
тов, работу со всеми типами принтеров, одновременное выполнение
нескольких разнохарактерных задач и (в последних версиях) реали%
зацию технологии обмена объектами OLE2. В режиме редактирова%
ния возможна одновременная работа с рядом документов и перенос
объектов из одного окна в другое.
Предусмотрен также импорт любых графических изображений –
от простых и специальных графиков функций до многокрасочных
репродукций художественных произведений. Введены средства ани%
мации рисунков и воспроизведения видеофайлов со звуковым стерео%
фоническим сопровождением. Это, наряду с улучшенной визуализа%
цией сложных расчетов, позволяет пользователю готовить электрон%
ные статьи и книги высокого качества. Начиная с версии МаthCAD
8.0, было предусмотрено упрощенное построение двумерных графи%
ков и вращение трехмерных графиков мышью. Теперь в версии
МаthCAD введено упрощенное построение и трехмерных графиков.
5
Особый интерес представляют встраиваемые в систему электрон%
ные книги, содержащие справки и примеры применений системы по
ряду разделов математики, механики, физики, электротехники и
радиотехники, а также по интерфейсу системы. Справки содержат
математические формулы и иллюстрации. Можно выделить нужную
справку (формулу или рисунок) и перенести ее в текст документа.
Библиотеки и пакеты расширений системы МаthCAD – еще одно
мощнейшее средство расширения возможностей системы и ее про%
фессиональной ориентации на решение задач в различных предмет%
ных областях.
Палитры математических знаков
Новые версии МаthCAD используются более удобные перемещае%
мые палитры. Они служат для вывода заготовок (шаблонов) матема%
тических операторов (цифр, знаков арифметических операций, мат%
риц, интегралов, производных и т. д.), функций системы и отдель%
ных символов, например греческих букв.
Для вывода шаблона того или иного объекта с помощью палитры
нужно:
– вывести нужную палитру;
– поместить маркер ввода в нужное место и зафиксировать его
щелчком левой клавиши мыши;
– указать мышью нужный объект или символ на палитре;
– щелкнуть левой кнопкой мыши для помещения объекта (симво%
ла) в заданное место;
– убрать палитру (если нужно), активизируя кнопку в конце стро%
ки заголовка палитры.
Кнопки вывода палитр занимают пятую сверху панель окна сис%
темы. Палитры появляются в окне редактирования документов при
щелчке на соответствующих кнопках этой панели.
Панель для вывода математических знаков, расположенная под
панелью форматирования, и все палитры показаны на рис. 1.1. С их
помощью можно вводить в документы практически все известные
математические символы и операторы. К сожалению, их так много,
что вывод всех палитр (как это показано на рис. 1.1) обычно бесполе%
зен, так как в окне редактирования не остается места для подготовки
документов. Поэтому рекомендуется неиспользуемые в данное время
палитры закрывать.
Палитры можно располагать в удобном месте окна редактирова%
ния, причем пользоваться сразу несколькими (в раскрывающихся
6
Рис. 1.1. Окно МаthCAD со всеми параметрами математических знаков
палитрах ранних версий МаthCAD можно было открыть только одну,
при открытии следующей предыдущая закрывалась).
С помощью общей панели (или «панели палитр») можно вывести
все палитры сразу или только нужные для работы. Для установки с
их помощью необходимого шаблона (объекта) достаточно поместить
курсор ввода в желаемое место окна редактирования (красный крес%
тик на цветном дисплее) и затем щелкнуть на значке нужного шаб%
лона.
Применение палитр для вывода шаблонов математических зна%
ков очень удобно, поскольку не надо запоминать разнообразные со%
четания клавиш, используемые для ввода специальных математи%
ческих символов. Впрочем, и эта возможность сохранена, так что
привыкшие к работе с клавиатурой пользователи, имевшие дело с
более ранними версиями системы МаthCAD (MathCAD – 8,9).
Любую палитру можно переместить в удобное место экрана, уце%
пившись за строку заголовка указателем мыши. Перемещая па%
литру, левую кнопку мыши нужно держать нажатой. В правом
верхнем углу каждой палитры помещена единственная маленькая
7
кнопка с жирным косым крестиком, служащая для устранения
палитры с экрана, как только она становится ненужной.
Большинство кнопок на палитрах выводят общепринятые и спе%
циальные математические знаки и операторы, помещая их шаблоны
в месте расположения курсора в документе. Позже мы последователь%
но рассмотрим все эти знаки, в том числе, на первый взгляд, не впол%
не очевидные. Таких очень мало, и большинство знаков в палитрах
вполне традиционны для математической литературы.
Примечание. Несмотря на удобство палитр не стоит привыкать
делать все операции с их помощью, поскольку для вывода палитры,
ее установки в удобное место и закрытия нужно выполнить ряд опе%
раций. Нередко вводить математические операторы, например знаки
арифметических операций, куда быстрее и удобнее с помощью кла%
виатуры.
Центр информационных ресурсов
Команда Resource Center (центр ресурсов) меню Help (справка) от%
крывает доступ к новой возможности системы МаthCAD – центру
информационных ресурсов. Центр информационных ресурсов – по
существу мощная база данных, объединяющая в себе встроенные в
систему электронные книги, обучающую систему, справочную систе%
му, многочисленные примеры применения – «шпаргалки», средства
общения с фирмой%разработчиком системы. Кроме того, центр ин%
формационных ресурсов предоставляет выход в Интернет, средства
регистрации и доступа к Web%библиотеке МаthCAD и т. д.
При выборе команды Resource Center открывается главное меню
центра ресурсов с перечнем (в виде красочных значков) входящих в
него средств (рис. 1.2).
В левой части окна расположена группа небольших кнопок (знач%
ков), дающих прямой доступ в Интернет. Кроме того, имеются три
большие кнопки, открывающие доступ к следующим основным раз%
делам центра:
– Overwiew and Tutorials – данные о новых возможностях МаthCAD
и доступ к электронному учебнику;
– QuickSheets and Reference Tables – «быстрые шпаргалки» (при%
меры) и справочные таблицы;
– Extending МаthCAD – данные о расширениях системы (электрон%
ных книгах, библиотеках и пакетах расширения).
Доступ к тому или иному средству центра ресурсов осуществля%
ется щелчком по соответствующей кнопке. Окно центра имеет не%
сколько расширенную панель инструментов. Кроме кнопок пере%
8
Рис. 1.2. Главное окно центра ресурсов в полностью открытом состоянии
мещения по страницам есть кнопки перемещения вперед и назад
по разделам центра, а также кнопка поиска (Search). Есть и кноп%
ка для записи раздела справочной системы на диск, а также кноп%
ка вывода списка просмотренных разделов.
Справочная система МаthCAD
Щелкнув по кнопке ? панели инструментов, можно вызвать окно
справочной системы МаthCAD (на рис. 1.3 в этом окне открыта вклад%
ка Search).
Это окно имеет три вкладки:
– Contents – справка по контексту;
– Index – справка по индексному каталогу;
– Search – поиск справочных данных во всех разделах по ключево%
му слову или фразе.
Возможностям справочной системы, соответствующим этим трем
вкладкам, мы посвятим отдельный урок. Пока отметим лишь, что
вся справочная система англоязычная, что для русскоязычных
9
Рис. 1.3. Окно справочной системы МаthCAD с открытой вкладкой Search
пользователей в значительной степени снижает эффективность ра%
боты с ней.
Итак, панель инструментов позволяет вполне полноценно рабо%
тать с документами вообще без обращения к меню. Тем не менее, меню
имеет значительно большие возможности, например команду Save
As (сохранить как) для сохранения файлов документов с произволь%
ным именем и многие другие команды. В дальнейшем мы рассмотрим
все команды меню.
Вопросы для проверки знаний
1. Как распознавать элементы интерфейса системы Mathcad 2001?
2. Как перемещать курсор ввода и линию раздела страниц?
3. Как пользоваться кнопками панели инструментов?
4. Как пользоваться кнопками панели форматирования?
5. Как изменять размеры элементов документа?
6. Как выводить всплывающие подсказки?
10
7. Как выводить и использовать палитры математических симво%
лов?
8. Как использовать полосы прокрутки для «перелистывания»
документа?
9. Как выводить и использовать контекстное меню?
11
2. ПРИЕМЫ РАБОТЫ С МАTHCAD
Ввод математических выражений
(работа с формульным редактором)
Фактически система МаthCAD интегрирует в себе три редакто%
ра: формульный, текстовый и графический. Для запуска формуль%
ного редактора достаточно установить указатель мыши в любом
свободном месте окна редактирования и щелкнуть левой кнопкой.
Курсор ввода в виде маленького красного крестика окажется пере%
несенным в это место. Его можно перемещать клавишами переме%
щения курсора. Курсор ввода не надо путать с указателем мыши,
который «живет своей жизнью» и имеет вид жирной наклонной
стрелки.
Курсор (маркер) ввода указывает место, с которого можно на%
чинать набор формул – вычислительных блоков. В зависимости от
места расположения курсор ввода может менять свою форму, к чему
быстро привыкаешь. Так, в области формул он превращается в
синий уголок, указывающий направление и место ввода. Его так%
же можно перемещать клавишами перемещения курсора. Для рас%
ширения охваченной уголком области (вплоть до полного охвата
выражения) можно пользоваться клавишей Пробел.
В системах класса МаthCAD редактирование математических
выражений существенно улучшено и во многом напоминает редак%
тирование текстовых комментариев. Так, можно использовать
режим вставки (клавиша Insеrt, меняющая направление охвата
курсором ввода того или иного объекта), режимы стирания (кла%
виши Васksрасе и Dеl) объекта с той или иной стороны относи%
тельно вертикальной черты курсора ввода, удаление объекта ко%
мандой Сut; (клавиша F3) и его ввод на указанное место командой
Раstе (клавиша Р4) и др. Редактирование интуитивно понятно,
поэтому мы ограничимся рядом простых примеров, учитывая, что
лишь достаточный опыт практической работы с системой гаран%
тирует должную эффективность такой работы.
12
Примеры вычисления арифметических выражений и
их редактирования
Рассмотрим пример вычисления отношения суммы 2+3 к корню
квадратному из числа 5. Вначале введем подряд символы 2+3. Вид
формульного блока при этом показан на рис. 2.1. Обратите внима%
ние, что при таком последовательном вводе уголок охватывает пос%
ледний операнд.
Теперь нам надо ввести знак деления. Однако если сделать это
сразу, то данный знак будет относиться не ко всей сумме, а только
к последнему операнду – числу 3. Чтобы знак деления относился
ко всей сумме, надо выделить все выражение 2+3. Для этого доста%
точно нажать клавишу пробела. Результат будет иметь вид, пока%
занный на рис. 2.2.
Рис. 2.1. Создание формульного
блока и ввод в него суммы
Рис. 2.2. Выделение всей
суммы курсором ввода
Теперь можно ввести знак деления, нажав клавишу со знаком.
Формульный блок приобретет вид, показанный на рис. 2.3. Обра%
тите внимание, что знак деления в виде наклонной черты автома%
тически приобрел вид длинной горизонтальной черты под суммой,
а под ним появилось место для ввода знаменателя дроби в виде
черного квадрата, охваченного курсором ввода. Разумеется, как
это принято даже при работе с калькуляторами, можно было бы
выделить сумму скобками, записав ее в виде (2+3), тогда знак де%
ления относился бы явно к сумме. Однако не следует вводить скоб%
ки там, где без этого можно легко обойтись.
Рис. 2.3. Формульный блок
после ввода знака деления
Рис. 2.4. Формульный блок после
ввода знака квадратного корня
Следующий этап – ввод знака квадратного корня. Начинаю%
щий пользователь введет такой знак, используя палитру матема%
тических знаков для арифметических операций Саlсulate. Для та%
кого ввода достаточно щелкнуть мышью на знаке квадратного кор%
ня. Однако более опытный пользователь вспомнит, что многие
13
знаки вводятся прямо нажатием соответствующей клавиши или
комбинации клавиш. Например, для ввода квадратного корня до%
статочно нажать клавишу со знаком обратной косой \ черты (ее
вид напоминает черту, с которой мы пишем изображение квадрат%
ного корня ). Теперь формульный блок приобретет вид, показан%
ный на рис. 2.4. Обратите внимание на естественность записи опе%
ратора квадратного корня и наличие в нем места для ввода подко%
ренного выражения.
Следующий этап конструирования выражения – ввод подкорен%
ного выражения в виде числа 5. Для этого достаточно нажать клави%
шу 5. Формульный блок; формульный блок предстанет в виде, пока%
занном на рис. 2.5.
Теперь выражение по существу введено полностью, и нам оста%
лось увидеть результат его вычисления. Для этого в конце выра%
жения нужно поставить оператор вывода – знак равенства =. Од%
нако сразу его вводить нельзя, поскольку маркер вывода установ%
лен на последнем операторе. Надо выделить все выражение. Для
этого нажмите клавишу Пробел – будет выделен весь числитель, а
затем нажмите клавишу Пробел еще раз – будет выделено все вы%
ражение (рис. 2.6).
Рис. 2.5. Формульный блок
с заданным выражением
Рис. 2.6. Выделение
всего выражения
Осталось последнее – ввести оператор вывода =. МаthCAD тут
же автоматически отобразит результат вычислений, поскольку по
умолчанию установлен режим автоматических вычислений. Вид
формульного блока при этом представлен на рис. 2.7.
МаthCAD можно легко использовать для различных экспери%
ментов вычислительного характера. Допустим, мы решили вычис%
лить результат, когда подкоренным выражением в знаменателе
должно быть число 5 в степени 1.25. Новое выражение не надо
набирать с начала. Достаточно модернизировать уже введенное
выражение (рис. 2.7). Для этого аккуратно поместите указатель
мыши после числа 5 и щелкните левой кнопкой. Вы увидите, что
курсор ввода отметит это число (рис. 2.8).
14
Рис. 2.7. Формульный блок
после ввода оператора
вывода
Рис. 2.8. Изменение одного
из операндов в формульном
блоке
Нетрудно догадаться, что теперь надо ввести знак возведения в
степень. Его можно ввести из палитры арифметических операций или
просто нажав клавишу со знаком ^. При этом в формульном блоке
появится запись возведения числа 5 в некую степень (рис. 2.9). Мес%
то ввода служит для ввода нужной степени.
Ясно, что теперь нам надо ввести показатель степени числа 5, т. е.
число 1.25. Это иллюстрирует рис. 2.10. Обратите внимание на есте%
ственность записи числа 5 в степени 1.25.
Рис. 2.9. Вид формульного
блока после ввода оператора
возведения в степень
Рис. 2.10. Вид формульного
блока после ввода показателя
степени 1.25
Итак, выражение создано, но пока курсор ввода (уголок) выделя%
ет число 1.25. Для вычисления достаточно отвести указатель мыши
от формульного блока (например, вниз) и щелкнуть левой кнопкой.
Сконструированное выражение тут же будет вычислено (рис.2.11).
Рис. 2.11. Вычисление скорректированного выражения
Этот пример приведен, чтобы показать естественность работы с
математическими выражениями.
15
Операции вывода и присваивания
Для вычисления любого выражения достаточно установить после
него оператор вывода (знак =). Покажем это на нескольких примерах
простых вычислений. Для ввода десятичных чисел в качестве разде%
лителя целой и дробной части используется точка, а не запятая.
В математике для придания вычислениям общности часто исполь%
зуются переменные в виде некоторых обобщенных обозначений дан%
ных определенного типа. Переменные имеют имена (идентификато%
ры), и для них характерна операция присваивания значений. В
МаthCAD оператор = можно использовать как оператор первого при%
сваивания, что и показано далее в таблице .
Ввод
На экране дисплея
a=2
а := 2
b=3
b:= 3
а + b=
а+b=5
Если теперь попытаться присвоить переменным а и b новые значе%
ния, то ничего из этого не выйдет. Как только после имени перемен%
ной мы попытаемся поставить знак =, появится старое значение пе%
ременной.
Ввод
На экране дисплея
a=
а=2
b=
b=3
Чтобы все же присвоить переменным новые значения, придется
использовать стандартный оператор присваивания:=, который вво%
дится своим первым символом: (двоеточие).
16
Ввод
На экране дисплея
а:1
а := 1
b:1
b := 1
а + b=
а+ b=2
Из этих примеров можно заметить некоторые особенности работы
МаthCAD при выполнении простых вычислений:
– некоторые комбинированные операторы (например:=) вводятся
одним символом;
– МаthCAD вставляет пробелы до и после арифметических опера%
торов;
– оператор умножения вводится как звездочка, но представляет%
ся точкой в середине строки;
– оператор деления вводится как косая черта /, но заменяется го%
ризонтальной чертой;
– оператор возведения в степень вводится знаком ^, но число в степе%
ни представляется в обычном виде (степень как верхний индекс);
– по умолчанию десятичные числа имеют представление с тремя
знаками после разделительной точки;
– МаthCAD понимает наиболее распространенные константы, на%
пример е – основание натурального логарифма (убедитесь, что про%
грамма распознает также рi или );
– математические выражения могут редактироваться внутри фор%
мульного блока с использованием для этого курсора ввода и типовых
приемов редактирования.
Таким образом, даже без вмешательства пользователя МаthCAD
старается придать математическим выражениям обычный вид. На
рис. 2.12 представлен документ, в котором выполнены приведенные
ранее простые вычисления.
Рис. 2.12 дает представление и о некоторых дополнительных при%
емах работы с системой МаthCAD. Например, как быть, если точ%
ность представления десятичных чисел тремя знаками после 0 точки
вас явно не устраивает. Для этого надо использовать форматирова%
ние чисел. Подведите указатель мыши к числу (на рис. 2.12 – это
значение е2) и дважды щелкните левой кнопкой. Появится окно фор%
матирования чисел, показанное на рис. 2.12 в правой части окна до%
кумента. Введите в поле Number of decimal places число 12 вместо 3 и
получим результат расчета с 12 знаками после десятичной точки.
МаthCAD переводит в категорию простых вычислений даже слож%
ные математические расчеты, требующие применения специальных
численных методов. На примере рис. 2.12 показано вычисление оп%
ределенного интеграла. Как видно, здесь для расчета был использо%
ван шаблон интеграла из представленного на этом рисунке палитры
Calculate. В данном примере при расчете был использован вариант
Engineering, для чего необходимо войти в Format – Result. Для
МаthCAD все равно, что вычисляется, – будь то привычный квадрат%
ный корень или определенный интеграл. Столь же просто, восполь%
17
Рис. 2.12. Окно МаthCAD с простейшими вычислениями
зовавшись шаблоном суммы или произведения, можно вычислить
сумму или произведение членов ряда.
Использование шаблонов
математических операторов и символов
Подготовка вычислительных блоков облегчается благодаря вы%
воду шаблона при задании того или иного оператора. Для этого в
МаthCAD служат палитры математических символов и шаблонов
операторов и функций. Надо полагать, что читатель знаком с приме%
нением большинства математических операторов и знает, сколько
операндов в них используется. Например, оператор суммы – + на са%
мом деле выводит шаблон вида n+n, в котором черные квадратики –
это места под операнды. Например, если требуется составить выра%
жение 2+3, то в места ввода достаточно вставить числа 2 и 3.
Допустим, мы желаем вычислить уже упомянутый определенный
интеграл. Для этого вначале надо вывести на экран палитру операто%
ров математического анализа. Щелкните по кнопке с изображением
знака интеграла и производной, и палитра появится в окне програм%
мы. Затем следует установить курсор в то место экрана, куда выво%
18
дится шаблон, и щелкнуть в палитре по значку с изображением зна%
ка определенного интеграла.
В составе сложных шаблонов часто встречаются меньшие шабло%
ны для ввода отдельных данных. Мы будем называть их, как и ра%
нее, местами ввода. В шаблоне интеграла их четыре: для ввода верх%
него предела интегрирования, для ввода нижнего предела интегри%
рования, для задания подынтегральной функции и для указания
имени переменной, по которой идет интегрирование. Заполненный
шаблон интеграла и результат вычисления интеграла показаны в
нижней части документа (рис. 2.12). Заметим, что вычисления про%
изойдут после охвата выражения (интеграла) синим уголком и уста%
новки оператора вывода – знака =.
Рассмотрим процесс работы с шаблонами немного подробнее. После
вывода шаблона он появляется с пустыми местами ввода. Для ввода
данных можно установить указатель мыши на нужный шаблон дан%
ных, щелкнуть ее левой 1%й кнопкой для фиксации места ввода и
ввести данные. Последовательное заполнение (слева направо) мест
ввода в шаблоне вычисления определенного интеграла и в ряде дру%
гих шаблонов показано на рис. 2.13. Также на рисунке отражен мо%
мент ввода выражения под знаком квадратного корня для задания
подынтегральной функции.
Рис. 2.13. Примеры последовательного заполнения шаблонов
19
Пользователи старых версий МаthCAD не имели возможности вво%
дить шаблоны множества математических операций столь простым
способом. Зато они виртуозно владели техникой ввода шаблонов с
помощью определенных клавиш и их комбинаций. Запомнить мно%
жество таких комбинаций довольно сложно. Однако шаблоны мно%
гих операций вводятся такими символами, которые хотя бы в пер%
вом приближении напоминают вид оператора. Например, оператор
квадратного корня вводится клавишей \, шаблон определенного ин%
теграла – клавишей &, а клавиша # используется для ввода знака
произведения ряда и т. д. А для ввода знака суммы членов ряда тре%
буется нажатие сразу трех клавиш – Ctrl+Shift+F4. Несмотря на арха%
ичность такого ввода, ему нельзя отказать в оперативности, ибо вы%
вод палитр математических знаков и удобное их расположение тре%
буют времени.
Вычисление математических функций
Сложные математические выражения наряду с операторами со%
держат математические функции. МаthCAD имеет множество встро%
енных элементарных, специальных и статистических функций. Наи%
более известные из них – элементарные – могут вводиться прямо их
обозначениями, например, sin(1), соs(0.5), аsin(0.5), sinh(1), ln(2) и
т. д. Однако на первом этапе освоения системы многие пользователи
путаются в обозначениях функций и не представляют, какие функ%
ции есть в системе и как именно их вводить. Особенно это относится
к обратным функциям: многие задают встроенную функцию МаthCAD
аsin, как это принято в математике – агсsin, и получают сообщение об
ошибке.
Для облегчения ввода математических функций служит кнопка
f(х), которая выводит окно с полным перечнем функций, разбитым
на тематические разделы. Выбранная функция может быть перенесе%
на в окно документа щелчком по кнопке внизу окна с перечнем функ%
ций. Рис. 2.14 иллюстрирует выбор и использование функции Бессе%
ля – ln(m,х).
Обратите внимание на некоторую непринципиальную неточность
в определении символики функции. Функция Бесселя ln(х) в терми%
нах МаthCAD должна быть записана как ln(n,х), а в окне она пред%
ставлена как ln(m,х).
Функции имеют параметры (аргументы), которые записываются
в круглых скобках после имени функции. Функции могут иметь один
параметр (например, sin(х) или соs(0.5)), два параметра (например
ln(m,х)) или даже несколько параметров. Параметры могут иметь чис%
20
Рис. 2.14. Пример вычисления функции Бесселя с выбором ее
из перечня функций
ленное значение, быть константой, определенной ранее переменной
или математическим выражением, возвращающим численное значе%
ние. Функции имеют свойство возвращать результат, поэтому их
можно использовать в сложных математических выражениях, на%
пример (2+3i)*sin(3*ее1). Заметим, кстати, что 1 в этом выражении –
мнимая единица (квадратный корень из –1) и что большинство фун%
кций может иметь комплексные аргументы и возвращать комплекс%
ные значения.
Понятие о ранжированных переменных и векторах
На первых порах мы обходились хорошо известными типами пе%
ременных, хранящих значения обычных чисел (целых, веществен%
ных или действительных). МаthCAD (допускает для таких перемен%
ных и комплексные значения, например 2+3i. В отличие от языков
программирования МаthCAD не требует точного задания типов обыч%
ных переменных, например таких, как целочисленные переменные
одинарной или двойной точности, вещественные переменные с пла%
21
вающей точкой и т. д. Тип переменной автоматически определяется
присвоенным ей значением.
Однако есть и специальные типы переменных, именуемые ранжи%
рованными переменными. Они имеют множественные значения. На%
пример, если записать n:=1..5, то переменная n будет представлять
целые числа от 1 до 5 с шагом 1, т. е. значения 1, 2, 3, 4 и 5. Доступ
отдельно к каждому значению отсутствует. Для ввода знака.. (две
точки) надо нажать клавишу; (точка с запятой).
Если требуется задать ряд чисел с шагом d, то ранжированная
переменная записывается следующим образом:
X:=Xstart, Xstart + d.. Xend.
Здесь Хstart – начальное значение переменной X, Хеnd – конечное
значение переменной X. Например, X: =1,1.25.. 2 дает ранжирован%
ную переменную Х со значениями 1, 1.25, 1.5, 1.75 и 2.
Примечание. Обратите внимание на то, что второй член в задании
ранжированной переменной – это сумма ее начального значения с
приращением d. При этом возможно задание приращения отрица%
тельным, но в этом случае Хstart должно быть больше, чем Хеnd. В
явном виде приращение обычно не задается – оно фигурирует как
разность чисел, разделенных запятыми. Так, в нашем примере
Х:=1.1.25..2. приращение есть 1.25–1=0.25.
На первый взгляд ранжированная переменная напоминает вектор
– одномерный массив индексированных переменных. Например, век%
тор Х из трех элементов 1, 1.25 и 1.5 может быть представлен тремя
компонентами Х0, Х1 и Х2 с указанными значениями. Индексы могут
начинаться с 0 или 1. Эти значения задает специальная системная
переменная ОRIGIN, имеющая по умолчанию нулевое значение. Если
переменная – не вектор, то задавать индексы недопустимо и МаthCAD
будет отмечать это как ошибку, выделяя выражение красным цве%
том и сопровождая это сообщением об ошибке в виде желтого прямо%
угольника.
Ряд примеров задания и применения ранжированных переменных
– в том числе и примеров построения графиков функций, заданных
такими переменными показан на рис. 2.15. Из рисунка видно, что
таблица значений ранжированной переменной дается под операцией
ее вывода, а таблица значений элементов вектора – справа от опера%
ции вывода. Это подчеркивает отличие ранжированной переменной
от вектора.
Обратите внимание на то, что ранжированная переменная может
использоваться для той или иной функции или представления зна%
чений вектора. При этом она в явной форме задает пределы измене%
22
Рис. 2.15. Пример задания ранжированной переменной и вектора
ния независимой переменной и шаг ее значений при построении гра%
фиков. Это более сильное средство, чем автоматическое задание пре%
делов и шага независимой переменной при упрощенном построении
графиков. В конце документа (рис. 2.15) показано, что вектор дает
доступ к любому своему элементу, тогда как ранжированная пере%
менная такого доступа не обеспечивает – попытка доступа сопровож%
дается сообщением об ошибке.
Примечание. Ранжированная переменная не является полноцен%
ной заменой циклов, обычно – осуществляемых с помощью языков
программирования. Для создания циклов и других традиционных
программных инструкций МаthCAD имеет специальные средства. Они
рассмотрены в разд. 6, посвященном программированию в среде
МаthCAD.
Ввод матриц и векторов
Матрицы в виде двумерных массивов широко применяются при
решении задач механики, электротехники, радиотехники и других
областей науки и техники. Здесь мы ограничимся основными поня%
тиями о матрицах как типе данных.
23
Матрицу можно представить как таблицу, имеющую m строк
(гоws) и n столбцов (соlumns). Если m=n, то матрицу именуют квад%
ратной. Число элементов или размер матрицы есть mxn. Вектор с дли%
ной m рассматривается как одномерная матрица размера mx1. Для
операций с матрицами, включая их ввод, служит палитра матрич%
ных операций МаthCAD. В ней, в частности, имеется шаблон для
ввода матриц – он имеет вид удлиненных скобок с местами для ввода
элементов матриц. При вводе шаблона появляется небольшое окно,
запрашивающее число строк и столбцов матрицы. Ввод матрицы и
использование простейших векторных и матричных операций пока%
заны на рис. 2.16.
Элементы матриц являются индексированными переменными и ха%
рактеризуются двумя индексами – номером элемента в строке и номе%
ром элемента в столбце. Например, Мi,j. означает элемент матрицы, рас%
положенный в строке i и столбце j. Матрицы одного размера можно скла%
дывать и вычитать. Возможна замена строк на столбцы – операция
Рис. 2.16. Примеры простейших операций с матрицами
24
транспонирования (значок МТ в палитре). Другие важные матричные
операции, например обращение матрицы и решение матричных уравне%
ний мы рассмотрим позже.
Снятие активности у математических выражений
Как уже отмечалось, математические выражения можно сделать
пассивными. Для этого достаточно выделить выражение и исполнить
команду Disable Evaluation (запретить вычисление) в контекстном
меню правой кнопки мыши. Выражение будет помечено знаком n
(черный прямоугольник) и не исполняться ни в автоматическом, ни
в ручном режимах вычислений. Такое выражение можно рассматри%
вать просто как сложный текстовый комментарий. Для снятия ста%
туса невычисляемого и неисполняемого выражения достаточно вы%
делить поражение и исполнить команду Enable Evaluation (разрешить
вычисление) в контекстном меню правой кнопки мыши.
Прерывание вычислений
При задании сложных вычислений работа системы может быть
долгой. Для ее прерывания можно нажать клавишу Еsc. МаthCAD
выведет сообщение о прерывании вычислений и небольшое окно с
двумя кнопками: OК – подтвердить прерывание и Саnсеl (отмена) –
отменить прерывание. После прерывания можно возобновить рабо%
ту, нажав клавишу F9 или щелкнув в панели инструментов по кноп%
ке с изображением жирного знака равенства.
Вопросы для проверки знаний
1. Как вводить и редактировать текстовые блоки?
2. Как устанавливать курсор ввода в нужное нам место?
3. Как вводить и редактировать математические формулы?
4. Как использовать операторы вывода и присваивания?
5. Как выполнять простые математические вычисления?
6. Как форматировать результаты численных вычислений?
7. Как использовать шаблоны математических символов?
8. Как вводить математические функции и вычислять их?
9. Как создавать ранжированные переменные и векторы?
10. Как вводить матрицы и выполнять с ними простые вычисле%
ния?
11. Как прерывать вычисления?
25
3. РАБОТА С ГРАФИКОЙ
Построение двумерного графика одной функции
Простые вычисления в МаthCAD выполняются почти мгновенно,
и это вполне естественно. Столь же просто можно построить графики
функций самого различного вида. Нередко к ним сводятся нужные
результаты вычислений. Начнем с построения графика функции
sin(x)3. Для этого достаточно выполнить следующие простые дей%
ствия.
1. Введите функцию, набрав выражение sin(x)^3.
2. В панели математических знаков щелкните по кнопке с изобра%
жением графика – на экране появится палитра графиков.
3. В палитре графиков щелкните по кнопке с изображением дву%
мерного графика – на экране появится шаблон графика (рис. 3.1) с
уже введенной по оси Y функцией.
4. Введите в место ввода шаблона по оси Х имя независимого аргу%
мента – х.
5. Щелкните вне пределов графика левой кнопкой мыши – график
построен (рис. 3.2).
1
sin( x) 3
0
1
Рис. 3.1. Подготовка к построению
двумерного графика
10
0
10
x
Рис. 3.2. Результат построения
графика функции sin(x)3
Обратите внимание, что в данном случае не требуется даже полно%
го выделения выражения для функции, но курсор ввода должен быть
в блоке с этим выражением.
26
Изменение размеров и перемещение графика
Теперь, предположим, мы хотим увеличить график и немного сме%
стить его. Для этого проделаем следующее.
1. Поместите указатель мыши в область графика и щелкните ле%
вой кнопкой мыши – вокруг графика появится рамка из черных ли%
ний, обрамляющая блок графика.
2. Подведите указатель мыши к черному квадратику (маркеру из%
менения размера) в правом нижнем углу рамки, при этом указатель
мыши должен превратиться в двустороннюю диагональную стрелку.
3. Нажав левую кнопку мыши, растяните график по диагонали.
4. Завершив расширение (или сужение) графика, отпустите кноп%
ку мыши.
5. Наведите указатель мыши на любую сторону рамки (кроме чер%
ных квадратиков), при этом указатель должен превратиться в чер%
ную ладошку.
6. Нажав левую кнопку мыши, передвиньте весь блок графика в
желаемое место экрана.
7. Завершив перемещение, отпустите кнопку мыши.
В результате этих действий мы увидим увеличенный и переме%
щенный в другое место экрана график с обрамляющей его рамкой
(рис. 3.3). Убрать рамку можно, отведя указатель мыши в сторону
от графика и щелкнув левой кнопкой мыши.
Рис. 3.3. График одной функции после изменения размеров и смещения
Обратите внимание: когда график находится в рамке, на нем в
характерных черных уголках появляются числа, указывающие мас%
штаб графика по оси Y и по оси X. По умолчанию по оси Х график
строится на отрезке изменения аргумента х от –10 до +10. Масштаб
27
по оси Y МаthCAD устанавливает автоматически. Изменив эти чис%
ла, можно задать свой масштаб графика.
Построение графиков ряда функций
Рассмотрим, как в полученном графике отобразить еще две функ%
ции, например sin(x)2 и cos(x). Для этого их надо просто перечислить
после первой функции у оси Y графика, отделяя выражения функций
запятыми. Вот как это делается.
Поместите указатель мыши точно в конец выражения sin(x)3.
Щелкните левой кнопкой мыши – появится синий уголок в конце
выражения (или перед ним).
Клавишами перемещения курсора по горизонтали переместите
уголок точно в конец выражения и нажатием клавиши Пробел до%
бейтесь, чтобы уголок охватил все выражение.
Введите знак запятой, при этом вы заметите, что первое выраже%
ние ушло вверх, а под ним появилось новое место ввода.
Введите выражение sin(x)^2.
Нажимая клавишу Пробел, добейтесь, чтобы это выражение тоже
было полностью охвачено синим уголком.
Введите знак запятой, и вы заметите, что два первых выражения
ушли вверх, а под ними появилось новое место ввода.
Введите в него выражение cos(x).
Отведите указатель мыши за пределы графика и щелкните левой
кнопкой мыши – появится график с тремя кривыми (рис. 3.4).
1
sin( x)
3
sin( x)
2
1
0
cos ( x)
1
1
10
10
0
10
x
10
Рис. 3.4. Двумерный график с тремя кривыми
28
Следует обратить внимание, что МаthCAD автоматически отобра%
жает каждую кривую своим стилем и своим цветом. И делает это весь%
ма недурно – редко кто из пользователей вмешивается в решение си%
стемы. Тем не менее, путем форматирования графиков, которое мы
рассмотрим позже, вид графика можно менять. К примеру, выделив
график, его можно растягивать или сжимать с помощью мыши, уце%
пившись ее указателем за специальные места на сторонах графика в
виде темных маленьких прямоугольников (см. рис. 3.3).
Построение графиков поверхностей
Построение графиков поверхностей (их называют также трех%
мерными или ЗD%графиками) всегда было ахиллесовой пятой систем
класса МаthCAD. Связано это с тем, что такие графики даже в про%
стейшем случае требуют создания матрицы точек (аппликат) зависи%
мости z(x, у), т. е. функции двух переменных. Создание такой матри%
цы нетривиальная задача, что приводило не только к усложнению
построений, но и к потере их наглядности.
Однако в новейших версиях МаthCAD эта трудность блестяще
преодолена. Теперь трехмерный график построить даже проще, чем
двумерный.
Определите функцию z(x,y) двух переменных x и y.
Используя палитру графики, введите шаблон трехмерного графи%
ка (рис. 3.5).
Рис. 3.5. Подготовка к построению
графика
Рис. 3.6. Поверхности в виде
каркаса
29
30
Рис. 3.7. График поверхности с функциональной окраской и окном форматирования
На единственное место ввода под шаблоном введите z.
Выведите курсор мыши за пределы графика и щелкните левой кла%
вишей мыши – будет построен график в виде «проволочного каркаса».
Растяните (или сожмите) график и поместите его в нужное место
экран (рис. 3.6).
График в виде каркаса не слишком эстетичен, хотя иногда и полезен,
поскольку сквозь каркас видны обычно невидимые детали. Для измене%
ния вида на графике трехмерных поверхностей используется их форма%
тирование, которое будет рассмотрено позднее. Нетерпеливые студенты
могут попытаться самостоятельно освоить форматирование – для них
по секрету сообщим, что окно форматирования вызывается, если в об%
ласть графика поместить указатель мыши и дважды щелкнуть левой
кнопкой (рис. 3.7).
Построение на одном трехмерном графике
ряда поверхностей
Новая версия МаthCAD осуществляет построение на одном гра%
фике ряда поверхностей. Делается это предельно просто – надо опре%
делить ряд функций двух переменных, описывающих поверхности,
и ввести через запятую имена этих функций в месте ввода шаблона
Рис. 3.8. Построение двух пересекающихся объемных парабол
31
трехмерного графика. Рис. 3.8 иллюстрирует это для случая постро%
ения двух пересекающихся объемных парабол, где одна из них – под%
нята по вертикали, а другая – опущена. Присмотритесь к записи фун%
кций z1(x.y) и z2(x,y).
Параметры форматирования двумерных графиков
Подменю Graph (график) меню Format (формат) открывает доступ
к командам форматирования графиков. Начнем с команды XY Plot
(декартов график). Она выводит диалоговое окно с параметрами фор%
матирования двумерных графиков (рис. 3.9). Следует помнить, что
для изменения формата уже построенного графика необходимо его
выделить. Выделенный график обводится сплошной линией с марке%
рами изменения размера.
Как видно на рис. 3.9, диалоговое окно форматирования имеет
четыре вкладки:
– XY Axes (оси X%Y) – задание параметров отображения осей;
– Traces (графики) – задание параметров отображения линий гра%
фика;
– Labels (надписи) – задание параметров отображения меток (над%
писей) у осей;
– Defaults (по умолчанию) – задание параметров по умолчанию.
Важно отметить, что все параметры форматирования относятся к
выделенному графику и могут при необходимости изменяться.
Форматирование осей
На вкладке XY Axes представлены следующие основные парамет%
ры, относящиеся к осям Х и Y (Axis X и Axis Y):
– Log Scale (логарифмический масштаб) – установка логарифми%
ческого масштаб;
– Grid Lines (линии сетки) – установка линий сетки;
– Numbered (пронумеровать) – установка цифровых данных по осям;
– Autoscale (автомасштаб) – автоматическое масштабирование
графика;
– Show Markers (нанести риски) – установка делений по осям;
– Auto Grid (автосетка) – автоматическая установка масштабных
линий;
– Number of Grids (число интервалов) – установка заданного числа
масштабных линий.
Все эти параметры достаточно очевидны. Отметим лишь, что
если снят флажок Grid Lines, то масштабная сетка графика не стро%
32
33
Рис. 3.9. Окно форматирования двумерного графика
34
Рис. 3.10. Пример форматирования осей двумерного графика
ится, хотя на осях размещаются короткие деления. Флажок
Numbered обеспечивает вывод цифр у осей. Опция Autoscale обес%
печивает автоматическое масштабирование графика. Например,
она полезна для округления нижнего и верхнего пределов измене%
ний значений абсцисс и ординат, которые при автоматическом
выборе масштаба могут оказаться десятичными числами с дроб%
ной частью.
Переключатели группы Axes Style (стиль осей) позволяют задать
стиль отображения координатных осей:
– Boxed (рамка) – оси в виде прямоугольника;
– Crossed (крест) – оси в виде креста;
– None (нет) – отсутствие осей.
– Флажок Equal Scales (равные масштабы) позволяет установить
одинаковые масштабы по осям графика.
– Внизу вкладки имеются следующие кнопки:
– 0К – закрыть окно и применить выбранные параметры к выде%
ленному графику;
– Отмена – закрыть окно без применения выбранных параметров;
– Применить – применить выбранные параметры к выделенному
графику;
– Справка – вывод подсказки.
На рис. 3.10 показано, как влияет форматирование осей на вид ис%
ходного графика (см. рис. 3.9). В данном случае изменены расположе%
ние и нумерация делений на осях, а также выведены линии сетки.
Форматирование линий графиков
Следующая вкладка Traces (графики), показанная на рис. 3.11,
служит для управления отображением линий, из которых строится
график.
Вкладка позволяет управлять следующими параметрами линий
графика:
– Legend Label (имя кривой) – указание типа линии у оси ординат;
– Symbol (символ) – выбор символа для отметки базовых точек
графика, который помещается на линию;
– Line (линия) – установка типа линий (сплошная, пунктирная и
др.);
– Color (цвет) – установка цвета линий и базовых точек;
– Type (тип) – установка типа графика;
– Weight (толщина) – установка толщины линий.
Узловые точки графиков (точки, для которых вычисляются коор%
динаты) часто требуется выделить какой%либо фигурой – кружком,
35
36
Рис. 3.11. Вкладка Traces
крестиком, прямоугольником и т. д. Раскрывающийся список Symbol:
позволяет выбрать следующие отметки для базовых точек графика
каждой из функций:
– none – без отметки;
– x’s – косой крестик;
– +’х – прямой крестик;
– box – квадрат;
– dmnd – ромб;
– o’s – окружность.
Графики отдельных функций можно также выделять, используя
для их построения линии различного типа. Раскрывающийся спи%
сок Line позволяет выбрать следующие типы линий:
– none – линия не строится;
– solid – непрерывная линия;
– dash – пунктирная линия;
– dadot – штрихпунктирная линия.
Другой распространенный способ выделения линий, относящих%
ся к различным кривым на графике, заключается в изменении их
цвета. Разумеется, этот метод эффективен при применении цветного
дисплея и цветного (например струйного) принтера для распечатки
графиков. Раскрывающийся список Color позволяет выбрать следу%
ющие основные цвета линий и базовых точек:
– red – красный;
– blu – синий;
– grn – зеленый;
– суа – голубой;
– brn – коричневый;
– blс – черный.
Важное значение имеет и тип графика. Раскрывающийся список
Type позволяет выбрать тип графика:
– line – построение линиями;
– points – построение точками;
– err – построение вертикальными черточками с оценкой интерва%
ла погрешностей;
– bar – построение в виде столбцов гистограмм;
– step – построение ступенчатой линией;
– draw – построение прямыми от точки до точки.
Возможные конфликты между типом графика и типом линий ав%
томатически устраняются. При этом приоритет отдается типу гра%
фика, а конфликтные типы линий или точек отмечаются тремя звез%
дочками.
37
38
Рис. 3.12. Вкладка задания дополнительных надписей
Два флажка в нижней части вкладки связаны с возможностью
удаления с графика вспомогательных надписей:
– Hide Argument (скрыть аргумент) – скрывает математические
выражения на осях графика;
– Hide Legend (скрыть имена кривых) – скрывает имена кривых
графика.
На рис. 3.11 представлены результаты переформатирования гра%
фиков, показанных на рис. 3.10.
Форматирование надписей на графиках
Вкладка Label (надписи) позволяет вводить в рисунок дополни%
тельные надписи, что иллюстрирует рис. 3.12. Эта вкладка появля%
ется, если график уже создан.
Для ввода надписей служат следующие поля:
– Title (заголовок) – установка титульной надписи к рисунку;
– XAxis (ось X) – установка надписи по оси X;
– YAxis (ось Y) – установка надписи по оси Y.
В группе Title находятся переключатели Above (сверху) и Below
(снизу) для установки титульной надписи либо над рисунком, либо
под ним. Кроме того, флажок Show Title (показать заголовок) позво%
ляет отображать или скрывать титульную надпись.
Задание параметров по умолчанию
Вкладка Defaults (по умолчанию), как показано на рис. 3.13, слу%
жит для задания параметров форматирования графиков по умолча%
нию. Щелчок на кнопке Change to Defaults (вернуть значения по умол%
чанию) позволяет отказаться от параметров, заданных на предыду%
щих вкладках, и вернуть их значения, установленные по умолча%
нию. Установка флажка Use for Defaults (использовать для значений
по умолчанию) позволяет сделать параметры, заданные на предыду%
щих вкладках, параметрами по умолчанию.
Примеры форматирования двумерных графиков
Влияние некоторых параметров было показано на предыдущих
рисунках. Напоминаем, что для назначения заданных параметров
без закрытия диалогового окна служит кнопка Применить.
В целом перечисленные параметры предоставляют возможность
создавать графики самых различных видов, удовлетворяющие лю%
бые запросы пользователя (см., например, шесть вариантов одного и
того же графика на рис. 3.14).
39
40
Рис. 3.13. Вкладка настройки параметров по умолчанию
Рис. 3.14. Графики функций, построенных с применением
различных форматов
Различные форматы позволяют уверенно различать кривые на гра%
фике и соотносить их с той или иной функцией, а введение дополни%
тельных надписей (титульной и по осям) – разнообразить графики и
повысить их информативность.
Применение графического маркера и операции Zoom
Еще одной возможностью при работе с двумерными графиками
является применение специального графического маркера в виде двух
перекрещивающихся пунктирных линий, пересекающих все окно
графика. Они появляются при выполнении команды Format > Graph
> Trace. При выключенной опции Track Data Points (перемещение по
точкам данных) маркер свободно перемещается по графику, при этом
его координаты отображаются в окне XY Trace. Поместив маркер на
какую%либо интересную точку графика, можно примерно определить
ее координаты.
41
42
Рис. 3.15. Окно установки форматов графиков в полярной системе координат
Однако вручную трудно точно совместить положение маркера с
выбранной точкой графика. Для этого предусмотрен режим слеже%
ния за кривой графика. Он реализуется включением опции Track Data
Points. При этом перемещение маркера происходит по кривой графи%
ка, что позволяет легко установить его на любую точку кривой.
Еще одна новая возможность в работе с двумерными графиками
заключается в просмотре частей графиков с их увеличением. Она ре%
ализуется командой Format > Graph > Zoom, которая выводит диало%
говое окно X%Y Zoom, в котором можно установить минимальные и
максимальные значения Х и Y.
В целом надо отметить, что форматирование графиков в декарто%
вой системе координат позволяет получать практически все типы
графиков, используемые в математической и научно%технической
литературе.
Установка форматов графиков
в полярной системе координат
Команда Polar Plot (полярный график) подменю Graph (график)
меню Format (формат) обеспечивает задание форматов графиков, ко%
торые строятся в полярной системе координат. При ее выполнении
выводится диалоговое окно, показанное на рис. 3.15.
Окно содержит четыре вкладки:
– Polar Axes (полярные оси) – задание параметров отображения осей;
– Traces (графики) – задание параметров отображения линий гра%
фика;
– Labels (надписи) – задание параметров отображения меток (над%
писей) у осей;
– Defaults (по умолчанию) – задание параметров по умолчанию.
Вопросы для проверки знаний
1. Как выводить шаблон двумерной графики?
2. Как строить простейшие графики функций одной переменной?
3. Как строить графики нескольких функций одной переменной?
4. Как перемещать и масштабировать графики?
5. Как строить графики поверхностей – функций двух переменных?
6. Как вращать и масштабировать трехмерные графики мышью?
7. Как строить на одном трехмерном графике несколько поверх%
ностей?
8. Как выводить на экран окно форматирования трехмерных гра%
фиков?
43
4. СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ
Возможности символьного процессора
Символьными называют такие вычисления, результаты которых
представляются в аналитическом виде, т. е. в виде формул. В част%
ном случае результат может быть и числом. Вычисления в символь%
ном виде отличаются большей общностью и позволяют судить о ма%
тематических, физических и иных закономерностях решаемых за%
дач. Системы компьютерной математики, выполняющие символь%
ные вычисления, принято называть системами символьной мате%
матики или системами компьютерной алгебры.
Такие системы снабжаются специальным процессором для выпол%
нения аналитических (символьных) вычислений. Его основой явля%
ется ядро, хранящее всю совокупность формул и формульных преоб%
разований, с помощью которых производятся аналитические вычис%
ления. Чем больше этих формул в ядре, тем надежней работа сим%
вольного процессора и тем вероятнее, что поставленная задача будет
решена, разумеется, если такое решение существует в принципе (что
бывает далеко не всегда).
Поддержка системой МаthCAD символьных вычислений придает
ей качественно новые возможности, которые отсутствовали у пре%
жних версий системы. Отметим, что символьные вычисления выпол%
няются в конечном счете столь же просто (для пользователя), как,
скажем, вычисление квадрата х.
Меню Symbolics
Команды, относящиеся к работе символьного процессора, содер%
жатся в меню Symbolics (символьные вычисления), показанном на
рис. 4.1.
Чтобы символьные операции выполнялись, процессору необходи%
мо указать, над каким выражением это должно проводиться, т. е.
надо выделить выражение (правила выделения неоднократно опи%
сывались ранее). Для ряда операций следует не только указать выра%
жение, к которому относится операция, но и наметить переменную,
относительно которой выполняется символьная операция. Само вы%
44
Рис. 4.1. Вид экрана системы с раскрытым меню Symbolics
ражение в таком случае не выделяется – ясно, что если выделена пе%
ременная какого%либо выражения, то символьная операция относит%
ся к этому выражению.
Символьные вычисления в командном режиме
Здесь рассматриваются только символьные вычисления, выпол%
няемые в командном режиме, т. е. те, которые реализуются коман%
дами меню Symbolics. Символьные вычисления в командном режиме
имеют два важных аспекта:
– они выполняются только над явными выражениями, поэтому при%
сутствие выражениях функций пользователя недопустимо;
– результат может выводиться ниже исходного выражения, спра%
ва от него или вместо него (способ вывода задается командой Evaluate
Style (стиль преобразований) меню Symbolics).
При выполнении символьных операций иногда приходится стал%
киваться с неприятной и трудной проблемой – «разбуханием» ре%
зультатов, как промежуточных, так и конечных. Решения, которые
хорошо известны профессиональному математику (и даже студенту),
система обычно выдает с блеском — именно в том виде, который при%
45
веден в справочнике или учебнике. Примером может служить реше%
ние квадратного уравнения или вычисление простого неопределен%
ного интеграла.
Но иногда даже незначительное усложнение задачи может поро%
дить очень сложное и громоздкое решение. Примером может служить
решение в общем виде кубического уравнения или алгебраического
уравнения четвертой степени. В этом случае решение (по запросу си%
стемы) можно поместить в буфер обмена и использовать его для оцен%
ки пользователем (но не для дальнейших преобразований системой в
автоматическом режиме).
Символьные операции с выделенными выражениями
С выделенными выражениями допустимы следующие операции:
– Evaluate (вычислить) – преобразовать выражение с выбором вида
преобразований из подменю;
– Simplify (упростить) – упростить выделенное выражение с вы%
полнением таких операций, как приведение подобных слагаемых,
приведение дробей к общему знаменателю, использование основных
тригонометрических тождеств и т. д.;
– Expand (разложить по степеням) – «раскрыть» выражение, на%
пример, для (X+Y)*(X–Y) получаем Х2 – Y2;
– Factor (разложить на множители) – разложить число или выра%
жение на множители, например, Х2–Y2 даст (X+Y)–(X–Y);
– Collect (разложить по подвыражениям) – собрать слагаемые,
подобные выделенному выражению, которое может быть отдель%
ной переменной или функцией со своим аргументом (результатом
будет выражение, полиномиальное относительно выбранного вы%
ражения);
– Polynomial Coefficients (полиномиальные коэффициенты) – найти
коэффициенты полинома относительно заданной переменной.
Символьные операции с выделенными переменными
С выделенными переменными можно также выполнять следую%
щие операции:
– Solve (решить) – решить уравнение или неравенство относитель%
но выделенной переменной, т. е. найти значения выделенной пере%
менной, при которых содержащее ее выражение становится равным
нулю;
– Substitute (подстановка) – заменить указанную переменную со%
держимым буфера обмена, т. е. обеспечить подстановку;
46
– Differentiate (дифференцировать) – дифференцировать все выраже%
ние, содержащее выделенную переменную, по отношению к этой пере%
менной (остальные переменные рассматриваются как константы);
– Integrate (интегрировать) – интегрировать все выражение, содер%
жащее выделенную переменную, по этой переменной;
– Expand to Series (разложить в ряд) – найти несколько членов
разложения выражения в ряд Тейлора относительно выделенной пе%
ременной;
– Convert to Partial Fraction (разложить на элементарные дроби) – разло%
жить на элементарные дроби выражение, которое рассматривается как ра%
циональная дробь относительно выделенной переменной.
Символьные операции с выделенными матрицами
В подменю Matrix (матричные операции) меню Symbolics имеются
следующие команды:
– Transpose (транспонировать) – получить транспонированную
матрицу;
– Invert (обратить) – получить обратную матрицу;
– Determinant (определитель) – вычислить детерминант (опреде%
литель) матрицы.
Символьные операции преобразований
В МаthCAD в подменю Transform (преобразование) меню Symbolics
собраны команды для выполнения преобразований:
– Fourier (преобразование Фурье) – выполнить прямое преобразо%
вание Фурье относительно выделенной переменной;
– Inverse Fourier (обратное преобразование Фурье) – выполнить
обратное преобразование Фурье относительно выделенной перемен%
ной;
– Laplace (преобразование Лапласа) – выполнить прямое преобра%
зование Лапласа относительно выделенной переменной (результат –
функция от переменной s);
– Inverse Laplace (обратное преобразование Лапласа) – выполнить
обратное преобразование Лапласа относительно выделенной перемен%
ной (результат – функция от переменной t);
– Z (Z%преобразование) – выполнить прямое Z%преобразование вы%
ражения относительно выделенной переменной (результат – функ%
ция от переменной z);
– Inverse Z (обратное Z%преобразование) – выполнить обратное
Z%преобразование относительно выделенной переменной (результат
– функция от переменной n).
47
Управление выводом результатов символьных операций
Для управления выводом результатов символьных операций слу%
жит команда Evaluation Style (стиль преобразования). Она задает, где
будет выведен результат – под исходным выражением, рядом с ним или
вместо него.
В представленных далее примерах исходные выражения размещены
в левой части документов, а результаты символьных вычислений – в
правой. Заметим, что блоки с результатами символьных операций пос%
ле выделения можно перетаскивать мышью в любое удобное место до%
кумента.
Выделение объектов символьных операций
Для проведения символьных операций нужно прежде всего выде%
лить объект, над которым эти операции выполняются. Если объект не
выделен, соответствующие команды меню Symbolics не доступны. Объек%
том для выполнения операции может быть самостоятельное математи%
ческое выражение, часть математического выражения или заданной
пользователем функции, результат предшествующей операции и т.д.
Как наметить объект, уже было сказано. Напомним только, что воз%
можны два вида выделений – пунктирными и сплошными линиями.
Чтобы выделить выражение пунктирной линией, достаточно устано%
вить указатель мыши (в виде крестика) на нужный объект, нажать кла%
вишу Ctrl или Shift и щелкнуть левой кнопкой мыши.
Можно поступить иначе – заключить один или несколько объектов в
рамку выделения. После отпускания кнопки мыши объекты оказыва%
ются выделенными – обведенными пунктирной линией.
Выделение пунктирной линией используется для перетаскивания
объектов в окне документа. Напоминаем, что нажатие клавиши F3 ве%
дет к переносу выделенных выражений в буфер обмена, а нажатие клави%
ши F4 – к вставке выражения из буфера на место, указанное курсором.
Для выполнения операций символьным процессором нужно выде%
лить объект (часть выражения или целое выражение) сплошной лини%
ей (синей на экране цветного дисплея). Для выделения некоторой пере%
менной в объекте нужно установить указатель мыши после этой пере%
менной и щелкнуть левой кнопкой. Переменная будет помечена синим
уголком, расположенным за переменной. Перемещая указатель мыши
над объектом при нажатой левой кнопке, можно выделить отдельные
части выражения или выражение целиком. Для выделения частей вы%
ражений полезно также использовать клавиши перемещения курсора
при нажатой клавише Shift.
48
Часть символьных операций производится с указанием на объект
(на выражение или его часть). Например, упрощение выражения требу%
ет такого указания на объект. Другие операции, такие как вычисление
производной или интеграла, требуют указания переменной, относитель%
но которой производится операция дифференцирования или интегри%
рования.
Если заданная операция невыполнима, система выводит в дополни%
тельном окне сообщение об ошибке или просто повторяет выделенное
выражение. Последнее означает, что операция задана корректно, но
результат не может быть получен (например, если делается попытка
разложить на множители объект, уже разложенный на множители или
не допускающий такого разложения в принципе).
Система МаthCAD поддерживает пять перечисленных типов символь%
ных операций, выполняемых над объектами – выделенными математи%
ческими выражениями. При этом под математическим выражением под%
разумевается как полная математическая формула, так и функциональ%
но полная часть какой%либо формулы. Далее представлено описание
символьных операций над выражениями.
Выполнение символьных вычислений
Подменю Evaluate (вычислить) содержит следующие команды (см.
рис. 4.1):
– Symbolically (в символьном виде) – выполнить символьное вычис%
ление выражения;
– Floating Point (с плавающей точкой) – выполнить арифметические
операции в выражении, результат которого должен быть представлен в
форме числа с плавающей точкой;
– Complex (в комплексном виде) – выполнить вычисление с пред%
ставлением результата в комплексном виде.
Команда Evaluate > Symbolically является наиболее важной. Назна%
чение других команд очевидно: они нужны, если результат требуется
получить в форме комплексного или действительного числа.
Команда Symbolically
Команда Evaluate > Symbolically обеспечивает обработку математи%
ческих выражений, содержащих встроенные в систему функции. При
этом выражение может быть представлено в различном виде: полино%
миальном, дробно%рациональном в виде сумм, произведений, производ%
ных, интегралов и т.д. Данная символьная операция стремится произ%
вести все возможные числовые вычисления в представить выражение в
49
Рис. 4.1. Вид экрана системы с раскрытом меню Symbolics
1234564789
7678888888888888887847
sin 2
sin( 1)
asin( 2)
n
2
n
d
sin( x)
dx
x
sin( t)
dt
t
sin( 1)
1
i ln 2
2
1 3 1 2
n
n
2
3
3
1
n
6
cos ( x)
Si( x)
0
Рис. 4.2. Действие операции Evaluate > Symbolically
50
наиболее простом виде. Возможно также выполнение этой операции над
матрицами с символьными элементами. Производные и определенные
интегралы, символьные значения которых вычисляются, должны быть
представлены в своей естественной форме.
Перед выбором команды Evaluate > Symbolically не забудьте выделить
выражение. На рис. 4.2 показаны типовые примеры действия команды
Evaluate > Symbolically.
На рисунке слева показаны исходные выражения, подвергаемые сим%
вольным преобразованиям, а справа – результаты этих преобразова%
ний. В таком виде представлены и другие примеры этой главы.
Эта команда – одна из самых мощных. Как видно на рис. 4.2, она
позволяет в символьном виде вычислять суммы и произведения рядов,
производные и неопределенные интегралы. Ее можно использовать и
для выполнения символьных и числовых операций с матрицами, о чем
речь пойдет позже.
Команда Floating Point
В МаthCAD имеется возможность выполнения обычных числовых
вычислений с повышенной точностью – до 20 знаков после десятичной
точки. Для перехода в такой режим вычислений числовые константы в
вычисляемых объектах нужно задавать с обязательным указанием де%
сятичной точки, например, 10.0 или 3.0, а не 10 или 3. Этот признак
является указанием на проведение
вычислений данного типа.
Команда Evaluate > Floating Point
практически лишена ограничения на
количество цифр результата. Точнее
говоря, она может дать результат с
4000 верными цифрами. При выбо%
ре этой команды появляется окно, в
Рис. 4.3. Вид установки
котором надо задать число цифр ре%
точности вывода
зультата от 1 до 4000 (рис. 4.3).
численных результатов
Упрощение выражений
Команда Simplify (упростить) позволяет выполнить одну из самых важ%
ных символьных операций, которая позволяет упрощать математические
выражения, содержащие алгебраические и тригонометрические функции,
а также выражения со степенными многочленами (полиномами).
Упрощение означает замену сложных фрагментов выражения бо%
лее простыми. Приоритет тут отдается простоте функций.
51
123456789
49216
82
1234564789
767888888888888888888888888888888888888888888888888888888887847
sin( x) 2
1
cos ( x) 2
5
5
x
5
(x
1)
2
2
a b
( a b) ( a
(x
6
1)
2
(x
2
x
4
1)
3
(x
1)
4
5
x (x
1)
4
1
b)
d
sin( x)
dx
cos ( x)
1
sin( x)
dx
x
a
Si( 1) a
0
1
Psi ( x)
x
x
ln e
x
ln( exp( x) )
Рис. 4.4. Действие команды Simplify
Эта команда открывает широкие возможности для упрощения
сложных и плохо упорядоченных алгебраических выражений. На
рис. 4.4 даны примеры применения команды Simplify.
Как видно из приведенных примеров, с помощью команды Simplify
можно выполнять символьные вычисления производных и опреде%
ленных интегралов. Результатом вычислений могут быть специаль%
ные математические функции (см. пример, в котором символьное зна%
чение интеграла дает результат, выраженный через интегральный
синус).
Вычисление производных
С помощью команды Simplify вполне возможно вычисление произ%
водных как первого, так и высшего порядков. На рис. 4.5 показано
последовательное применение команды Simplify для вычисления про%
изводных алгебраического выражения – от первой до пятой включи%
тельно.
Как видно на рис. 4.5, для вычисления производных с помощью
команды Simplify запись производных надо задать в явном виде – с
применением операторов вычисления производных.
52
1234564789
76788888887847
3
1
d
dx ( 3 x
2)
1
d d
(
3
x
dx dx
( 3 x 2)
18
2)
1
d d d
dx dx d x ( 3 x
( 3 x 2)
162
2)
1
d d d d
(
3
x
dx dx d x d x
(3 x
2)
2
3
4
1944
2)
1
d d d d d
dx dx d x d x d x ( 3 x
(3 x
2)
5
29160
2)
(3 x
2)
6
Рис. 4.5. Вычисление производных алгебраических выражений
с порядком от 1 до 5
1234564789
7678888888888888888888888888888888887847
2
1
1 x
1
2
2
y
x
0
0
a
b
(a
0
x
1
1
x)
2
d y dx
1
ln 2
4
1
2
1
3
b a
4
1
3
b a
12
1
(b
y)
d y dx
b
a
1 y
1
12
x dz d y dx
0
2
2
x
4
0
4 cos
2
p
0
0
sin
dp d
d
2
0
Рис. 4.6. Вычисление двойных и тройных определенных интегралов
53
Вычисление интегралов
Система МаthCAD содержит встроенную функцию для вычисле%
ния значений определенных интегралов приближенным численным
методом. Ею целесообразно пользоваться, когда нужно просто полу%
чить значение определенного интеграла в виде числа. С другой сторо%
ны, команда Simplify применительно к вычислениям определенных
интегралов делает гораздо больше – она ищет аналитическое выра%
жение для интеграла. Более того, она способна делать это и при вы%
числении кратных интегралов, пределы которых – функции. Нагляд%
ный пример этому дает рис. 4.6.
Как и в случае с вычислением производных, вычисление интегра%
лов командой Simplify требует записи вычисляемых интегралов в яв%
ном виде – с применением шаблонов интегралов.
Вычисление сумм и произведений
Применение команды Simplify для вычисления сумм и произведе%
ний символьных последовательностей показано на рис. 4.7. Резуль%
тат операции, как и следовало ожидать, получается в символьной
форме (если таковая существует).
1234564789
767888888888888888887847
j
2
j
2
i
i
1
(2 k
k
1)
1
4
2
1
k
k
(2 k
2
k
(k
1
2
1 k
Psi ( 1 k )
2
k
Psi
1)
2
k
(1 k)
4 2
(
k)
k
2
(k)
1)
(k
1)
k
sin ( x )
2
cos ( x )
2
1
x
Рис. 4.7. Символьные операции с суммами и произведениями
54
При вычислении суммы и произведения, так же как и при вычис%
лении интегралов, их надо задавать в явном виде.
Расширение выражений
Действие команды Expand (разложить по степеням) в известном
смысле противоположно действию команды Simplify. Подвергаемое
преобразованию выражение «расширяется» с использованием извес%
тных соотношений. Разумеется, расширение происходит только в
том случае, когда его результат однозначен, иначе нельзя считать,
что действие этой команды противоположно действию команды
Simplify. К примеру, команда Simplify преобразует сумму квадратов
синуса и косинуса в 1, тогда как обратное преобразование многознач%
но и потому в общем виде невыполнимо.
При преобразовании выражений командой Expand система стара%
ется более простые функции представить через более сложные, свес%
ти алгебраические выражения, представленные в сжатом виде, к вы%
ражениям в развернутом виде и т.д. Примеры действия команды
Expand даны на рис. 4.8.
1234564789
767888888888888888887847
sin( 5 x)
16 sin( x) cos ( x)
(x
y) ( x
(3
4 cos ( 2 a)
8
2
y)
1
cosh ( 2 x)
(a
b
(a
b)
(a
c)
5
b)
1
2
n
n
a
a
2
5
2 cos ( a)
2
2 a b
4
5 b a
n
(a
2
sin( x)
y
2 cosh ( x)
2
12 sin( x) cos ( x)
2
x
cos ( 4 a) )
4
b)
2
cos ( a)
4
1
2 a c
3
10 a
2
b
2
b
2 b c
3
10 b
c
2
a
2
5 a b
4
5
b
n
1
( n)
2
Рис. 4.8. Действие команды Expand
Последний пример на этом рисунке показывает, что результа%
том операции может быть специальная математическая функция,
55
которая считается более сложным выражением, чем порождающее
ее выражение. Однако выражения со специальными математичес%
кими функциями обычно выглядят гораздо проще, чем исходные
оказывается равнозначной формой самого выражения, т. е. он, по
существу, бесполезен. Здесь поведение МаthCAD является более
корректным.
Разложение выражений
Команда Factor (разложить на множители) используется для факто%
ризации – разложения выражений или чисел на простые множители.
Она способствует выявлению математической сущности выражения,
например, наглядно выявляет представление полинома через его дей%
ствительные корни, а в том случае, когда разложение части полинома
содержит комплексно%сопряженные корни, порождающее их выраже%
ние представляется квадратичным трехчленом. Примеры действия этой
команды даны на рис. 4.9.
1234564789
7678888888888888887847
2
x
1
y
2
(x
2 cos ( a)
2
a
n
2
2
2 a b
1 3
cos ( a)
y) ( x
( cos ( a)
(a
b
x
4
b)
n (x
n
1)
y)
2
( cos ( a)
1)
2
2
1)
n
3
x
3
x
4
x
3
x
2
6 x
2
6 x
11 x
21 x
6
52
(x
(x
1) ( x
4)
x
x (x
1
(x
123456
123456789
6
2
2
3
1)
2) ( x
3)
2 x
13
2
x
2
1)
x
2
x
x
x
1
1
3 643
3803 3607
Рис. 4.9. Действие команды Factor
В большинстве случаев (но не всегда) операция факторизации ве%
дет к упрощению выражений. Термин «факторизация» не является
общепризнанным в отечественной математической литературе, но мы
56
его оставляем в связи с созвучностью англоязычному названию этой
операции.
В МаthCAD разложение чисел на простые множители записывает%
ся как произведение множителей, причем повторяющиеся n раз мно%
жители записываются в степени n. В прежних версиях это правило
также соблюдалось, но каждый множитель со своей степенью запи%
сывался в круглых скобках.
Разложение по подвыражениям
Команда Collect (разложить по подвыражениям) обеспечивает за%
мену указанного выражения выражением, скомплектованным по
базису указанной переменной, если такое представление возможно.
Эта команда особенно удобна, когда заданное выражение есть функ%
ция ряда переменных и нужно представить его в виде функции задан%
ной переменной, имеющей вид степенного многочлена. При этом дру%
гие переменные входят в сомножители указанной переменной, пред%
ставленные в порядке уменьшения ее степени. Примеры действия этой
команды показаны на рис. 4.10.
Рис. 4.10. Действие команды Factor
В том случае, когда комплектование по базису указанной пере%
менной невозможно, система выдает сообщение об этом (см. рис. 4.10,
внизу).
57
Вычисление коэффициентов полиномов
Команда Polynomial Coefficients (полиномиальные коэффициен%
ты), в ранних версиях МаthCAD отсутствовавшая, служит для
вычисления коэффициентов полинома. Команда применяется, если
заданное выражение – полином (степенной многочлен) или может
быть представлено таковым относительно выделенной переменной.
Примеры применения этой команды показаны на рис. 4.11.
1234564789
767888888888888888887847
d
3
2
a x
b x
c x
c
d
b
a
2
b
(a
b) ( a
b)
0
1
1
3
4 x
2
3 x
2 x
1
2
3
4
Рис. 4.11. Примеры применения команды Polynomial Coefficients
Результатом операции является вектор с коэффициентами поли%
нома. Данная операция полезна при решении задач полиномиаль%
ной аппроксимации и регрессии.
Операции относительно заданной переменной
Следующая группа символьных операций выполняется с выра%
жениями, требующими указания переменной, по отношению к
которой выполняется операция. Для указания переменной доста%
точно установить на ней курсор. Само выражение в этом случае
выделять не надо, поскольку выделение в нем переменной являет%
ся одновременно и указанием на само выражение. Если выраже%
ние содержит другие переменные, то они рассматриваются как кон%
станты. Изучим команды этой группы, начиная с команды диффе%
ренцирования.
58
Дифференцирование
Нахождение символьного значения производной – одна из самых
распространенных задач в аналитических вычислениях. Команда
Variable > Differentiate (переменная > дифференцировать) дифферен%
цирует выражение по той переменной, которая указана курсором.
Для вычисления производных высшего порядка (свыше 1) нужно
повторить вычисление необходимое число раз. Применение опера%
ции дифференцирования показано на рис. 4.12.
1234564789
7678888888888887847
sin( x)
sin( 1) sin( x)
b
log a x
(x
x e
1
1)
x cos ( x)
x
cos ( x)
sin( 1) cos ( x)
b
( x ln( 10) )
x cos ( x)
exp( x)
x
e
( x) x2
sin( x)
( x) x2
Psi ( x)
1
1)
cos ( x)
(x
1)
x sin( x)
x exp( x)
exp( x) sin( x)
2
erf ( x)
(x
(1
exp( x) ) cos ( x)
2
( x) x
exp x2
2
J ( 1 x)
&where
d
J ( t2 x) ( t2
dx
1)
Рис. 4.12. Пример символьного дифференцирования
В трех последних примерах на рис. 4.12 показано, что в выраже%
ния, производная которых вычисляется, могут входить встроенные
в систему специальные математические функции, которые появля%
ются и в результатах вычислений.
Если результат вычисления производной представляется в виде фун%
кций, содержащихся в ядре символьных операций системы, но недо%
ступных символьному процессору, то он помещается в буфер обмена.
Его можно вызвать из буфера командой Paste (вставить). Такой резуль%
тат нельзя использовать в других операциях прямо, но он вполне под%
ходит для творческого осмысления пользователем. Именно пользова%
тель должен решать, полезен результат или нет.
59
Интегрирование
Другая, не менее важная операция при символьных вычислениях
– вычисление интегралов (или нахождение первообразных) для ана%
литически заданной функции. Для этого используется команда
Variable > Integrate (переменная >интегрировать). Она возвращает
символьное значение неопределенного интеграла по указанной мар%
кером ввода переменной. Выражение, в состав которого входит пере%
менная, является подынтегральной функцией.
Примеры символьного интегрирования по переменной x показаны на
рис. 4.13. Визуализация таких вычислений (как и описанных ранее),
прямо скажем, ненаглядна – если бы не поясняющие текстовые ком%
ментарии, было бы совсем неясно, откуда берутся выражения в доку%
менте и результаты чего они представляют.
1234564789
76788888888887847
sin( x)
cos ( x)
( n 1)
x
(n
n
a x
ln( x)
2
x
3
sinh( x)
2 x erf ( x)
sin( x)
x
x
x e
e
x
sinh( x)
1
2
2
x
ln( x)
2
x
a
1)
3
x
3 x ln( x)
cosh ( x)
2
erf ( x)
6 x ln( x)
2 x sinh( x)
1
2
x
2
2
x
2
exp x
2 cosh ( x)
1
4
1
2
erf ( x)
1
2
Si( x)
x exp( x)
exp( x)
1
cosh ( x) sinh( x)
2
1
2
2 atanh
1
x
2
1
x
2
1
2
cosh ( x)
2
2
Рис. 4.13. Примеры символьного интегрирования
60
6 x
Как и для операции дифференцирования, в состав исходных вы%
ражений и результатов символьного интегрирования могут входить
встроенные в систему специальные математические функции (см. два
последних примера на рис. 4.13).
Решение уравнений
Если задано некоторое выражение F(x) и выделена переменная x,
команда Variable > Solve (переменная > решить) возвращает символь%
ные значения указанной переменной x, при которых F(x)=0. Это очень
удобно для решения алгебраических уравнений, например квадрат%
ных и кубических, а также для вычисления корней полинома. На
рис.4.14 показаны примеры решения квадратного уравнения и на%
хождения комплексных корней полинома четвертой степени.
1232452667892
152566174245
А
( SolveforVariable)
2
a x
b x
c
12324526789
94
1
1
b
( 2 a)
1
b
( 2 a)
4
x
3
9 x
2
b
2
b
2
31 x
2
4 a c
85
2
1
2
4 a c
59 x
60
4
(x
2 i
1
2 i
4) ( x
52452672746
74265496282
3
1
9842456862
2245
3)
2
x
2 x
5
975956892456 6549
Рис. 4.14. Примеры решения уравнений
Ранее отмечалось, что усложнение уравнения, например переход от
квадратного уравнения к кубическому, может вызвать существенное
усложнение результата. В этом случае система представляет решение в
61
более компактном виде (но без общепринятой математической симво%
лики) и предлагает занести его в буфер обмена.
С помощью команды Paste (вставить) меню Edit (правка) можно
перенести решение в основное окно системы, но оно окажется тексто%
вым комментарием (а не математическим выражением) и не будет
пригодно для дальнейших преобразований. Впрочем, часть решения
(опять%таки с помощью буфера обмена) можно ввести в формульные
блоки для последующих преобразований и вычислений.
Подстановка
Команда Variable > Substitute (переменная > подстановка) возвра%
щает новое выражение, полученное путем подстановки вместо ука%
занной переменной некоторого другого выражения. Последнее долж%
но быть подготовлено и помещено (командой Cut (вырезать) или Copy
(копировать)) в буфер обмена. Наряду с получением результата в сим%
вольном виде эта команда позволяет найти и численные значения
функции некоторой переменной путем замены ее аргумента число%
вым значением. На рис. 4.15 представлены примеры операций под%
становки.
123452678619
96253664596525459
25356
69
9363956 Copy)
y a
3
x
(y
2
2 x
a)
3
9
9562535
1
2 (y
a)
2
25356956456x66(y-a)
1
1259299562535695694
6 Simplify
y
3
3 y
2
a
3 y a
2
a
3
2 y
2
4 y a
2 a
2
1
12345268619
96 3664596525459
25356 36
69
!993
2
3
x
17
2
2 x
1
9
956 3549562535
"569
93
Рис. 4.15. Примеры операций подстановки
Разложение в ряд Тейлора
Команда Variable > Expand to Series (переменная > разложить в
ряд) выполняет разложение выражения в ряд Тейлора относительно
62
выделенной переменной с заданным по запросу числом членов ряда n
(число определяется по степеням ряда). По умолчанию n=6. Разло%
жение возможно для функции заданной переменной. В разложении
указывается остаточная погрешность. Применение этой операции для
разложения функции sin(x)/x покзано на рис. 4.16. Минимальная
погрешность получается при малых значениях x (см. графическое
представление функции и ряда Тейлора для нее). Вообще говоря, эта
команда дает разложение в ряд в точке x=0, именуемое также рядом
Маклорена.
12345678479
976
9698449
sin( x)
1
x
1
2
x
6
1
120
4
5
x
O x
5
78479
498449949
976
sin( x)
F1 ( x)
x
F2 ( x)
1
2
1
1
1
2
x
6
120
4
x
x
4
3.9 4
1
F1( x)
0.5
F2( x)
0
0.5
4
3
0
1
2
3
4
x
Рис. 4.16. Пример разложения функции в ряд Тейлора
Символьные операции нередко можно комбинировать для реше%
ния сложных задач. Решение одной из таких задач – вычисление оп%
ределенного интеграла, который не берется в явном виде, иллюстри%
рует рис. 4.17.
Если пользователя интересует просто численное значение интег%
рала, надо лишь поставить после интеграла знак вывода =, и значе%
ние интеграла будет вычислено адаптивным численным методом Сим%
псона. Однако попытка вычислить такой интеграл с помощью ко%
манды Simplify (упростить) окажется неудачной: после долгих попы%
ток система сообщит, что интеграл в явном виде не берется.
Прием, который иллюстрирует рис. 4.17, заключается в замене
подынтегральной функции ее разложением в ряд Тейлора. Вначале
63
123245467894
35234724472
85267464923434743
6757454
3343
774 Simplify
4
76824495
9
4243 74
387294
9746484!3454"#474$5%4
7 &
1
2
e
cos ( x)
dx
1.30522
0
e
cos ( x)
exp( 1)
1
2
exp( 1) x
2
1
4
exp( 1) x
6
31
6
exp( 1) x
720
379
8
exp( 1) x
40320
10
O x
'4
3343
74 Copy 474 Paste4
3852674
6424
85269744645264
387234977
1
2
exp( 1)
1
2
exp( 1) x
2
1
4
exp( 1) x
6
31
6
exp( 1) x dx
720
0
309761
exp( 1)
645120
1.30521
!
43
74 Simplify4
36324675724
(232472
Рис. 4.17. Взятие определенного интеграла в символьной форме с заменой
подынтегральной функции ее разложением
получили такое разложение с избытком – для 10 членов ряда (однако
учтенных нечетных членов здесь нет, такова специфика функции).
Далее, выделив четыре первых реальных члена и используя команды
Copy (копировать) и Paste (вставить) меню Edit (правка), поместили
это разложение на место шаблона подынтегральной функции. Те%
перь проблем с вычислением интеграла с помощью команды Simplify
не будет.
Интеграл получен в форме е=ехр(1), помноженной на дробный
множитель, представленный в рациональной форме (отношения це%
лых чисел). Это обстоятельство, возможно, бесполезное для рядово%
го пользователя, наверняка будет весьма положительно воспринято
«истинным» математиком, поскольку здесь напрашиваются опреде%
ленные аналитические выводы, которые нельзя сделать при вычис%
лении интеграла численными методами.
Разложение на правильные дроби
Команда Variable > Convert to Partial Fraction (переменная > разло%
жить на элементарные дроби) возвращает символьное разложение
выражения, представленное относительно заданной переменной в
виде суммы правильных дробей. На рис. 4.18 даны примеры такого
разложения.
64
1234564789
7678888888888887847
(a
b)
1
c
( x a) ( x b) ( x c)
( x a)
4
(x a
x2
3
x
4
x
b)
2
2
x
5
5
x
x ( x 1) 4
(x
x ( x b)
a)
x2
c
a
b
c
a
1
( b c) x
c
( a
4
2
b
c) x
3
a x
2
a x
6
( 2 a
2
b) x
4
( x 1)
[a b
2
( a
b)
( x 1)
(b
b c
b) c ] x a b c
4
a x
4
6
4
( a
3
a
2
5
3
( x 1)
a)
b2 ( x
5
2
(x 1)
( b c
b)
c a
c c
b2
x c
x2
x b a)
c
Рис. 4.18. Примеры разложения на дроби
Как видно из представленных примеров, применение этой опера%
ции в большинстве случаев делает результат более длинным, чем ис%
ходное выражение. Однако он более нагляден и содействует выявле%
нию математической сущности исходного выражения.
Матричные операции
Символьный процессор системы МаthCAD обеспечивает проведе%
ние в символьном виде трех наиболее распространенных матричных
операций: транспонирование, создание обратных матриц, а также
вычисление их детерминанта. Эти команды в подменю Matrix меню
Symbolics обозначены так: Transpose (транспонировать), Invert (об%
ратить) и Determinant (определитель). Если элементы матрицы – чис%
ла, то соответствующие операции выполняются в числовой форме.
Транспонирование матрицы означает перестановку строк и столб%
цов. Оно реализуется командой Transpose. Подлежащая транспони%
рованию матрица должна быть выделена.
Обращение матрицы означает создание такой матрицы А–1, кото%
рая при умножении на исходную матрицу А дает единичную матри%
цу, т. е. матрицу с диагональными элементами, равными 1, а осталь%
ными – нулевыми. Обращение допустимо для квадратных матриц
размерностью N x N, где N >1 (N – количество строк и столбцов матри%
цы). Такую же размерность имеет и обращенная матрица.
Обращение матриц – широко распространенная математическая
задача. Существует множество программ на разных языках програм%
мирования, с той или иной степенью успеха решающих ее. Для
МаthCAD – это рутинная задача. На рис. 4.19 приведены примеры
выполнения типовых матричных операций. Последняя из них — об%
65
a b
a c
c d
b d
a b
(a d
123456728927
3493829 Transpose
Matrix)
d
c d
c
(a d
a b
c d
a
b c) ( a d
234938295
59
7494839
(Invert Matrix)
b c)
b c 9549829434833829
(Determinate of Matrix)
3
2
2
234938295957
9
48399
954982943483
1
1
2
3 4
3 4
b c)
a d
1 2
1 2
b
b c) ( a d
2
Рис. 4.19. Примеры матричных операций в символьной форме
ращение матрицы в символьном виде с помощью команды Matrix >
Invert.
При выполнении матричных операций в символьной форме про%
блема «разбухания» результатов становится весьма серьезной. Если,
к примеру, для обратной матрицы размерностью 2х2 или 3х3 еще
можно получить ответ, помещающийся в окне документа, то для
матриц большего размера это становится невозможным. Впрочем,
большинство аналитических задач очень редко оперирует такими
матрицами.
Команды преобразований
Для выполнения широко распространенных в технических и на%
учных приложениях преобразований Фурье (Fourier и Inverse Fourier),
Лапласа (Laplace и Inverse Laplace) и Z%преобразований (Z и Inverse Z)
служат соответствующие команды в подменю Transform (преобразо%
вание) меню Symbolics.
Для выполнения этих команд следует записать исходное выраже%
ние и выделить в нем переменную, относительно которой будет про%
изводиться преобразование, только после этого указанные команды
становятся доступными.
Простейшие примеры их выполнения приведены на рис. 4.20.
66
123456788888888889
78
368888
38
36
a t
1
2 i a
exp
t
1
Dirac 1
exp
12
a t
t
1
exp
t
s
a n
z
a
(z
1)
2
a n
Z
36
Рис. 4.20. Примеры преобразования Фурье, Лапласа и ZRпреобразования
Не следует полагать, что для всех случаев результаты преобразо%
вания будут в точности совпадать со справочными, и что результат
двойного преобразования (вначале прямого, а затем обратного) при%
ведет к первоначальной функции. Указанные преобразования доволь%
но сложны, и грамотное их применение требует соответствующих
математических знаний.
Вопросы для проверки знаний
1. Как выполнять символьные (аналитические) вычисления?
2. Как выполнять символьные операции с помощью команд меню
Symbolics?
3. Как выполнять в символьном виде матричные операции?
4. Как решать линейные и нелинейные уравнения и системы с
ними?
5. Как решать уравнения и неравенства?
6. Как выполнять различные преобразования математических
выражений?
7. Как вычислять производные и интегралы в аналитическом виде?
8. Как выполнять подстановки для переменных и подвыражений;
выполнять разложение функций в ряд Тейлора?
9. Как выполнять интегральные преобразования Фурье, Лапласа
и Z%преобразования?
10. Как изменить стиль вывода результатов символьных преобра%
зований?
11. Как выводить комментарии к символьным операциям?
67
5. ВЕКТОРНЫЕ И МАТРИЧНЫЕ ОПЕРАЦИИ
Работа с массивами, векторами и матрицами
Типы массивов
Ранжированная переменная отличается от вектора тем, что не%
возможно использование ее отдельных значений, скажем, второго
или пятого, – она существует «вся сразу», к отдельным ее значениям
доступа нет. При необходимости иметь доступ к каждому значению
переменной с несколькими компонентами она должна быть задана в
виде массива – одномерного (вектора) или двумерного матрицы. До%
ступ означает, что каждому элементу вектора или массива может быть
присвоено значение и к каждому элементу можно добраться для счи%
тывания этого значения. Так, элементами вектора, например V, яв%
ляются индексированные переменные Vi.
Массивы могут содержать как числовые, так и символьные дан%
ные:
–
2
4
– вектор%столбец с числовыми данными;
8
– (a b+c d) – вектор%строка с символьными данными;
–
sin(1)
1
1
a b
0
1
0
1
cos(1)
– матрица с элементами различного типа.
В МаthCAD 2001 векторы и матрицы отображаются не в квадрат%
ных скобках, как это было в прежних версиях МаthCAD, а в длин%
ных скругленных скобках. Таким образом, исключается возможность
отождествления векторов с таблицами значений ранжированных
переменных.
Примечание. МаthCAD позволяет использовать одномерные и дву%
мерные массивы%векторы и матрицы. Применение многомерных мас%
сивов не предусмотрено. Однако элементами матриц в ряде случаев
могут быть векторы и матрицы, что по существу означает возмож%
68
ность имитации и многомерных массивов. Однако надо учитывать,
что в части работы с массивами большого размера (в том числе много%
мерными) значительными преимуществами обладает матричная си%
стема MATLAB. В МаthCAD есть средства для совместной работы с
этой системой.
Использование индексированных переменных
В МаthCAD массив, как и любая другая переменная, задается име%
нем. Местоположение элемента задается одним индексом для векто%
ра или двумя индексами для матрицы. Нижняя граница индексации
определяется системной переменной ORIGIN, которая может прини%
мать значение 0 или 1 (по умолчанию ее значение равно 0). Индексы
могут быть только целыми положительными числами (и нулем).
Для ввода индекса используется знак [ – прямая открывающаяся
скобка. Не следует путать индексированные переменные со скаляр%
ными переменными, имеющими индекс в своем имени. Например,
ток I1, где нижний индекс имени означает просто «первый ток», ток
в ветви 1 некоторой электрической схемы. Подобные индексы – ин%
дексы в имени переменной – вводятся с помощью точки, причем си%
ний уголок курсора ввода при этом охватывает все имя, а не только
область ввода индекса. К сожалению, индексированные переменные
и переменные с индексами в имени на экране дисплея плохо различи%
мы: единственное отличие состоит в том, что индекс в имени скаляр%
ной переменной с индексом зрительно отделен от собственно имени
пробелом, т. е. он находится правее, чем индекс индексированной
переменной. Выглядит это примерно так:
– x1 – скалярная переменная с индексом;
– x1 – индексированная переменная.
Элементы матриц также являются индексированными перемен%
ными, имена которых совпадают с именами матриц. Например, мож%
но задать следующую матрицу:
a
M:
1
0
1 a b 1 .
0
1
b
В этом случае указывают два индекса: один – для номера строки,
другой – для номера столбца. Например, если ORIGIN=0, средний эле%
мент указанной матрицы М обозначается как М1,1, а правый нижний
– как М2,2.
69
Ввод элементов векторов и матриц
Векторы и матрицы можно задавать путем ввода их элементов –
индексированных переменных. Для указания подстрочных индек%
сов после имени переменной вводится знак открывающей квадрат%
ной скобки.
Вводимые символы
Отображаемое значение
V3 [ 2 :
V32 :=
Для элементов матрицы подстрочные индексы вводятся анало%
гично с разделением их запятыми.
Вводимые символы
Отображаемое значение
V3 [ 1,2 :
V31,2 :=
Для задания векторов и матриц можно либо воспользоваться коман%
дой Matrices (матрицы) меню Math (вычисления), либо нажать комби%
нацию клавиш Ctrl+V, либо щелкнуть по кнопке с изображением шаб%
лона матрицы. Любое из этих действий вызывает появление диалогово%
123456789
822
97957
V0
j
1
V1
0 2
M0 j i
i
2
V3
2
V
1
2
0
2
0 2
0 0 0
0
M0
0 0 0
0 0 0
736
6546
j
1 0 0
M1 j i
if ( i
j 1 0)
M1
0 1 0
0 0 1
Mi j
2
i
M1 1
0
M1 2
5
j
59596
6546
i
0
0
1
1
2
2
2
0 1 4
M2 2
0
M
1 0 5
1234567896
6546
4 5 0
Рис. 5.1. Применение ранжированных переменных для задания массива
70
го окна, в котором надо указать размер матрицы, т. е. количество ее
строк m и столбцов n. Для векторов один из этих параметров должен
быть равен 1. При n=1 получим вектор%строку, а при n=1 – вектор%стол%
бец. Матрица является двумерным массивом с числом элементов m n.
Задание векторов и матриц
В отношении индексированных переменных действуют те же пра%
вила присваивания и вывода, что и для обычных переменных. В час%
тности, с помощью оператора присваивания можно создать массив
(вектор или матрицу) заданного размера и заданного типа без ручно%
го заполнения их шаблонов (рис. 5.1).
Вариант отображения массива в виде обычной матрицы показан
на рис. 5.1. Возможен также вариант отображения в виде электрон%
ной таблицы, которая имеет полосы прокрутки, обеспечивая пред%
ставление массивов больших размеров.
Векторные и матричные операторы
Для работы с векторами и матрицами система MathCAD поддер%
живает ряд операторов и функций. Вначале рассмотрим операторы,
придерживаясь следующих обозначений: для векторов – V, для мат%
риц – M, для скалярных величин – Z.
Оператор
Kлавиши
Описание
V1+V2
V1+V2
Сложение векторов V1 и V2
V1–V2
V1–V2
Вычитание векторов V1 и V2
–V
–V
Смена знака у элементов вектора V
–М
–M
Смена знака у элементов матрицы М
V–Z
V–Z
Вычитание скаляра Z из всех элементов вектора V,
Z*V, V*Z
Z*V, V*Z
Z*M, M*Z
Z*M, M*Z
V1*V2
V1*V2
M*V
M*V
M1*M2
M1*M2
VZ
V/Z
Деление всех элементов вектора V на скаляр Z
MZ
M/ Z
Деление матрицы М на скаляр Z
M–1
M^1
Обращение матрицы М
Умножение вектора V на скаляр Z
Умножение матрицы М на скаляр Z
Скалярное умножение векторов V1 и V2
Умножение матрицы М на вектор V
Умножение матриц M1 и М2
71
Продолжение табл.
Оператор
Kлавиши
Mn
M^n
Возведение матрицы М в степень n
|V|
|V
Вычисление модуля вектора V
||M|
M
VT
V Ctrl!
Транспонирование вектора V
MT
M Ctrl!
Транспонирование матрицы М
V1xV2
V
Описание
Вычисление определителя матрицы
V1 Ctrl * V2 Векторное умножение векторов V1 и V2
Ctrl $ V
Вычисление суммы элементов вектора V
V Ctrl –
Векторизация вектора V
M Ctrl –
Векторизация матрицы М
M<n>
M Ctrl^n
Выделение n%го столбца матрицы М
Vn
V[n
Выделение n%го элемента вектора V
Mn,m
M [ (m,n)
Выделение элемента (m,n) матрицы М
M
M Ctrl+T
Вставка рисунка, данные которого хранятся
в матрице М
V», M»
Получение комплексно%сопряженного вектора
или матрицы
Следует отметить, что в некоторых операторах для ввода исполь%
зуется клавиша Ctrl, тогда как в более ранних версиях системы
MathCAD использовалась клавиша Alt (в последней версии клавиша
Alt предназначена для активизации строки меню). Все представлен%
ные операторы (кроме последнего) могут вызываться из палитры мат%
ричных операций.
Оператор векторизации
Большинство приведенных операторов достаточно известны из
математического аппарата матричных вычислений. Под необычным
понятием «векторизация» подразумевается одновременное проведе%
ние некоторой скалярной операции над всеми элементами вектора
или матрицы, помеченными операторами векторизации. Это можно
понимать и как возможность параллельных вычислений.
Векторизация может изменить смысл математических выраже%
ний и даже превратить недопустимое в прежних версиях MathCAD
выражение во вполне допустимое. Например, если V – вектор, то вы%
ражение cos(V) будет недопустимым, поскольку аргументом функ%
72
ции cos может быть только скалярная переменная. Однако с опера%
тором векторизации функция cos(V) возвращает вектор, каждый эле%
мент которого есть косинус соответствующего элемента исходного
вектора V.
В MathCAD в качестве аргумента функции можно также задавать
векторы и матрицы. Таким образом, выражение cos(V), где V – век%
тор, становится допустимым и без применения оператора векториза%
ции. В последних версиях системы MathCAD – в подобных случаях
векторизация выполняется автоматически. Таким образом, в нашем
примере будет возвращен вектор, каждый элемент которого равен
косинусу соответствующего элемента вектора V.
Векторизация осуществляется помещением соответствующего
выражения под знак длинной стрелки. Если, к примеру, А и В –
векторы, то А·В дает скалярное произведение этих векторов. Но
это же произведение под знаком векторизации создает новый век%
тор, каждый j%й элемент которого есть произведение j%x элементов
векторов А и В.
Итак, векторизация позволяет использовать скалярные операто%
ры и функции с массивами. Нередко это заметно упрощает запись
математических алгоритмов, особенно для обеспечения параллель%
ных вычислений. Впрочем, параллельность относится не к самим
вычислениям, а лишь к их алгоритмической записи, поэтому от нее
вряд ли можно ожидать кардинального уменьшения времени выпол%
нения операций.
Векторные и матричные функции
MathCAD поддерживает также ряд встроенных векторных и мат%
ричных функций, которые облегчают решение задач линейной ал%
гебры и других сфер приложения векторов и матриц:
length(V) – возвращает число элементов вектора;
last(V) – возвращает номер последнего элемента;
max(V) – возвращает максимальный по значению элемент вектора
(или матрицы);
min(V) – возвращает минимальный по значению элемент вектора
(или матрицы);
Re(V) – возвращает вектор действительных частей вектора с ком%
плексными элементами;
Im(V) – возвращает вектор мнимых частей вектора с комплексны%
ми элементами;
e(i, j, k) – единичный полностью антисимметричный тензор тре%
тьего ранга, при этом i, j и k должны быть целыми числами от 0 до 2
73
(или от ORIGIN до ORIGIN+2, если ORIGINS); результат равен 0, если
любые два аргумента равны; 1 – если три аргумента являются четной
перестановкой (0, 1, 2); и –1, если три аргумента являются нечетной
перестановкой (0, 1, 2).
Матричные функции
Для работы с матрицами также существует ряд встроенных функций:
augment (M1, M2) – объединяет в одну две матрицы M1 и M2, име%
ющие одинаковое число строк (объединение идет «по горизонтали»);
identity(n) – создает единичную квадратную матрицу размером n n;
stack(Ml,M2) – объединяет «по вертикали» две матрицы M1 и M2,
имеющие одинаковое число столбцов;
submatix(A, ir, jr,1c,jc) – возвращает подматрицу, состоящую из всех
элементов, содержащихся в строках с ir по jr и столбцов с iс по jc (ir jr
и ic jc);
diag(V) – создает диагональную матрицу, элементы главной диа%
гонали которой равны элементам вектора V;
matrix(m,n,f) – создает матрицу, в которой (i, j)%й элемент равен
f(i.j), где j=0, 1, … m и j=0, 1, …, n; f(1,j) – некоторая функция;
Re(M) – возвращает матрицу действительных частей матрицы M с
комплексными элементами;
Im(M) – возвращает матрицу мнимых частей матрицы M с комп%
лексными элементами.
Функции, возвращающие специальные характеристики матриц
Следующие функции возвращают специальные характеристики
матриц:
cols(M) – возвращает число столбцов матрицы M;
rows(M) – возвращает число строк матрицы M;
rank(M) – возвращает ранг матрицы M;
tr(M) – возвращает след (сумму диагональных элементов) квад%
ратной матрицы M;
mean(M) – возвращает среднее значение элементов массива M;
median(M) – возвращает медиану элементов массива M;
cond1(M) – возвращает число обусловленности матрицы, вычис%
ленное в норме L1;
cond2(M) – возвращает число обусловленности матрицы, вычис%
ленное в норме L2;
conde(M) – возвращает число обусловленности матрицы, вычис%
ленное в норме евклидового пространства;
74
condi(M) – возвращает число обусловленности матрицы, основан%
ное на бесконечной норме;
norm1(M) – возвращает норму L1 матрицы M;
norm2(M) – возвращает норму L2 матрицы M;
norme(M) – возвращает евклидову норму матрицы M;
normi(M) – возвращает бесконечную норму матрицы M.
Примеры применения векторных
и матричных операторов и функций
Примеры использования наиболее распространенных векторных
операторов, описанных ранее, приведены на рис. 5.2.
MathCAD делает работу с векторами и матрицами столь же про%
стой, как и с обычными числами и переменными, что способствует
широкому применению векторных и матричных методов математи%
ческих вычислений в научно%технических и других расчетах.
Применение операторов для работы с матрицами показано на
рис. 5.3 и 5.4.
12345267689
5412
1
V
2
U
4
1
V1
V2
V3
4749437458348
12
6
4
V3
7
5
V1 V2
9
U
3
2
3
V3
V 3
2
V1
8
V1 V2
V
2
2
VSUM
V
VSUM
6
3
U
T
V
U
ln( V) U
0.693
1.099
length( V)
max( V)
3
3
last( V)
2
min( V)
1
"927
349!487
8727
123456728927
349
8723
( 1 2 3)
0
U
33499
5749
82
8727
2755 4749
82!484
8727
4
1
1
4749
8727
26
V4
V3
0
2
V4
V2
V
3.742
9549472
8723
U1
0.693
872939
8723
9549
582744
49
8723
Рис. 5.2. Применение операторов для работы с векторами
75
76
A
A
C
A
1
3
1 3 2
1 4
2 5
3 4
1 2
1
B
C
B
D
A
M
B
B
A
7 8
5 6
1
rows ( A)
D
A B
cols( A)
123245678923
24
2
577579564567
667366
54242
46456739
2
5
V
2 A
A
A1 1
i
B
VV
9
467
264567
92429592675347 A
2
572
527
1232456757
264567
2
57
!3245676354547
2
57"
#
24$
5
924567
2
57
123245672
57
7
2!6
4%72x3
Рис. 5.3. Примеры матричных операций (начало)
B
4 5
7 8
identity( 2)
M
tr ( M)
A
T
4 5 6
1 2 3
B
A
12345678949
57
799
A
1
exp( V)
3 4
1 2
B
A
VV
2
4
5
A
1
1
0
0
2i
2i
4
4
20.086
54.598
148.413
7 8
2
0.5
4
1
2.5
1
5
2
5i
5i
0
0
B
3
A2 1 3
5 6
A
2
A
V
8
10 12
6
3
1.5
6
3
1234567869
236
72
26772989
7869899
236
78936678
6
28896
29
48278694
9899989!
786989"967
7
9496 966936672
42678698 989636786
799
отсчет
636786922#29$256
9743%923&98
Рис. 5.4. Примеры матричных операций (конец)
B
8 10 12
2 4
4 5 6
6
A0 0
1 2 3
4
A 1
12345678949
57
799
77
3
3 6
2 5
1 4
3
2
1
0 0 1
0 1 0
0 0 1 3 6
0 1 0 2 5
847942
949
69
378479799
479
847979
49
63784797
98779!
88"9
479
1 0 0 1 4
0 0 1 3
0 1 0 2
1 0 0 1
1234567847943829
#84"
8479492
9
7
48438"9
8"9
429
12345678479567
94299529
4868296778
augment ( M1 M2)
augment ( M1 V)
identity( 3) M1
1
Рис. 5.5. Примеры применения матричных функций
(начало) суммы диагональных элементов
tr ( M1)
M2
V
M1
3 ORIGIN
1 0 0
8479429959!78599 2x3
2 cols( M)
4 5 6
1 2 3
rows ( M)
M
12345267682519
89698966
MC
8i 8
8i 8
5i 5
2i 2
9i
6i 6
3i 3
7i
4i
10
JK L i
8 9 0
5 6 7
2 3 4
7 8 10
4 5 6
1 2 3
1 3
7
4
1
9i
6i 6
3i 3
10
7i
4i
3664567829
5
Âûäåëåíèå
ìàòðèöû
- 7845872957829
57
ìíèìîé ÷àñòè
ìàòðèöû ÑÌ
3664567829
5
Âûäåëåíèå
ìàòðèöû
- 7369596472957
äåéñòâèòåëüíîé
829
57
÷àñòè
ìàòðèöû ÑÌ
Çàäàíèå
ìàòðèöû
12324567829
577
Ñ
Ì ñ êî ì ï ë å êñ í û ì è
786485768649285
ýëåìåíòàìè
Рис. 5.6. Примеры применения матричных
функций (конец)
5i 5
7
2i 2
RK L
L
J
4
1
1 3
Im ( CM)
Re ( CM) R
1 CM
MCK L
K
J
R
i
12345267682519
89698966
Ряд примеров применения наиболее распространенных матрич%
ных функций, которые появились также в последних версиях
MathCAD, приведен на рис. 5.5 и 5.6.
Дополнительные матричные функции
В профессиональные версии MathCAD 2001 PRO/Premium включен ряд
дополнительных матричных функций, которые перечислены далее:
eigenvals(M) – возвращает вектор, содержащий собственные зна%
чения матрицы M;
eigenvec(M,Z) – для указанной матрицы M и заданного собствен%
ного значения Z возвращает соответствующий этому собственному
значению вектор;
eigenvecs(M) – возвращает матрицу, столбцами которой являют%
ся собственные векторы матрицы M (порядок расположения собствен%
ных векторов соответствует порядку собственных значений, возвра%
щаемых функцией eigenvals);
genvals(M,N) – возвращает вектор обобщенных собственных зна%
чений vi, соответствующий решению уравнения M*x=vi*N*x (матрицы
M и N должны быть вещественными);
genvals(M,N) – возвращает матрицу, столбцы которой содержат
нормированные обобщенные собственные векторы;
lu(M) – выполняет треугольное разложение матрицы M: P*M=L*U, где L и
U – соответственно нижняя и верхняя треугольные матрицы; Р – матрица
перестановки; все четыре матрицы квадратные, одного порядка;
qr(A) – дает разложение матрицы A: A=Q*R, где Q – ортогональная
матрица, а R – верхняя треугольная матрица;
svd(A) – дает сингулярное разложение матрицы А размером nxm:
A=U*S*VT, где U и V – ортогональные матрицы размером mxm и nхn
соответственно; S – диагональная матрица, на диагонали которой
расположены сингулярные числа матрицы А;
svds(A) – возвращает вектор, содержащий сингулярные числа мат%
рицы А размером mxn, где min;
gemnv(A) – левая обратная к матрице А: LА=E, где E – единичная
матрица размером n n; L – прямоугольная матрица размером n m;
A – прямоугольная матрица размером mxn.
Функции сортировки для векторов и матриц
В системе MathCAD появились некоторые дополнительные функ%
ции сортировки – перестановка элементов векторов и матриц:
sort(V) – сортировка элементов вектора в порядке возрастания их
значений;
78
csort(M,n) – перестановка строк матрицы M таким образом, чтобы
отсортированным оказался п%й столбец;
rsort(M,n) – перестановка столбцов матрицы M таким образом,
чтобы отсортированной оказалась п%я строка.
С этими функциями часто используется функция reverse (V), из%
меняющая порядок расположения элементов вектора на противопо%
ложный (начиная с конца).
Примеры, иллюстрирующие работу некоторых дополнительных
векторных и матричных функций, представлены на рис. 5.7.
123245678495
88725
86765
8566
%5 82!97 (&&954 '7759
5679544
V
3
1
2
2
4
VS
sort ( V) VS
1
VR
3
reverse ( VS) VR
4
%5 8&94"
M
4
1
12 4
3
15 27
3
2
1
$49
9
7956"949
9
!957
17 2 13
csort ( M 1)
17 2 13
1
12 4
3
15 27
rsort ( M 1)
1
12 4
3
15 27
17 2 13
12345678479799557882 983784!98!94"29#
10 5
A
6
5
20 4
6
4
7.142
VE
eigenvals( A)
30
VE
19.149
33.709
12345678479
486779557889837849979
0.197
VE1
19.149
VV
eigenvec A VE1
VV
0.88
0.433
Рис. 5.7. Примеры дополнительных векторных и матричных функций
В целом видно, что запись матричных операций в системе MathCAD
весьма наглядна, и это большое достоинство входного языка данной
системы.
Решение систем линейных уравнений
Векторные и матричные операторы и функции системы MathCAD
позволяют, решать широкий круг задач линейной алгебры. К приме%
ру, если заданы матрица А и вектор В для системы линейных уравне%
ний в матричной форме А*Х=В, то вектор решения можно получить из
79
очевидного выражения X=A–1*B. На рис. 5.8 приведен пример реше%
ния системы линейных уравнений.
Поскольку решение систем линейных уравнений – довольно рас%
пространенная задача, в MathCAD, начиная с шестой версии, введе%
на встроенная функция Isolve(A.B), которая возвращает вектор Х для
системы линейных уравнений А*Х=В при заданной матрице коэффи%
циентов А и векторе свободных членов В. Если число уравнений – n,
размер вектора В должен быть n, а матрицы А – n n. Пример примене%
ния этой функции также дан на рис. 5.8.
12324526757829
65424
6142456
i
1
4
A
i 0.24
0.09
3
0.04
0.08
0.15
0.08 4
8
B
i
1234562789
878956539
53
757425
839479979
9
20
X
X
X1
( 1)
A
5753
B
1.787
0.468i
3.184
0.045i
4.75
1.184i
lsolve( A B) X1
323745
1.787
0.468i
3.184
0.045i
4.75
1.184i
577745
5
7
86557 !" #$
Рис. 5.8. Решение системы линейных уравнений
Вопросы для проверки знаний
1. Как идентифицировать массивы?
2. Как различать векторы и матрицы?
3. Как с помощью индексированных переменных получать доступ
к элементам массивов?
4. Как работать с векторными и матричными операторами?
5. Как работать с векторными и матричными функциями?
6. Как выполнять операцию векторизации для векторов и матриц?
7. Как выполнять основные операции с векторами и матрицами?
8. Как решать системы линейных уравнений?
80
6. ПРОГРАММИРОВАНИЕ В СРЕДЕ MATHCAD
Инструкции
В версиях MathCAD 2000/2001 PRO появилась возможность зада%
ния программных блоков (модулей). Средства программирования со%
средоточены в палитре программных элементов, показанной на рис. 6.1.
Как видно на рис. 6.1, программный блок в системе MathCAD пре%
вратился в самостоятельный модуль, выделяемый в тексте докумен%
та жирной вертикальной чертой. Модуль может вести себя как безы%
мянная функция без параметров, но возвращающая результат (см.
первый пример – вычисление квадратного корня из числа 12). Про%
граммный модуль может выполнять и роль тела функции пользова%
теля с именем и параметрами (см. второй пример).
Рис. 6.1. Задание программных блоков
81
Обзор инструкций
Как видно, набор инструкций для создания программных моду%
лей весьма ограничен и содержит следующие элементы:
Add Line – создает и при необходимости удлиняет жирную верти%
кальную линию, справа от которой в местах ввода производится за%
пись программного блока;
¬ – символ локального присваивания (в теле модуля);
if – условная инструкция;
for – инструкция задания цикла с фиксированным числом повто%
рений;
while – инструкция задания цикла, действующего до тех пор, пока
выполняется некоторое условие;
otherwise – инструкция иного выбора (обычно применяется с if);
break – инструкция прерывания;
continue – инструкция продолжения;
return – инструкция возврата;
on error – инструкция обработки ошибок.
Инструкция Add Line
Инструкция Add Line выполняет функции расширения программно%
го блока. Расширение фиксируется удлинением вертикальной черты
программных блоков или их древовидным расширением. Благодаря это%
му, в принципе, можно создавать сколь угодно большие программы.
Оператор внутреннего присваивания
Оператор ¬ выполняет функции внутреннего, локального присва%
ивания. Например, выражение х¬123 присваивает переменной х зна%
чение 123. Локальный характер присваивания означает, что такое
значение переменной х хранится только в теле программного моду%
ля. За пределами тела программы значение переменной х может быть
неопределенным, либо равным значению, которое задается вне про%
граммного блока операторами локального := или глобального = при%
сваивания.
Условная инструкция if
Инструкция if позволяет строить условные выражения. Она зада%
ется в виде:
Выражение if Условие
82
Если Условие выполняется, то возвращается значение Выраже
ния. Совместно с этой инструкцией часто используются инструкции
прерывания break и иного выбора otherwise.
Инструкция for
Инструкция for служит для организации циклов с заданным чис%
лом повторений. Она записывается в виде:
for Var е Nmin .. Nmax
Эта запись означает, что выражение, помещенное в расположен%
ное ниже место ввода, будет выполняться для значений переменной
Var, меняющихся от Nmin до Nmax с шагом +1. Переменную счетчика
Var можно использовать в исполняемом выражении.
Инструкция while
Инструкция while служит для организации циклов, действующих
до тех пор, пока выполняется некоторое условие. Она записывается
в виде:
while Условие
Выполняемое выражение записывается в расположенное ниже
место ввода.
Инструкция otherwise
Инструкция иного выбора otherwise обычно используется совмес%
тно с инструкцией if. Это поясняет следующая программная конст%
рукция:
f ( x)
1 if x
0
( 1) otherwise
Таким образом, функция f(х) возвращает 1, если х > 0, и –1 во всех
остальных случаях.
Инструкция break
Инструкция break вызывает прерывание выполнения программы.
Чаще всего эта инструкция используется совместно с условной инст%
рукцией if и инструкциями циклов while и for, обеспечивая переход в
конец тела цикла.
83
Инструкция continue
Инструкция continue используется для продолжения работы пос%
ле прерывания программы. Она также чаще всего используется со%
вместно с инструкциями циклов while и for, обеспечивая возвраще%
ние в точку прерывания и продолжение вычислений.
Инструкция return
Особая инструкция return прерывает выполнение программы и воз%
вращает значение операнда, стоящего следом за ней. Например, в
приведенном ниже случае будет возвращаться значение 0 при х < 0.
return 0 if x<0
Инструкция on error и функция error
Инструкция on error позволяет создавать процедуры обработки
ошибок. Эта инструкция задается в виде:
Выражение_1 on error Выражение_2
Если при выполнении Выражения_1 возникает ошибка, то выпол%
няется Выражение_2. Для обработки ошибок полезна также функ%
ция error(S), которая, будучи помещенной в программный модуль,
при возникновении ошибки выводит всплывающую подсказку с со%
общением, хранящимся в символьной переменной S.
Примеры программирования
Несмотря на скромность набора программных средств, имеющих%
ся в MathCAD, они дают системе именно те возможности, которые
ранее попросту отсутствовали: задание специальных функций, зада%
ние различных видов циклов (в том числе вложенных), упрощение
алгоритмов ряда вычислений и реализацию различных итерацион%
ных и рекурсивных процедур. Рекомендуется внимательно изучить
рис. 6.2, на котором показана часть этих возможностей.
Обратите особое внимание на пример вычисления факториала. Здесь
один программный модуль задается внутри другого. Вообще говоря, для
нескольких подмодулей, которые должны выполняться в составе цик%
лов, служит команда Add Line (добавить линию), добавляющая в мо%
дуль дополнительную вертикальную черту для подмодуля.
Программный модуль, в сущности, является функцией, но опи%
санной с применением упомянутых программных средств. Он возвра%
щает значение, определяемое последней инструкцией (если не пре%
дусмотрено иное с помощью инструкции return). Это значит, что пос%
84
1234565635712892
446788
1234565635736892
337
867927 if7722446475
abs ( x)
x if x
0
abs ( 5)
5 abs ( 5)
5
x otherwise
1234565635736892
33737 for773856378
447372355637
85956893757385797 177n
sum ( n)
s
0
sum ( 10)
for i
s
55
prod ( n)
p
1 n
s
1
prod ( 3)
for i 1 n
sum ( 20)
i
210
p
6
prod ( 10)
6
3.629
10
p i
p
1234565635736892
33 while737 breake77385637923
Fact ( n)
f
1
F ( n)
while n
f
n
f (n
f
while 1
1)
f
f (n
n
n
f
Fact ( 3)
6 Fact ( 10)
n
1
3.629
10
break if n
6
f
1)
1
1
F ( 3)
F ( 10)
6
3.629
6
10
Рис. 6.2. Примеры задания программных блоков
ле такого модуля, выделенного как целый блок, можно поставить
знак равенства для вывода результата его работы. В блоке могут со%
держаться любые операторы и функции входного языка системы. Для
передачи в блок значений переменных можно использовать перемен%
ные документа, которые ведут себя в блоке как глобальные.
Обычно модулю присваивается имя со списком переменных, после
которого идет оператор присваивания :=. Переменные в списке явля%
ются локальными, и им можно присваивать значения при вызове
функции, заданной модулем. Локальный характер таких перемен%
ных позволяет использовать для их идентификаторов те же имена,
что и у глобальных переменных документа. Однако лучше этого не
делать и назначать разные имена для локальных переменных про%
граммных модулей и переменных документа.
Вопросы для проверки знаний
1. Задавать собственные операторы.
2. Создавать программные блоки.
3. Использовать инструкции для создания программных модулей.
4. Реализовать условные переходы и циклы в программных модулях.
5. Создавать вложенные программные модули.
6. Обрабатывать ошибки.
85
7. ФИНАНСОВОRЭКОНОМИЧЕСКИЕ ФУНКЦИИ.
НАБОР ФУНКЦИЙ
В последние версии MathCAD 2000 Professional включен ряд финан%
сово%экономических функций. Они позволяют получить один параметр
по заданным параметрам. К основным параметрам относятся:
pv – сумма вклада в настоящее время;
fv – сумма вклада в будущем;
rate – процент начислений;
crate – фиксированный процент начислений на период;
nper – число периодов;
сnреr – число составных периодов;
start – начало периода;
end – конец периода.
Приведем список финансово%экономических функций системы
MathCAD 2000:
cnper (rate, pv, fv) – число составных периодов для получения бу%
дущего значения вклада при заданных настоящем значении вклада
и проценте j начислений;
crate (nper, pv, fv) – фиксированный процент начислений на пери%
од, необходимый для прироста вклада от настоящего значения до
будущего значения при заданном числе составных периодов;
cumint (rate, nper, pv, start, end, [type]) – совокупный процент, ко%
торый платится по займу;
cumprn (rate, nper, pv, stall, end, [lype]) – совокупная сумма, кото%
рая платится по займу;
eff (rate, nper) – эффективная ежегодная сумма, которая платится
по займу;
fv (rate, nper, pmt, [[pv], [type]]) – будущее значение вклада;
fvadj (prin, v) – будущее значение вклада при ряде составных про%
центных ставок;
fvc (rate, v) – будущее значение вклада при фиксированных про%
центных ставках;
ipmt (rate, per, nper, pv, [[fv], [type]]) – процентная ставка на период;
irr (v, [guess]) – внутренний процент возврата для ряда денежных
вливаний;
86
mirr (v, fin„ rate, rein_rate) – модифицированная внутренняя ставка
возврата для ряда денежных взносов;
nom (rate, nper) – номинальная процентная ставка;
nper (rate, pmt, pv, [[fv], [type]]) – число составных периода;
npv (rate, v) – нынешнее значение вклада;
pmt (rate, nper, pv, [[fv], [type]]) – плата за период займа;
ppmt (rate, per, nper, pv, [[fv], [type]]) – плата на общую сумму дан%
ного периода;
pv (rate, nper, pmt, [[fv], [type]]) – вклад, который должен быть
внесен в настоящее время при устойчивой плате и фиксированном
проценте ставки;
ate (nper, pmt. pv, [[fv]. [type], [guess]]) – процентная ставка за пе%
риод ренты.
Примеры расчетов
К сожалению, определения финансово%экономических величин и
расчетные соотношения между ними заметно различаются у нас и за
рубежом, что чревато серьезными ошибками в выполнении таких
расчетов. Практические примеры на выполнение таких расчетов даны
на рис. 7.1–7.3.
12343567689
63625
24567563313
2
5
3,
3823'578233&)85233873+&8282333"8234567588
699,6&'8
988183323838
3656323836956881
rate_
10 %
pv_
1000 fv_
2000 cnper ( rate_ pv_ fv_)
79
3'82345678233&)86#*56873+&85253888233&)852338
98
818&238381
nper_
7
pv_
1000
fv_
2000
crate ( nper_ pv_ fv_)
-5
73823+25882923
#83"873"37,.8/018869"52568&
#7,8523839848
57 85
3,
3869385"#86578852&'82382823456758233&)86873+&88
#573"869
356'8
9983"8+&8&
#56
rate_
8.3 % pv_
150000 nper_
30 12
start
1
end
12
rate_
cumint
nper_ pv_ start end
12
12875)8*58#3)8
9
3&83*6&8+&7,85*5"56&58375688&
#983"9(
cumprn
rate_
nper_ pv_ start end
12
1234567869
3568898385233869
3568 8
!5"#829568$%%5
76&'8234567869
356(
rate_
eff ( rate_ nper_)
%
Рис. 7.1. Примеры финансовоRэкономических расчетов
10 %
nper_
24
87
1234567289
7382345488428
68882328
53349824
8482345
86
9
858
3789 85!894
8"#
fv
0.06
12
12
100
0.06
12
12
100 1000
23285
8$5
8482345
8978
!8
8$37!8
3785
348
4643%8234588&
fv
1234567289
7385
3488
6
7
89
!83
82345888'878(8
)9789 %842
85!8*#82428$5
8$5$+
846
7
8
23454&
1000
rate_
8 %
V
1200
fvc( rate_ V)
1500
123456728373884284643$,8$$8-./018489785482378
9 %85!8948"83878*#8824248$48$5
8482345
86
9
8
97854&
0.06
prin
1000
sheed
0.07
fvadj( prin sheed)
0.08
Рис. 7.2. Примеры финансовоRэкономических расчетов
123456728
882
8*
8*
754899885848(4
98794388
2
8*3
5,9
8*
7589988:5834878;%8<378*
8
4
87588242408994824'
084854 899
1
prate
10 % CF
T
( 0
10000 3000 4200 6800 )
npv ( prate CF)
1080.403
1234567286
8*367+86#4882
824'589
048*78*
8
58&5758848*0'
77883
8/42 84643+ 82345885308
8'8
71
pv
0.075
12 15 200
12
21574.685
123456728
887849
8*424+8
848*0'
7783%8*
758
99497884(9
848/42 8*
84673
7 8(4824'5 8*
758
53'
8
*
67+84258
37882
8
8*
758486
853'48
4+0899488
pv_
r
10000 nper_
48
fv_
rate ( nper_ pmt_ pv_ fv_)
1000
r
pmt_
0.004
ry
250
r 12
ry
0.052
12345672879
8842
89988
8584673
7 8
!"#$%&88182
824'587(8)$!8*
758849
8794+8
2,899858*3 83727547782345488-8.8/42,89988
53'
80+18
nper
10
rate1
8.75 % pv
pmt ( rate1 nper pv fv)
15000
fv
0
2311.645
Рис. 7.3. Примеры финансовоRэкономических расчетов
88
Следует обратить внимание, что получаемые суммы положитель%
ны, а отдаваемые – отрицательны. Приведенные расчеты можно ис%
пользовать на практике только после тщательной проверки. Зачас%
тую гораздо проще составить свои документы, в которых такие рас%
четы выполняются по принятым у нас формулам и алгоритмам.
Вопросы для проверки знаний
1. Как определять те виды финансово%экономических расчетов,
которые может выполнять MathCAD?
2. Как использовать функции для проведения финансово%эконо%
мических расчетов?
3. Как проводить финансово%экономические расчеты на практи%
ке?
4. Как особо не полагаться на достоверность финансово%экономи%
ческих расчетов в наших условиях?
89
Библиографический список
1. Дьяконов В. MathCAD 8/2000: Специальный справочник. СПб.:
Питер, 2001. 592 с.
2. Дьяконов В. MathCAD 2001: Учебный курс. СПб.: Питер, 2001.
624 с.
3. Макаров Е. Инженерные расчеты в MathCAD: Учебный курс.
СПб.: Питер, 2003. 448 с.
4. Очин В. Ф. MathCAD 7 Pro для студентов и инженеров. М.: Ком%
пьютер Пресс. 1998. 384 с.
90
Оглавление
ВВЕДЕНИЕ ...............................................................................
Основные возможности системы МаthCAD .................................
1. ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ ................................................
Состав системы МаthCAD .......................................................
Палитры математических знаков .............................................
Центр информационных ресурсов ............................................
Справочная система МаthCAD .................................................
2. ПРИЕМЫ РАБОТЫ С МАTHCAD ..............................................
Ввод математических выражений (работа с формульным
редактором) ..........................................................................
Примеры вычисления арифметических выражений и их
редактирования ....................................................................
Операции вывода и присваивания ............................................
Использование шаблонов математических операторов и символов .
Вычисление математических функций .....................................
Понятие о ранжированных переменных и векторах .....................
Ввод матриц и векторов ..........................................................
Снятие активности у математических выражений ......................
Прерывание вычислений ........................................................
3. РАБОТА С ГРАФИКОЙ ............................................................
Построение двумерного графика одной функции ........................
Изменение размеров и перемещение графика ............................
Построение графиков ряда функций .........................................
Построение графиков поверхностей ..........................................
Построение на одном трехмерном графике ряда поверхностей ......
Параметры форматирования двумерных графиков .....................
Форматирование осей .............................................................
Форматирование линий графиков ............................................
Форматирование надписей на графиках ....................................
Задание параметров по умолчанию ...........................................
Примеры форматирования двумерных графиков ........................
Применение графического маркера и операции Zoom .................
Установка форматов графиков в полярной системе координат .......
4. СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ ...............................................
Возможности символьного процессора ......................................
Меню Symbolics .....................................................................
Символьные вычисления в командном режиме ..........................
Символьные операции с выделенными выражениями .................
Символьные операции с выделенными переменными ..................
Символьные операции с выделенными матрицами .....................
Символьные операции преобразований .....................................
Управление выводом результатов символьных операций ..............
Выделение объектов символьных операций ................................
Выполнение символьных вычислений .......................................
Команда Symbolically .............................................................
Команда Floating Point ...........................................................
Упрощение выражений ..........................................................
Вычисление производных .......................................................
Вычисление интегралов .........................................................
3
3
5
5
6
8
9
12
12
13
16
18
20
21
23
25
25
26
26
27
28
29
31
32
32
35
39
39
39
41
43
44
44
44
45
46
46
47
47
48
48
49
49
51
51
52
54
91
Вычисление сумм и произведений ...........................................
Расширение выражений .........................................................
Разложение выражений ..........................................................
Разложение по подвыражениям ...............................................
Вычисление коэффициентов полиномов ....................................
Операции относительно заданной переменной ............................
Дифференцирование .............................................................
Интегрирование ....................................................................
Решение уравнений ...............................................................
Подстановка .........................................................................
Разложение в ряд Тейлора .......................................................
Разложение на правильные дроби .............................................
Матричные операции .............................................................
Команды преобразований ........................................................
5. ВЕКТОРНЫЕ И МАТРИЧНЫЕ ОПЕРАЦИИ ...............................
Работа с массивами, векторами и матрицами ............................
Типы массивов ......................................................................
Использование индексированных переменных ...........................
Ввод элементов векторов и матриц ...........................................
Задание векторов и матриц .....................................................
Векторные и матричные операторы ..........................................
Векторные и матричные функции ............................................
Матричные функции .............................................................
Функции, возвращающие специальные характеристики матриц ..
Примеры применения векторных
и матричных операторов и функций .........................................
Дополнительные матричные функции ......................................
Функции сортировки для векторов и матриц .............................
Решение систем линейных уравнений ......................................
6. ПРОГРАММИРОВАНИЕ В СРЕДЕ MATHCAD .............................
Инструкции .........................................................................
Обзор инструкций .................................................................
Инструкция Add Line .............................................................
Оператор внутреннего присваивания .........................................
Условная инструкция if .........................................................
Инструкция for .....................................................................
Инструкция while .................................................................
Инструкция otherwise ............................................................
Инструкция break .................................................................
Инструкция continue .............................................................
Инструкция return ................................................................
Инструкция on error и функция error ......................................
Примеры программирования ..................................................
7. ФИНАНСОВО%ЭКОНОМИЧЕСКИЕ ФУНКЦИИ.
НАБОР ФУНКЦИЙ ....................................................................
Примеры расчетов .................................................................
БИБЛИОГРАФИЧЕСКИЙ СПИСОК ..............................................
92
54
55
56
57
58
58
59
60
61
62
62
64
65
66
68
68
68
69
70
71
71
73
74
74
75
78
78
79
81
81
82
82
82
82
83
83
83
83
84
84
84
84
86
87
90
Учебное издание
Пиль Эдуард Анатольевич
РЕШЕНИЕ
ИНЖЕНЕРНЫХ ЗАДАЧ
С ПОМОЩЬЮ MATHCAD
Учебное пособие
Редактор В. П. Зуева
Компьютерная верстка А. Н. Колешко
Сдано в набор 06.10.05. Подписано к печати 03.03.06. Формат 60 84 1/16.
Бумага офсетная. Печать офсетная. Усл. печ. л.5,34. Усл. кр.%отт. 5,47. Уч. %изд. л. 5,12.
Тираж 100 экз. Заказ №
Редакционно%издательский отдел
Отдел электронных публикаций и библиографии библиотеки
Отдел оперативной полиграфии
ГУАП
190000, Санкт%Петербург, ул. Б. Морская, 67
93
Э. А. Пиль
РЕШЕНИЕ
ИНЖЕНЕРНЫХ
ЗАДАЧ
С ПОМОЩЬЮ
MATHCAD
96
Документ
Категория
Без категории
Просмотров
9
Размер файла
960 Кб
Теги
pilmathcad
1/--страниц
Пожаловаться на содержимое документа