КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

152
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Пензенский государственный университет» (ПГУ) Т. В. Черушева, Н. В. Зверовщикова КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ Учебное пособие В трех частях Часть 1 Пенза Издательство ПГУ 2015

Upload: others

Post on 29-Apr-2022

29 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования laquoПензенский государственный университетraquo (ПГУ)

Т В Черушева Н В Зверовщикова

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

Учебное пособие

В трех частях

Часть 1

Пенза Издательство ПГУ

2015

2

УДК 681306(075) Ч-50

Р е ц е н з е н т ы кандидат технических наук доцент кафедры

laquoИнформационные вычислительные системыraquo Пензенского государственного университета

А П Писарев

кандидат физико-математических наук доцент заведующий кафедрой laquoИнформационные технологииraquo

Пензенского филиала Московского государственного университета технологий и управления им К Г Разумовского

(Первый казачий университет)

Ю Ю Горюнов

Ч-50

Черушева Т В Компьютерные технологии в математических исследованиях

учеб пособие в 3 ч Т В Черушева Н В Зверовщикова ndash Пенза Изд-во ПГУ 2015 ndash Ч 1 ndash 152 с

ISBN 978-5-906831-21-7 (ч 1) ISBN 978-5-906831-20-0 Рассматривается одна из наиболее распространенных математических

программ minus пакет MathCAD фирмы MathSoft Inc который в настоящее вре-мя широко используется для решения научно-технических и инженерных задач Излагаются основы техники работы с пакетом MathCAD Возможности MathCAD иллюстрируются на типовых вычислительных задачах Приводятся лабораторные работы (рабочие документы MathCAD) с подробными коммента-риями а также задания к ним Реализация заданий на компьютере позволит студентам приобрести навыки работы с пакетом и эффективно использовать их в учебном процессе

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

УДК 681306(075)

Рекомендовано к изданию методической комиссией факультета вычислительной техники Пензенского государственного университета

(протокол 2 от 20102015 г)

ISBN 978-5-906831-21-7 (ч 1) copy Пензенский государственный ISBN 978-5-906831-20-0 университет 2015

3

СОДЕРЖАНИЕ

ПРЕДИСЛОВИЕ 5 1 РАБОТА В СРЕДЕ MATHCAD 6

11 Интерфейс пользователя 6 12 Входной язык системы MathCAD Типы данных 13 13 Ввод и редактирование данных 20 14 Настройка MathCAD для работы 33

2 ОПЕРАТОРЫ MATHCAD 39 21 Векторные и матричные операторы 39 22 Векторные и матричные функции 40 23 Функции возвращающие специальные характеристики матриц 41 24 Дополнительные матричные функции 41 25 Функции сортировки для векторов и матриц 42

3 ГРАФИКА MATHCAD 43 31 Двухмерные графики в декартовой системе координат 43 32 Двухмерные графики в полярной системе координат 50 33 Построение графика функции z = f(x y) в виде поверхности в декартовой системе координат 52 34 Форматирование трехмерных графиков 55 35 Кривая в пространстве 57 36 Векторные и градиентные поля 58 37 Поверхности полученные вращением кривых вокруг осей 59 38 Анимация в MathCAD 60

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ 64 41 Возможности символьного процессора MathCAD 64 42 Команды меню Symbolics 65 43 Палитра символьных преобразований SmartMath 78 44 Оптимизация 83

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ 84 51 Линейные алгебраические уравнения 84 52 Квадратные уравнения и алгебраические уравнения высших порядков 86 53 Уравнения более высокого порядка 88 54 Иррациональные уравнения (уравнения с радикалами) 89 55 Уравнения с параметрами 90 56 Экспоненциальные и логарифмические уравнения 91 57 Тригонометрические уравнения 93 58 Неравенства 95 59 Системы линейных уравнений 97 510 Нелинейные уравнения и системы уравнений 99

4

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ 102

61 Решение одиночного дифференциального уравнения 102 62 Численное решение задачи Коши для дифференциальных уравнений и систем 103 63 Решение граничных задач для обыкновенных дифференциальных уравнений 107

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ 110

71 Одномерная линейная аппроксимация 110 72 Одномерная сплайн-интерполяция и сплайн-аппроксимация 111 73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация 112

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ 114 81 Функции для линейной регрессии 114 82 Функция для линейной регрессии общего вида 115 83 Функции для одномерной и многомерной полиномиальной регрессии 116 84 Функция для нелинейной регрессии общего вида 118 85 Функции сглаживания данных 119 86 Функция предсказания 120

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ 122

91 Прерывание цикла с помощью операторов break и continue Оператор return 125 92 Ключевое слово continue 126

ЛАБОРАТОРНЫЕ РАБОТЫ 128 САМОСТОЯТЕЛЬНЫЕ РАБОТЫ 141 СПИСОК ЛИТЕРАТУРЫ 150

5

ПРЕДИСЛОВИЕ

Интегрированная компьютерная система MathCAD (Mathema-tical Computer Aided Design) является одной из самых распростра-ненных в мире программных сред предназначенных для решения широкого круга математических задач Программа MathCAD позво-ляет моделировать в электронном документе научно-технические расчеты в форме близкой к общепринятому в математике виду MathCAD имеет мощный математический аппарат в виде библиоте-ки встроенных программ реализующих множество математических алгоритмов Система поддерживает как численные так и аналити-ческие операции В ней можно работать без программирования В MathCAD есть собственные текстовый формульный и графиче-ский редакторы возможность использования трехмерной графики

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

6

1 РАБОТА В СРЕДЕ MATHCAD

11 Интерфейс пользователя

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

Рис 1

111 Главное меню системы

Вторая строка окна системы ndash главное меню Назначение его команд приведено на рис 2

Рис 2

7

Рассмотрим эти команды File (Файл) ndash работа с файлами сетью Интернет и электронной

почтой Ниспадающее меню содержит команды стандартные для

Windows-приложений Edit (Правка) ndash редактирование документов Ниспадающее меню также содержит команды стандартные

для Windows-приложений Большинство из них доступны только в случае если в документе выделены одна или несколько областей (текст формула график и тд)

View (Обзор) ndash изменение средств обзора Toolbars (Панели инструментов) ndash позволяет отображать или

скрывать панели инструментов Standart (Стандартная) Formatting (Форматирования) Math (Математика)

Status bar (Строка состояния) ndash включение или отключение отображения строки состояния системы

Ruler (Линейка) ndash установка мерной линейки Regions (Границы) ndash делает видимыми границы областей (тек-

стовых графических формул) Zoom (Масштаб) ndash увеличивает или уменьшает размер доку-

мента при изменении масштаба Refresh (Обновить) [Ctrl+R] ndash обновление содержимого экрана Animate (Анимация) ndash команда позволяющая создать анимацию Playback (Проигрыватель) ndash воспроизведение анимации хра-

нящейся в файле с расширением AVI Preferences (Настройки) ndash одна из вкладок всплывающего окна

(General) позволяет задать некоторые параметры работы програм-мы не влияющие на вычисления другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet

Insert (Вставка) ndash команды этого меню позволяют помещать в MathCAD-документ графики функции гиперссылки компоненты и встраивать объекты

Format (Формат) ndash изменение формата объектов Equation (Уравнение) ndash форматирование формул и создание

собственных стилей для представления данных Result (Результат) ndash позволяет задать формат представления

результатов вычислений Text (Текст) ndash форматирование текстового фрагмента (шрифт

размер начертание)

8

Paragraf (Абзац) ndash изменение формата текущего абзаца (от-ступы выравнивание)

Tabs (Табуляция) ndash задание позиций маркеров табуляции Style (Стиль) ndash оформление текстовых абзацев Properties (Свойства) ndash вкладка Display (Отображение) поз-

воляет задать цвет фона для наиболее важных текстовых и графиче-ских областей вставленный в документ рисунок ( Insert Picture ) позволяет заключить его в рамку вернуть ему первоначальный размер

Вкладка Calculation (Вычисление) позволяет для выделенной формулы включить и отключить вычисление в последнем случае в правом верхнем углу области формулы появляется маленький чер-ный прямоугольник и формула превращается в комментарий

Graf (График) позволяет менять параметры отображения графиков

Separate regions (Разделить области) ndash позволяет раздвигать перекрывающиеся области

Align regions (Выровнять области) ndash выравнивает выделенные области по горизонтали или по вертикали

HeadersFooters (Колонтитулы) ndash создание и редактирование колонтитулов

Repaganite Now (Перенумерация страниц) ndash производит раз-бивку текущего документа на страницы

Math (Математика) ndash управление процессом вычислений в MathCAD существует два режима вычислений автоматический и ручной В автоматическом режиме результаты вычислений полно-стью обновляются при каком-либо изменении в формуле

Automatic Calculation (Автоматическое вычисление) ndash позво-ляет переключать режимы вычислений

Calculate (Вычислить) ndash при ручном режиме вычислений поз-воляет пересчитать видимую часть экрана

Calculate Worksheet (Просчитать документ) ndash пересчет всего документа целиком

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

Options (Параметры) ndash позволяет задавать параметры вычис-лений

9

Symbolik (Символика) ndash выбор операций символьного процес-сора

Window (Окно) ndash управление окнами системы Help (Справка) ndash работа со справочной базой данных о системе MathCAD Help (Справка по MathCAD) ndash содержит три вклад-

ки Содержание ndash справка упорядочена по темам Указатель ndash предметный указатель Поиск ndash находит нужное понятие при вводе его в форму

Resource Center (Центр ресурсов) ndash информационный центр содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials) быструю справку в виде примеров из раз-личных областей математики (Quicksheets and Reference tables)

Tip of the Day ndash всплывающие окна-подсказки с полезными со-ветами (возникают при загрузке системы)

Open Book (Открыть книгу) ndash позволяет открыть справочник системы MathCAD

About MathCAD (О программе MathCAD) ndash информация о вер-сии программы авторских правах и пользователе

Каждая позиция главного меню может быть сделана активной Для этого достаточно указать на нее курсором ndash стрелкой мыши и нажать ее левую клавишу Можно также нажать клавишу F10 и ис-пользовать клавиши перемещения вправо и влево Затем выбор фиксируется нажатием клавиши ввода Enter Если какая-либо пози-ция главного меню делается активной она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций Перемещение по списку подменю и выбор нужной операции производятся аналогично тому как это описано для главного меню

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

Третью строку окна системы занимает панель инструментов

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

Рис 3

10

Кнопки операций с файлами Документы системы MathCAD являются файлами Файлы

можно создавать загружать (открывать) записывать и распечаты-вать на принтере Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок

New Worksheet (Создавать) ndash создание нового документа с очисткой окна редактирования

Open Worksheet (Открыть) ndash загрузка ранее созданного доку-мента из диалогового окна

Save Worksheet (Cохранить) ndash запись текущего документа с его именем

Печать и контроль документов

Print Worksheet (Печать) ndash распечатка документа на принтере Print Preview (Просмотр) ndash предварительный просмотр доку-

мента Check Speling (Проверка) ndash проверка орфографии документа

Кнопки операций редактирования Во время подготовки документов их приходится редактиро-

вать те видоизменять и дополнять с помощью следующих кнопок Cut (Вырезать) ndash перенос выделенной части документа в бу-

фер обмена с очисткой этой части документа Copy (Копировать) ndash копирование выделенной части докумен-

та в буфер обмена с сохранением выделенной части документа Paste (Вставить) ndash перенос содержимого буфера обмена в ок-

но редактирования на место указанное курсором мыши Undo (Отменить) ndash отмена предшествующей операции редак-

тирования Три последние операции связаны с применением буфера об-

мена Он предназначен для временного хранения данных и их пере-носа из одной части документа в другую либо для организации об-мена данными между различными приложениями

Кнопки размещения блоков

Документы состоят из различных блоков текстовых фор-мальных графических и тд Блоки просматриваются системой ин-

11

терпретируются и исполняются Просмотр идет справа налево и снизу вверх

ndash Align Across (Выровнять по горизонтали) ndash блоки вы-равниваются по горизонтали

ndash Align Down (Выровнять вниз) ndash блоки выравниваются по вертикали располагаясь сверху вниз

Пиктограммы этих кнопок изображают блоки и указанные ва-рианты их размещения

Кнопки операций с выражениями

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

Следующие группы кнопок являются специфичными именно для системы MathCAD (рис 4)

Рис 4

ndash Insert Function (Вставить функции) ndash вставка функции из списка появляющегося в диалоговом окне

ndash Insert Unit (Вставить единицы) ndash вставка единиц измере-ния

ndash Calculate (Пересчитать) ndash вычисление выделенного вы-ражения

ndash Insert Giperlink (Включение гиперссылки) ndash обеспечивает создание гиперссылки

ndash Component Wizard (Мастер компонентов) ndash открывает окно Мастера дающего удобный доступ ко всем компонентам си-стемы

ndash Run Math Connex (Запуск системы Math Connex) ndash за-пуск системы для стимулирования блочнозаданных устройств

Кнопки управления ресурсами

ndash Resource Center (Центр ресурсов) ndash дает доступ к центру ресурсов (см рис 4)

MathCAD 2000 Professional

12

ndash Help (Справка) ndash дает доступ к ресурсам справочной базы данных системы

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

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами

Style ndash Переключатель выбора стилей Font ndash Переключатель выбора набора символов Point Size ndash Переключатель выбора размеров символов Bold ndash Установка жирных символов Italik ndash Установка наклонных символов Underline ndash Установка подчеркнутых символов Left Align ndash Установка левостороннего выравнивания Center Align ndash Установка выравнивания по центру Right Align ndash Установка правостороннего выравнивания До тех пор пока не начат набор элементов документа часть

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

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

113 Наборные математические панели инструментов

Для ввода математических знаков в MathCAD используются

удобные перемещаемые наборные панели со знаками (рис 5) Они служат для вывода заготовок ndash шаблонов математических знаков (цифр знаков арифметических операций матриц знаков интегра-лов производных и тд) Для вывода панели Math необходимо вы-полнить команду View Toolbar Math Наборные панели появ-ляются в окне редактирования документов при активизации

13

соответствующих пиктограмм ndash первая линия пиктограмм управле-ния системой Используя общую наборную панель можно вывести или все панели сразу или только те что нужны для работы Для установки с их помощью необходимого шаблона достаточно поме-стить курсор в желаемое место окна редактирования (красный кре-стик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона установив на него курсор мыши и нажав ее ле-вую клавишу

Рис 5

Многие функции и операции которые вставляются в документ

с помощью наборных математических панелей могут быть поме-щены в документ с помощью laquoбыстрых клавишraquo При этом работа в системе MathCAD становится более продуктивной Рекомендуем запомнить сочетания клавиш хотя бы для некоторых наиболее часто употребляемых команд

12 Входной язык системы MathCAD Типы данных

MathCAD обладает специализированным входным языком

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

14

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

121 Алфавит MathCAD 2000 PRO

Алфавит входного языка системы определяет совокупность символов и слов которые используются при задании команд необ-ходимых для решения интересующего пользователя класса задач Алфавит системы MathCAD содержит

minus строчные и прописные латинские буквы minus строчные и прописные греческие буквы minus арабские цифры от 0 до 9 minus системные переменные minus операторы minus имена встроенных функций minus спецзнаки minus строчные и прописные буквы кириллицы (при работе с ру-

сифицированными документами) К укрупненным элементам языка относятся типы данных опе-

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

Для ввода греческих букв можно использовать панель набор-ных знаков Greek включаемую кнопкой на панели Math Кроме того в MathCAD предусмотрена возможность набора греческих букв с помощью клавиш Для этого достаточно набрать соответ-ствующую английскую букву и нажать комбинацию клавиш [Ctrl+G]

122 Числовые константы

Константами называют поименованные объекты хранящие некоторые значения которые не могут быть изменены В качестве имени числовых констант используются их числовые значения В системе MathCAD используются и числовые константы значени-ями которых являются числа с разной системой исчисления деся-тичные восьмеричные или шестнадцатеричные

15

Числовые константы задаются с помощью арабских цифр де-сятичной точки (а не запятой) и знака ndash (минус) Например

123 ndash целочисленная десятичная константа 123 ndash десятичная константа с дробной частью

5123 10 ndash десятичная константа с мантиссой 123 и поряд-ком ndash5

Порядок числа вводится умножением мантиссы на 10 в степе-ни определяющей порядок Знак умножения при выводе числа на экран меняется на привычную математическую точку а операция возведения в степень (с применением спецзнака ^) отображается пу-тем представления порядка в виде надстрочного элемента Десятич-ные числа имеют основание 10 Диапазон их возможных значений лежит в пределах от 10 ^ 307 до 10 ^ 307 (это машинная бесконеч-ность и машинный нуль)

Система MathCAD может работать с восьмеричными и шест-надцатеричными числами Восьмеричные числа имеют основание 8 так что один их разряд может иметь значения от 0 до 7 Такие числа в конце отмечаются латинской буквой O (от слова octal ndash восьме-ричное) Шестнадцатеричные числа имеют основание 16 и их раз-ряд может иметь значения

HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный при-знак в виде буквы h или H (от слова hexagonal ndash шестнадцатерич-ное) Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal ndash десятичное) Если число шестнадцатеричное начинается с буквы (например ABCО) то си-стема будет путать его с возможным именем переменной Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (нуль)

123 Комплексные числа

Большинство вычислений система выполняет как с действи-тельными так и с комплексными числами которые обычно пред-ставляются в алгебраическом виде Re ImZ Z i Z или

Re ImZ Z j Z Здесь ReZ minusдействительная часть комплексного числа Z ImZ ndash его мнимая часть а символы i или j обозначают мни-

16

мую единицу те корень квадратный из ndash1 Такое представление характерно для системы MathCAD Однако система не всегда знает какой символ применить для обозначения мнимой единицы Поэто-му перед использованием любых операций с комплексными числа-ми полезно вначале определить i или j как мнимую единицу (те присвоить им значение квадратного корня из ndash1)

124 Строковые константы

Строковая константа ndash это строка заключенная в кавычки например laquoMy nameraquo В строковую константу могут входить один или несколько символов либо слов

125 Переменные

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

Идентификатор начинается только с буквы например X 1X Идентификатор не должен содержать пробелов Нельзя использо-вать для идентификаторов буквы русского языка Идентификаторы не могут совпадать с именами встроенных или определенных поль-зователем функций

126 Системные переменные

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

17

Таблица 1

Системные переменные

Объект Клавиши Назначение

π Alt+Ctrl+P Число пи (314)

е E Основание натурального логарифма (272)

Ctrl+Z Системная бесконечность (10^307)

Процент (001)

TOL Погрешность численных методов (0001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Ширина столбцов (в символах) для операто-ра WRITEPRN (8)

PRNPRECISSION Число десятичных знаков используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

127 Операторы

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

128 Встроенные функции

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

18

Элементарные встроенные математические функции

Элементарные функции представим в табл 27 Таблица 2

Тригонометрические функции

sin( )z Синус cos( )z Косинус tan( )z Тангенс sec( )z Секанс csc( )z Косеканс cot( )z Котангенс

Таблица 3

Гиперболические функции

sinh( )z Гиперболический синус cosh( )z Гиперболический косинус tanh( )z Гиперболический тангенс sech( )z Гиперболический секанс csch( )z Гиперболический косеканс coth( )z Гиперболический котангенс

Таблица 4

Обратные тригонометрические функции

sin( )A z Обратный тригонометрический синус cos( )A z Обратный тригонометрический косинус tan( )A z Обратный тригонометрический тангенс

Таблица 5

Обратные гиперболические функции

sinh( )A z Обратный гиперболический синус cosh( )A z Обратный гиперболический косинус tanh( )A z Обратный гиперболический тангенс

Таблица 6

Показательные и логарифмические функции

exp( )z Экспоненциальная функция ln( )z Натуральный логарифм (по основанию e) log( )z Десятичный логарифм (по основанию 10)

Таблица 7

Функции комплексного аргумента

Re( )z Выделение действительной части z Im( )z Выделение мнимой части z Arg( )z Вычисление аргумента (фазы)

19

Специальные встроенные математические функции

Функции Бесселя К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя являю-щиеся решениями некоторых дифференциальных уравнений второ-го порядка (табл 8)

Таблица 8 Список функций Бесселя

0J x Функция Бесселя первого рода нулевого порядка 0I x Модифицированная функция Бесселя первого рода нулевого порядка 0Y x Функция Бесселя второго рода нулевого порядка

0K x Модифицированная функция Бесселя второго рода нулевого порядка

1J x Функция Бесселя первого рода первого порядка 1I x Модифицированная функция Бесселя первого рода первого порядка 1Y x Функция Бесселя второго рода первого порядка 1K x Модифицированная функция Бесселя второго рода первого порядка Jn n x Функция Бесселя первого рода n-го порядка In n x Модифицированная функция Бесселя первого рода n-го порядка Yn n x Функция Бесселя второго рода n-го порядка Kn n x Модифицированная функция Бесселя второго рода n-го порядка

Гамма-функция В системе MathCAD предусмотрено вычис-

ление гамма-функции G(z) Она широко применяется и в статисти-ческих расчетах В них используется также функция ошибок erf(x) называемая еще интегралом вероятности

Дополнительные неактивные функции При загрузке сим-вольного процессора система распознает ряд дополнительных спе-циальных функций например таких как в табл 9

Таблица 9 Дополнительные неактивные функции

FresnelC x Интеграл Френеля С(х) FresnelS x Интеграл Френеля S(x)

Ci x Интегральный косинус Si x Интегральный синус Ei x Интегральная показательная функция

dilog x Дилогарифм erf z Интеграл ошибок для комплексного аргумента z

lnPsi x d dx Go x пси-функция

Psi n x n-я производная пси-функции

20

Функции с условиями сравнения

Функции приведены в табл 10 Таблица 10

Числовые функции с условиями сравнения

( )ceil х Наименьшее целое большее или равное x ( )Floor х Наибольшее целое большее или равное x

mod( )х Остаток от деления xy со знаком x ( )angel х Положительный угол с осью x для точки с координатами (xy)

( )Ф х Функция Хевисайда ndash единичного скачка (дает 0 при 0x и 1 в противном случае)

d m n Функция именуемая символом Кронекера возвращающая 1 при m = n и 0 в противном случае

129 Функция условных выражений

Для создания условных выражений более широкие возможно-сти дает функция if

if (Условие Выражение 1 Выражение 2)

Если в этой функции условие выполняется то будет вычис-ляться выражение 1 в противном случае ndash выражение 2

1210 Математические выражения

Функции могут входить в математические выражения напри-мер в выражении

2ln 1Y x

где Y ndash переменная 1 и 2 ndash числовые константы знаки laquoraquo и laquo+raquo ndash операторы ln(x) ndash встроенная функция с аргументом х При выпол-нении символьных операций переменные π и e используются только в символьном виде К примеру число 2π равно 628314hellip и выводится как 2π а не как приближенное численное значение

13 Ввод и редактирование данных

131 Ввод и редактирование формул и текста

В MathCAD-документе курсор ввода имеет вид красного кре-стика Этот крестик указывает в каком месте рабочего листа будет

21

произведено следующее действие Установив указатель мыши в нужном месте документа и выполнив щелчок вы перемещаете туда крестик (можно использовать стрелки а не мышь) Указатель в виде крестика может принимать другие формы

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

этот голубой курсор можно только с помощью клавиш-стрелок Если при перемещении красного курсора-крестика вы вторг-

лись в область формулы курсор автоматически принимает форму голубого курсора формул

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

Если вам не нравится взаимное распо-ложение областей в документе его можно изменить

ndash установите курсор-крестик на пустом месте документа

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

ndash установите курсор на одну из выделен-ных областей (курсор примет вид черной руки)

ndash удерживая нажатой левую клавишу мыши переместите выделенные области в требуемое место

При вводе текстовой области (клавиша []) курсор-крестик имеет вид вертикальной

красной черты При этом текстовая область окружена черной рамкой

Если вы уже вводите текст забыв создать текстовую область (те MathCAD воспринимает введенный текст как формулу) то до-статочно нажать клавишу пробела и MathCAD преобразует форму-лу в текст Преобразование в обратном направлении невозможно

Остановимся подробнее на свойствах голубого курсора фор-мул Для этого рассмотрим пример Предположим что MathCAD не

22

известна функция cosh (гиперболический косинус) и нам необхо-димо ввести определение

2

x xe ef x

Введем последовательность символов

^ ^ 2f x e x e x

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

Однако в MathCAD предусмотрены более экономичные мето-ды редактирования и ввода С помощью клавиши пробела можно увеличить область выделения ndash у голубого курсора появляется го-ризонтальный след Отмеченный следом курсора фрагмент форму-лы как бы подразумевается заключенным в скобки

Введенную выше формулу можно ввести по-другому

^ ^ 2f x e x Пробел e x Пробел Пробел Пробел

След курсора позволяет снабжать фрагменты формул мнимы-ми скобками таким образом что последующая математическая опе-рация относится ко всему выражению отмеченному следом курсо-ра те заключенному в мнимые скобки

Часто бывает необходимым все-таки заключение в скобки не-которой части введенного выражения Для этого достаточно выде-лить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу [] (апостроф) Обычно курсор со сле-дом при вводе формул имеет вид уголка направленного вправо (след направлен влево от курсора) предлагая вправо ввести необхо-димые значения А что делать если вы пропустили какую-то часть формулы или необходимо подправить выражение и дописать кое-что слева Для этого можно воспользоваться клавишей [Ins]

Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода В режиме вставки след курсора направлен впра-во и вводимые символы появляются слева от курсора

23

При редактировании формул случаются ошибки На этот слу-чай в меню Edit имеется команда Undo отменяющая последнее дей-ствие Того же результата можно достичь воспользовавшись соот-ветствующей кнопкой панели инструментов Standart или комби-нацией клавиш [Alt+Backspace]

Для удаления отдельных чисел или фрагментов формул ис-пользуется клавиша [Backspace] ndash если курсор находится в режиме ввода и клавиша [Del] ndash если курсор находится в режиме вставки Для удаления больших частей формул удобнее воспользоваться мышью выделив соответствующий фрагмент (протащить по нему мышь с нажатой левой кнопкой) и нажав клавишу [Del]

В MathCAD существует возможность разбивки больших вы-ражений на строки если выражение состоит из нескольких слагае-мых Для этого

minus выполните щелчок на операнде который по вашему мне-нию следует перенести на следующую страницу

minus увеличьте след курсора в режиме вставки таким образом чтобы отметить всю правую часть формулы

minus нажмите клавишу Backspace Стоящий перед курсором знак laquo+raquo будет удален При этом обе части формулы заключаются в скобки

minus нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки)

Если же там где оканчивается строка находится знак вычита-ния то необходимо удалить символ разности minus минус minus и произвести перевод строки При этом MathCAD превратит разность в сумму что сделает результат неправильным Но погрешность можно компенси-ровать присвоив первому слагаемому во второй строке знак laquoraquo

Если вы по ошибке удалили знак умножения и осуществили перенос строки то результат будет неправильным поскольку MаthCAD заменит умножение сложением Разбивка на строки не может применяться для выражений результаты вычислений кото-рых получены в символьном виде

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

Обычные переменные отличаются от системных тем что они должны быть предварительно определены пользователем В каче-стве оператора присваивания используется знак Если перемен-ной присваивается начальное значение с помощью оператора та-кое присваивание называется локальным

24

С помощью знака (три горизонтальные черточки) который

вводится клавишей [~] (тильда) можно обеспечить глобальное при-сваивание те оно может производиться в любом месте документа Для вывода результата или для контроля значений переменных ис-пользуется обычный знак равенства = (если выводится численный результат) или знак символьного равенства (стрелка) если вы-числения производятся в символьном виде Для ввода стрелки мож-но использовать клавиши [Ctrl+] или соответствующую кнопку наборной панели Symbolic

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

25

133 Определение функций пользователя

При определении функций пользователя так же как и при определении переменных могут быть использованы знаки локаль-

ного и глобального присвоения При этом с использованием знака глобального присваивания функ-ция может быть определена в лю-бом месте документа

Синтаксис определения функции

_ arg1arg 2arg Name Func N Выражение

Здесь _Name Func ndash имя функции arg1arg 2arg N ndash аргу-менты функции Выражение ndash любое выражение содержащее до-ступные системе операторы и функции с операндами и аргумента-ми указанными в списке параметров

134 Ранжирование переменных

Ранжированные переменные ndash особый класс переменных который в системе MathCAD зачастую заменяет управляющие структуры называемые циклами Эти переменные имеют ряд фик-сированных значений с определенным шагом меняющихся от начального значения до конечного

Ранжированные переменные характеризуются именем и ин-дексом каждого своего элемента Например Name Nbegin Nend

где Name ndash имя переменной Nbegin ndash ее начальное значение Nend ndash конечное значение ndash символ указывающий на изменение переменной в заданных пре-делах (он вводится знаком точки с запя-той ) Если Nbegin Nend то шаг изменения переменной будет +1 в про-тивном случае ndash ( 1 )

26

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

Step заданный шаг переменной

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

Любое выражение с ранжиро-ванными переменными после знака равенства инициирует таблицу вы-

вода Полезно учитывать некоторые свойства таблиц вывода minus число строк в них не может быть больше 50 minus числа в таблицах можно задавать в требуемом формате с по-

мощью операций задания формата чисел minus при использовании в таблице единиц размерности все дан-

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

jX выводится обычная таблица вывода

X выводится вектор если число его элементов меньше 10 X выводится таблица вывода со слайдером если число эле-

ментов вектора больше 10 В таблице вывода можно и вставлять числовые значения и

корректировать их Индексированные переменные образующиеся в результате за-

дания ранжированных переменных могут применяться в последу-ющих формульных блоках

Однако при этом необходимо соблюдать соответствие результа-тов (конечных и промежуточных) векторному типу этих переменных Необходимо помнить что ранжированная переменная minus это вектор

Обратите внимание что в приведенном примере ранжирован-ная переменная i принимает значения 1 2 3 и 4 А вектор g опреде-ленный через ранжированную переменную i содержит 5 элементов

27

Это связано с тем что по умолчанию началом отсчета индексов в MathCAD является нуль

135 Массивы (векторы матрицы)

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

Индексация элементов массивов Порядковый номер эле-мента который является его адресом называется индексом

Нижняя граница индексации задается значе-нием системной переменной ORIGIN которая может принимать значение 0 или 1 Для смены начала индексации можно прямо в документе присвоить переменной ORIGON соответствующее значение или сделать это через позицию Math

главного меню подменю Options используя вкладку Build-In Variables (Встроенные переменные)

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

числовые значения элементов они раз-личны по типу и при использовании да-дут разные результаты при векторных и матричных операциях Для ввода векторов и матриц можно

использовать кнопку панели набор-ных математических элементов Matrix

28

которая в свою очередь включается нажатием соответствующей кнопки на панели Math Но гораздо проще использовать сочетание клавиш [Ctrl+M] Оба вышеуказанных действия приводят к появле-нию диалогового окна Insert Matrix в котором необходимо указать число строк и столбцов для вводимой матрицы (вектора)

В результате в документе появляется шаблон матрицы который можно заполнить требуемыми данными Пере-ход от символа к символу внутри шаблона совершается с помощью клавиши Tab (Табуляция)

Массив можно определить и вручную поэлемент-но Для указания нижнего индекса используется клави-

ша [ (квадратная скобка) Если индекс двойной (у матрицы) то ин-дексы вводятся через запятую

Заполнение массивов может быть организовано с помощью ранжированных переменных и функций пользователя

136 Операторы системы MathCAD

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструи-рования математических выражений В табл 1113 приведены раз-личные операторы системы MathCAD

29

Таблица 11 Арифметические операторы

Оператор Ввод Назначение оператора X Y X Y Локальное присваивание X значения Y

X Y X Y Глобальное присваивание X значения Y X X Вывод значения X

X X Смена знака X X Y X Y Суммирование X с Y X Y X Y Вычитание из X значения Y

X Y X Y Умножение X на Y X Y X Y Деление X на Y

YX ^X Y Возведение X в степень Y

X X Вычисление квадратного корня из X X X Вычисление факториала

Z | Z Вычисление модуля комплексного Z

Z Z ldquo Вычисление комплексно-сопряженного с Z числа () lsquo Ввод пары круглых скобок с шаблоном ( ( Ввод открывающей скобки ) ) Ввод закрывающей скобки

nX X n Ввод нижнего индекса n nX X Ctrl n Ввод верхнего индекса n

Таблица 12 Расширенные арифметические операторы

Оператор Ввод Назначение оператора $ Вычисление суммы

Вычисление произведения

f Вычисление производной b

a

amp Вычисление определенного интеграла

Применение расширенных операторов значительно облегчает решение математических задач

Таблица 13 Операторы отношения (логические операторы)

Оператор Ввод Назначение оператора X Y X Y X больше Y X Y X Y X меньше Y X Y X Ctrl Y X больше или равно Y

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

X Y X Ctrl Y X не равно Y X Y X Ctrl Y X равно Y

30

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

137 Программные операторы в MathCAD

В системе MathCAD можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами Это реализуется использованием встроенных программных операторов похожих на используемые в различных языках программирования (рис 6) Как видно на рис 7 и 8 где вычисляется факториал про-граммный модуль в системе MathCAD превратился в самостоятель-ный блок причем при необходимости выполнить несколько опера-торов их объединяют жирной вертикальной чертой

Рис 6 Рис 7 Рис 8

Модуль может вести себя как безымянная функция без пара-

метров но возвращающая результат ndash первый пример Программ-ный модуль может выполнять и роль тела функции пользователя с именем и параметрами ndash второй пример

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

Add Line ndash создает и при необходимости расширяет жирную вертикальную линию справа от которой в шаблонах задается запись программного блока

31

ndash символ локального присваивания (в теле модуля) if ndash условный оператор for ndash оператор задания цикла с фиксированным числом повто-

рений while ndash оператор задания цикла действующего до тех пор по-

ка выполняется некоторое условие otherwise ndash оператор иного выбора (обычно применяется с if) break ndash оператор прерывания continue ndash оператор продолжения return ndash оператор возврата on error ndash оператор обработки ошибок Оператор добавления линии Add Line выполняет функции

расширения программного блока Расширение фиксируется удлине-нием вертикальной черты программных блоков или их древовид-ным расширением Благодаря этому в принципе можно создавать сколь угодно большие программы

Оператор внутреннего присваивания выполняет функ-ции внутреннего локального присваивания Например выражение

123x присваивает переменной x значение 123 Локальный харак-тер присваивания означает что такое значение х сохраняет только в теле программы За пределами тела программы значение перемен-ной х может быть неопределенным либо равно значению которое задается вне программного блока операторами локального = или глобального присваивания

Условный оператор if является оператором для создания условных выражений Он задается в виде

Выражение if Условие Если условие выполняется то возвращается значение выраже-

ния Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise

Оператор цикла for служит для организации циклов с задан-ным числом повторений Он записывается в виде

for Var NminhellipNmax

Эта запись означает что выражение помещенное в распо-ложенный ниже заменитель будет выполняться для значений переменной Var меняющихся от Nmin до Nmax с шагом +1 Пере-менную счетчика Var можно использовать в исполняемом выра-жении

32

Оператор цикла while служит для организации циклов дей-ствующих до тех пор пока выполняется некоторое условие Этот оператор записывается в виде

while Условие

Выполняемое выражение записывается на место расположен-ного ниже заполнителя

Оператор иного выбора otherwise обычно используется сов-местно с оператором if Это поясняет следующая программная кон-струкция

1 0

1

if xf x

otherwise

Здесь f x получает значение 1 если 0x и ndash1 во всех

остальных случаях Оператор прерывания break вызывает прерывание работы про-

граммы всякий раз когда он встречается Чаще всего он использу-ется совместно с оператором условного выражения if и операторами циклов while и for обеспечивая переход в конец тела цикла

Оператор продолжения continue используется для продолже-ния работы после прерывания программы Он также чаще всего ис-пользуется совместно с операторами задания циклов while и for обеспечивая возвращение в точку прерывания и продолжение вы-числений

Оператор возвращения return прерывает выполнение про-граммы и возвращает значение операнда стоящего следом за ним Например конструкция

0 0return if x

будет возвращать значение 0 при любом 0x Оператор и функция обработки ошибок позволяют создавать

конструкции обработчиков ошибок Этот оператор задается в виде

_1 _ 2Выражение on error Выражение

Здесь если при выполнении _1Выражения возникает ошибка то выполняется _ 2Выражение Для обработки ошибок полезна так-

же функция error S которая будучи помещенной в программный

модуль при возникновении ошибки выводит всплывающую под-сказку с надписью хранящейся в символьной переменной S

33

Программный модуль в сущности является функцией но опи-санной с применением упомянутых программных средств Она воз-вращает значение определяемое последним оператором (если не предусмотрено иное с помощью оператора return) Это значит что после такого модуля выделенного как целый блок можно поста-вить знак равенства для вывода результата его работы (см рис 8) В блоке могут содержаться любые операторы и функции входного языка системы Для передачи в блок значений переменных можно использовать переменные документа которые ведут себя в блоке как глобальные переменные

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

14 Настройка MathCAD для работы

141 Настройка параметров вычислений

Для настройки параметров вычислений необходимо выбрать команду Options (Параметры) меню Math (Математика) При этом на экране появится диалоговое окно (Свойства) содержащее сле-дующие вкладки

Built-In Variabls (Встроенные переменные) ndash позволяет уста-новить значения встроенных системных переменных влияющих на точность вычислений и параметры некоторых функций системы

Calculation (Вычисление) ndash эта вкладка содержит две опции задающие режим автоматических вычислений и оптимизации вы-ражений перед вычислением

Display (Отображение) ndash позволяет форматировать вид сим-волов отображающих основные операторы системы (умножение деление локальное и глобальное присваивание и др)

34

Unit System (Система единиц) ndash позволяет выбрать систему единиц для размерных величин SI MKS CGS Us и None (не ис-пользуется ни одна из этих систем)

Dimensions (Размерность) ndash позволяет изменить формат раз-мерных величин (на вкладке содержится их перечень) Для этого надо laquoвключитьraquo опцию Display Dimensions (Просмотр размерно-стей)

Остановимся подробнее на изучении параметров вкладки Built-In Variabls (Встроенные переменные) Здесь можно изменить значения системных констант и переменных К ним относятся

Array Origin (ORIGIN) ndash начальное значение для индексов Например трехмерный вектор v при ORIGIN=0 (по умолчанию) имеет компоненты v0 v1 v2

Convergence Tolerance (TOL) ndash допустимое отклонение MathCАD использует эту переменную при различных численных расчетах таких как вычисление определенных интегралов и при решении уравнений с использованием функций root и polyroots По умолчанию TOL=10minus3

Constraint Tolerance (CTOL) ndash задает точность вычислений при использовании блока решений уравнений и систем Блок начинается со слова Given и заканчивается словами Find Minerr и др По умол-чанию CTOL = 10minus3

Seed value for random numbers ndash определяет интервал от 0 до указанного в поле значения из которого функция rnd(x) генери-рует x случайных чисел Возможность менять этот интервал позво-ляет получать разные последовательности случайных чисел

35

Presision (PRNPRESISION) ndash задает точность числовых значений которые помещаются в файл создаваемый функцией WRITEPRN

Column Width (PRNCOLWIDTH) ndash задает ширину столбца (в символах) при создании файлов с помощью функции WRITEPRN

Кнопка Restore Defaults (Восстановить по умолчанию) позво-ляет вернуть стандартно установленные в системе MathCAD пара-метры вычислений (те те что установлены по умолчанию) если внесенные вами изменения в системные переменные вас не устраи-вают Значения переменных по умолчанию указаны справа от по-лей предназначенных для ввода

142 Форматирование результатов вычислений

MathCAD представляет результаты вычислений в определен-

ном формате Этот формат включает в себя например число знаков после запятой величину начиная с которой используется экспонен-циальное представление чисел символ i или j для представления мнимой единицы и многое другое Чтобы задать формат представ-ления результатов вычислений надо выбрать команду Result (Ре-зультат) меню Format (Формат) В результате на экране появится диалоговое окно Result Format содержащее несколько вкладок

На вкладке Number format (Формат числа) находятся Поле Number of decimal places (Число десятичных знаков)

в котором задается количество отображаемых знаков после запятой (по умолчанию ndash 3)

36

Опция Show trailing zeroz (Показывать конечные нули) если установлена эта опция все числа будут отображаться с тем количе-ством знаков после запятой которое указано в поле Number of decimal places даже если без этого можно обойтись В этом случае число 5 будет иметь вид 5000 а число 0 ndash 0000

Поле Exponential threshold (Порог экспоненты) здесь необ-ходимо задать целое число n Оно указывает что числа x для кото-

рых справедливы неравенства 10nx и 110 nx представляются

в экспоненциальной форме Числу n можно присваивать значения от 0 до 15 по умолчанию 3n MathCAD производит вычисления с точностью 15 знаков после запятой

Опция Show exponents in engeneering format (Показывать экс-поненты в инженерном формате) всегда представляет число в экспоненциальном формате если показатель степени больше 3 или меньше 3 выделяя при этом 3 целых и 3 десятичных разряда В противном случае число отображается в явном виде например число 2233446 при включении опции будет выглядеть как

3223344 10 Список Format (Формат) ndash позволяет выбрать формат пред-

ставления чисел Выделим среди указанных в списке формат Decimal ndash при его выборе результат никогда не представляется в экспоненциальной форме Остальные форматы могут представлять числа в экспоненциальной форме Более подробно с видами форма-тов можно познакомиться нажав кнопку Справка

На вкладке Tolerance (Допуск) находятся поля Complex threshold (Комплексный порог) и Zero threshold (Нулевой порог)

Целое число n заданное в поле Complex threshold указывает что комплексные числа z для которых справедливо неравенство

Re Im 10 nz z представляются как чисто мнимые Числа для

которых Im Re 10 nz z ndash как действительные При вычисле-

ниях MathCAD не пренебрегает даже незначительной мнимой Чис-лу n можно присваивать значения от 0 до 63 по умолчанию 10n

Целое число n заданное в поле Zero threshold указывает что

числа x для которых справедливо неравенство 10 nx принимают-

ся равными 0 Числу n можно присваивать значения от 0 до 307 по

умолчанию 15n Для комплексных чисел у которых Re 10 nz

действительная часть принимается равной нулю то же самое спра-

37

ведливо и для мнимой части Значение заданное в поле Zero threshold действительно для всего документа

Вкладка Display Options содержит следующие поля и опции Matrix display style (Стиль отображения матриц) ndash выпада-

ющий список позволяет установить отображение матриц в стан-дартном математическом виде ndash Matrix в виде таблицы ndash Table либо предоставляет выбрать стиль представления матриц системе MathCAD ndash Automatic

При этом если матрица содержит менее 10 строк и столбцов она представляется в стандартном виде матрицы в противном слу-чае ndash в виде таблицы с полосами прокрутки По умолчанию уста-новлена опция Automatic

Опция Expand nested arrays (Развернуть вложенные массивы) ndash позволяет явно вывести элементы матрицы представляющие в свою очередь матрицы

Поле Imaginary value (Мнимая единица) ndash позволяет определить символ который будет использоваться для обозначения мнимой едини-цы (i или j)

В поле списка Radix (Система) ndash можно выбрать десятичную двоичную восьмеричную

или шестнадцатеричную систему счисления Вкладка Unit display (Отображение единиц измерения) со-

держит две опции Format Units (Формат единиц) ndash включает отоб-ражение единиц измерения Simplify units when possible ndash включает упрощение единиц измерения (если это возможно)

38

Окно Result Format можно открыть двойным щелчком на чис-ле представляющем собой результат вычислений

Если вы хотите увидеть точное значение некоторого числа не изменяя его формата выделите это число и нажмите клавиши [Ctrl+Shift+N] В строке состояния вы увидите данное число с 15 зна-ками после запятой

Если вы хотите применять выполненные установки и в других документах вам необходимо открыть соответствующий файл шаб-лона с расширением MCT из папки TEMPLATE и произвести в нем нужные изменения Кроме того вы можете сохранить текущий до-кумент как шаблон

39

2 ОПЕРАТОРЫ MATHCAD

21 Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD со-держит ряд операторов (табл 14) и функций Введем следующие обозначения для векторов ndash V для матриц ndash M и для скалярных ве-личин ndash Z

Таблица 14 Векторные и матричные операторы

Оператор Ввод Назначение оператора 1 2V V 1 2V V Сложение двух векторов V1 и V2 1 2V V 1 2V V Вычитание двух векторов V1и V2

V V Смена знака у элементов вектора V M M Смена знака у элементов матрицы M

V Z V Z Вычитание из вектора V скаляра Z Z V V Z Z V V Z Умножение вектора V на скаляр Z

MZ MZ MZ MZ Умножение матрицы M на вектор V 1 2V V 1 2V V Умножение двух векторов V1 и V2

M V M V Умножение матрицы M на вектор V M1M2 M1M2 Умножение двух матриц M1 и M2

V Z V Z Деление вектора V на скаляр Z M Z M Z Деление матрицы M на скаляр Z

1M M ^ 1 Обращение матрицы M

Mn M ^ n Возведение матрицы M в степень n

V Вычисление квадратного корня из μV

M Вычисление определителя матрицы M TV V Ctrl Транспонирование вектора V TM M Ctrl Транспонирование матрицы M

1 2V V 1 2V Ctrl V Кросс-умножение двух векторов V1 и V2 V rdquo Получение комплексно-сопряженного вектора Mrdquo Получение комплексно-сопряженной матрицы Alt $ V Вычисление суммы элементов вектора V V -Ctrl Векторизация вектора V M -Ctrl Векторизация матрицы M

M n M ^ nCtrl Выделение n-го столбца матрицы M

nV V n Выделение n-го элемента вектора V

Mm n M m n Выделение элемента (m n) матрицы M

Под понятием laquoвекторизацияraquo подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы Это можно понимать и как возможность параллельных вычислений

40

Если А и В ndash векторы то АВ дает скалярное произведение этих векторов Но то же произведение под знаком векторизации со-здает новый вектор каждый j-й элемент которого есть произведение j-х элементов векторов А и В Векторизация позволяет использовать скалярные операторы и функции с массивами

22 Векторные и матричные функции

Векторные и матричные функции представлены в виде табл 15 16

Таблица 15 Векторные функции

lenght V Возвращает длину вектора

last V Возвращает индекс последнего элемента

max V Возвращает максимальный по значению элемент

min V Возвращает минимальный по значению элемент

Re V Возвращает вектор действительных частей вектора с комплексными элементами

Im V Возвращает вектор мнимых частей вектора с комплексными элементами

i j k

Полностью асимметричный тензор третьей размерности i j k должны быть целыми числами от 0 до 2 (или между gt ORIGIN и ORIGIN+2 если ORIGINne0) Результат равен 0 если любые два аргумента равны 1 ndash если три аргумента являются четной перестановкой (0 1 2) и минус 1 если три аргумента являются перестановкой (0 1 2) кратной 2 и некратной 4

Таблица 16 Матричные функции

Augment (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие оди-наковое число строк (объединение идет laquoбок о бокraquo)

identity (n) Создает единичную квадратную матрицу размером nn

stack (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие одинаковое число столбцов располагая М1 над М2

Submatrix (A ir jr ic jc) Возвращает субматрицу состоящую из всех элементов содержащихся в строках с ir по jr и столбцов с ic по jc (irJjr и icJjc)

diag (V) Создает диагональную матрицу элемент главной диагонали которой ndash вектор V

matrix (m n f) Матрицу в которой (i j)-й элемент содержит f(i j) где i = 0 1 hellip m и j = 0 1 hellip n

Re (M) Возвращает матрицу действительных частей матрицы М с комплексными элементами

Im (M) Возвращает матрицу мнимых частей матрицы М с комплексными элементами

41

23 Функции возвращающие специальные характеристики матриц

Эти функции представлены в виде табл 17

Таблица 17

Функции возвращающие специальные характеристики матриц

сols(M) Возвращает число столбцов матрицы М rows (M) Возвращает число строк матрицы М rank (M) Возвращает ранг матрицы М

tr (M) Возвращает след (сумму диагональных элементов) квадратной матрицы М

mean (M) Возвращает среднее значение элементов массива М median (M) Возвращает медиану элементов массива М

cond1 (M) Возвращает число обусловленности матрицы вычисленное в норме L1

cond2 (M) Возвращает число обусловленности матрицы вычисленное в норме L2

conde (M) Возвращает число обусловленности матрицы вычисленное в норме евклидова пространства

condi (M) Возвращает число обусловленности матрицы основанное на равномерной норме

norm1 (M) Возвращает L1 норму матрицы М norm2 (M) Возвращает L2 норму матрицы М norme (M) Возвращает евклидову норму матрицы М normi (M) Возвращает неопределенную норму матрицы М

24 Дополнительные матричные функции Такие функции представлены в виде табл 18

Таблица 18

Дополнительные матричные функции

eigenvals (M) Возвращает вектор содержащий собственные значения матрицы М

eisenvec (M Z) Для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

eigenvecs (M)

Возвращает матрицу столбцами которой являются собствен-ные векторы матрицы М (порядок расположения собствен-ных векторов соответствует порядку собственных значений возвращаемых функцией eigenvals)

42

Окончание табл 18

genvals (M N) Возвращает вектор обобщенных собственных значений v соответствующий решению уравнения M x = vi ndash N minus x (матрицы М и N должны быть вещественными)

genvals (M N) Возвращает матрицу столбцы которой содержат нормированные обобщенные собственные векторы

+ lu (M) Выполняет треугольное разложение матрицы М P M = L U L и U minus соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные одного порядка

+ qr (A) Дает разложение матрицы A A = Q R где Q minus ортогональная матрица и R minus верхняя треугольная матрица

+ svd (A)

Дает сингулярное разложение матрицы А размером n times m A = = U S middotVT где U и V minus ортогональные матрицы размерностей mmiddotm и n times n соответственно S minus диагональная матрица на диагонали которой расположены сингулярные числа матрицы А

+ svds (A) Возвращает вектор содержащий сингулярные числа матрицы А размером m times n

Egeninv (A)

Возвращает матрицу левую обратную к матрице А LmiddotA=E где E ndash единичная матрица размером n times n L ndash прямоугольная матрица размером n times m A ndash прямоугольная матрица размером m times n

25 Функции сортировки для векторов и матриц

Функции сортировки представлены в табл 19

Таблица 19

Функции сортировки для векторов и матриц

Vsort Сортировка элементов векторов в порядке возрастания их значений

Vreverse Перестановка элементов (после sort) в обратном порядке

Mcsort n Перестановка строк матрицы М таким образом чтобы отсортированным оказался n-й столбец

Mrsort n Перестановка строк матрицы М таким образом чтобы отсортированной оказалась n-я строка

43

3 ГРАФИКА MATHCAD

31 Двухмерные графики в декартовой системе координат

MathCAD позволяет легко строить двух- и трехмерные гисто-граммы двухмерные графики в декартовых и полярных координа-тах трехмерные графики поверхностей линии уровня поверхно-стей изображения векторных полей пространственные кривые Существует три способа построения графиков в системе MathCAD

minus можно воспользоваться позицией Главного меню Insert вы-брав команду Graph и в раскрывающемся списке minus тип графика

minus выбрать тип графика на наборной панели Graph которая включается кнопкой на панели Math

minus воспользоваться быстрыми клавишами (они предусмотрены не для всех типов графиков)

Рассмотрим более подробно команды меню Insert Graph наборной панели Math

X-Y Plot (X-Y Зависимость) клавиша [] Служит для по-строения графика функции y = f(x) в виде связанных друг с другом пар координат (xi yi) при заданном промежутке изменения для i

Polar Plot (Полярные координаты) клавиши [Ctrl+7] Служит для построения графика функции r(q) заданной в полярных координатах где полярный радиус r зависит от полярного угла q

Surface Plot (Поверхности) клавиши [Ctrl+2] Служит для представления функции z = f(x y) в виде поверхности в трехмерном пространстве При этом должны быть заданы векторы значений xi и yj а также определена матрица вида Aij = f(xi yj) Имя матрицы A указывается при заполнении рамки-шаблона С помощью этой ко-манды можно строить параметрические графики

Contour Plot (Контурный график) Строит диаграмму ли-ний уровня функции вида z=f(xy) те отображает точки в которых данная функция принимает фиксированное значение z = const

3D Scatter Plot (3D Точечный) Служит для точечного пред-ставления матрицы значений Aij или отображения значений функ-ции z=f(xy) в заданных точках Эта команда может также использо-ваться для построения пространственных кривых

3D Bar Plot (3D Диаграммы) Служит для представления матрицы значений Aij или отображения значений функции z = f(x y) в виде трехмерной столбчатой диаграммы

44

Vector Field Plot (Поле векторов) Служит для представле-ния двухмерных векторных полей V=(Vx Vy) При этом компоненты векторного поля Vx и Vy должны быть представлены в виде матриц С помощью этой команды можно построить поле градиента функ-ции f(x y)

3D Plot Wizard (вызов мастера для быстрого построения трех-мерного графика) При выборе этой команды возникает ряд всплы-вающих окон в которых требуется выбрать параметры построения трехмерного графика (задаются тип трехмерного графика стиль его изображения цветовая гамма) График по умолчанию строится на промежутке от minus5 до +5 (по обеим переменным)

311 График функции у = f(x)

При выполнении команды Insert Graph Plot (или нажать соответствующую кнопку наборной панели) в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика (Клавиша [])

В ячейке расположенной под осью абсцисс указывается неза-висимая переменная x Ее следует определить заранее как перемен-ную принимающую значения из промежутка (ранжированная пере-менная)

В ячейке рядом с осью ординат необходимо задать функ-

цию f x график которой мы хотим построить Если эта функция

была определена заранее то в ячейку достаточно ввести f x в

противном случае следует ввести изображаемую функцию в явном виде (например cos x )

После ввода x и f x в графической области появятся еще че-

тыре ячейки которые не обязательно заполнять MathCAD автома-

45

тически находит подходящие значения для xmin xmax ymin ymax Если же предлагаемые MathCAD значения вас не устраивают вы можете задать свои

В MathCAD существует возможность строить график функ-ции не задавая предварительно промежуток изменения независи-мой переменной По умолчанию этот промежуток принимается рав-ным 1010

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

312 Кривые на плоскости заданные параметрически

Уравнения x f t y y t где f t и y t непрерывны

при t из a b устанавливающие зависимость декартовых коорди-

нат x y точки плоскости от значения параметра t определяют на

плоскости кривую заданную в параметрической форме

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

независимой переменной x под осью абсцисс необходимо задать индексированную переменную xi а рядом с осью ординат необхо-димо соответственно указать yi

46

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

313 Редактирование графиков в декартовой системе координат

Если вас не устраивает внешний вид построенных графиков вы можете его изменить выделив график (выполнив на нем щелчок так чтобы вокруг него появилась рамка) и воспользовавшись ко-мандой - Format Graph X Y Plot или выполнив на графике щелчок правой кнопкой мыши и выбрав команду Format из выпа-дающего контекстного меню (можно выполнить также двойной щелчок левой кнопкой мыши) В результате на экране появится диалоговое окно Formatting Currently Selected X-Y Plot позволяю-щее изменить вид графика

Данное диалоговое окно содержит несколько вкладок X-Y Axes (форматирование осей) Traces (тип линий графиков) Labels (подписи) Defaults (по умолчанию)

Первая из вкладок позволяет форматировать оси координат Log Scale (Логарифмическая шкала) ndash задает логарифмические

оси в этом случае границы графика должны задаваться положи-тельными числами

Grid Lines (Вспомогательные линии) ndash задает отображение сетки из параллельных осям линий

47

Numbered (Нумерация) ndash задает отображение подписи к мар-кировкам на осях

Autoscale (Автомасштаб) ndash задает автоматическое нахожде-ние подходящих границ для осей Но если вы сами зададите в соот-ветствующих ячейках минимальные и максимальные значения xmin xmax ymin ymax именно эти значения будут использоваться для опре-деления границ графика

Show Markers (Показать метки) ndash если установить эту опцию то в графической области появятся четыре дополнительные ячейки для создания красных линий маркировки соответствующих двум специальным значениям x и двум специальным значениям y

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Axes Style (Вид осей) ndash группа кнопок этой области позволяет выбрать следующие варианты представления осей Boxed (Ограни-ченная область) Crossed (Пересечение) ndash оси пересекаются в точке с координатами (00) None (Без границ) Флажок Equal Scales (Равный масштаб) позволяет задать одинаковый масштаб для обеих осей

Форматирование оси графика можно произвести выполнив на ней двойной щелчок

Для изменения типа линий графиков необходимо активизиро-вать вкладку Traces (След)

Legend Lable (Имя в легенде) ndash каждой кривой можно поста-вить в соответствие некоторый текст называемый легендой Леген-да отображается в нижней части графической области а рядом с каждой легендой отображается тип линии соответствующей кривой

Symbol (Символ) ndash позволяет выбрать символ для каждой точ-ки кривой (плюс крестик кружок и др)

48

Line (Линия) ndash можно выбрать один из следующих типов ли-ний solid (сплошная) dash (штриховая) dot (точечная) или dadot (штрихпунктирная) Это поле списка доступно в случае если в поле Type (Тип) выбран элемент lines

Color (Цвет) ndash задается цвет представления кривой на экране Type (Тип) ndash позволяет выбрать один из семи видов графика в

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

Weight (Вес) ndash позволяет задавать толщину линий графика В нижней части вкладки Traces расположены опции Hide

Arguments (Скрыть аргументы) ndash эта опция по умолчанию отклю-чена В этом случае под именем функции рядом с осью ординат ука-зывается текущий тип линий Если установить данную опцию ука-зание типа линий исчезнет

Hide Legend (Скрыть легенду) ndash по умолчанию легенда не

отображается Если вы хотите отобразить под графиком текст ле-генды его надо перед этим ввести в поле Legend Lable (Имя в леген-де) и подтвердить ввод выполнив щелчок на кнопке Применить Вкладка Labels (Метки) позволяет ввести заголовок графика и подписи для осей

49

В подменю Graph (Графика) меню Format (Формат) содер-жатся кроме прочих следующие команды

Trace (След) ndash при перемещении в области графика указателя

мыши при нажатой левой кнопке в полях X-Value (значение X) Y-Value (значение Y) диалогового окна X-Y Trace отображаются ко-ординаты точки на которую указывает курсор Если установлена опция Track Data Points (След точек данных) то курсор-крестик бу-дет перемещаться вдоль графика функции и вы сможете считывать текущее значение аргумента x и соответствующее значение функ-ции y=f(x) Координаты текущей точки можно скопировать в буфер с помощью кнопок Copy X (Копировать Х) Copy Y (Копировать Y)

Zoom (Изменение масштаба) ndash с помощью этой команды можно увеличить фрагмент графика предварительно выделив его протаскиванием мыши с нажатой левой клавишей После отпус-кания клавиши координаты углов выделенной области будут отображены в полях окна X-Y Zoom С помощью кнопки Zoom (Масштаб +) фрагмент можно увеличить с помощью кнопки Unzoom (Масштаб ndash) отменить выделение фрагмента а с помощью кнопки Full View (Обзор) ndash восстановить первоначальный вид графика Если вы увеличили фрагмент графика то при щелчке на кнопке OK в документе будет отображаться только этот фрагмент

50

32 Двухмерные графики в полярной системе координат

321 Построение полярных графиков

Для построения полярного графика необходимо выполнить

команду Insert Graph Polar Plot При этом в документ поме-щается графическая область с двумя незаполненными ячейками для построения графика (клавиши [Ctrl +7])

В нижнюю ячейку вводится полярный угол q Его следует определить заранее как переменную принимающую значения из промежутка (ранжированная переменная)

В левую ячейку вводится полярный радиус r q или Re r q и Im r q

Функция r q либо задается заранее ли-

бо ее определение вводится непосред-ственно в ячейку

График в полярных координатах можно построить и посредством команды

X Y Plot Только в этом случае необхо-димо дополнительно задать следующие функции х(q) = r(q)cos(q) и y(q) = r(q)sin(q) а в ячейках для абсцисс и ординат указать соответственно х(q) и y(q)

Если для некоторых углов q функ-ция не определена (не существует радиу-са с действительным значением он принимает чисто мнимые значе-ния) то MathCAD отображает на графике только действительные значения радиуса Но с помощью функций Re и Im можно предста-вить на одной круговой диаграмме графики как действительной так и мнимой части функции r q

322 Форматирование полярных графиков

Если вы хотите отредактировать график в полярных координа-тах необходимо выделить график (щелчком левой кнопки мыши) и выполнить команду Format Graph Polar Plot или выполнить

51

двойной щелчок на выделенном графике При этом откроется окно Formatting Currently Selected Polar Plot (Форматирование полярного графика) Это окно содержит те же вкладки что и для графиков в декартовой системе координат

Вкладка Polar Axes содержит следующие элементы Log Scale (Логарифмическая шкала) ndash используется для созда-

ния логарифмической r-оси Grid Lines (Вспомогательные линии) ndash отображает сетку ли-

ний соответствующих равенствам constr и constq Numbered (Нумерация) ndash линии constr и constq снабжа-

ются подписями Show Markers (Показать метки) ndash с помощью этой опции

можно снабдить график двумя дополнительными пунктирными окружностями constr Для этого надо ввести нужные значения радиуса в появившиеся ячейки Кроме того справа от графика ука-зываются минимальный и максимальный радиусы можно увеличить или уменьшить график введя в эти ячейки собственные значения

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Остальные значения параметров на этой вкладке и на других вкладках те же самые что и в случае команды - X Y Plot

52

33 Построение графика функции z = f (x y) в виде поверхности в декартовой

системе координат

Для построения графика поверхности можно воспользоваться двумя способами

Если вам надо только посмотреть общий вид поверхности то MathCAD предоставляет возможность быстрого построения подобных графиков Для этого достаточно определить функцию f x y и выполнить команду Insert

Graph Surface Plot или нажать со-ответствующую кнопку наборной пане-ли Graph (сочетание клавиш [Ctrl+7]) В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции MathCAD автоматически построит гра-фик поверхности Независимые переменные x и y принимают значе-ния из промежутка 5 5 При необходимости этот промежуток мо-

жет быть уменьшен или увеличен Для этого необходимо выделить график и воспользоваться командой 3 Format Graph D Plot или щелкнуть правой кнопкой мыши по выделенному графику и в кон-текстном меню выбрать команду Format В появившемся окне 3 D Plot Format на вкладке Quick Plot Data можно установить другие параметры изменения независимых переменных x и y

53

Для построения графика поверхно-сти в определенной области изменения независимых переменных или с кон-кретным шагом их изменения необхо-димо сначала задать узловые точки ix и

jy в которых будут определяться зна-

чения функции После (а можно и до) этого надо определить функцию f x y график которой хотите постро-

ить Затем необходимо сформировать

матрицу значений функции в виде i j i jA f x y

Теперь после выполнения команды Insert Graph Surface Plot в появившейся графической области достаточно ввести имя матри-цы (без индексов)

Если вы хотите чтобы узловые точки были расположены че-рез равные промежутки воспользуйтесь формулами

Для построения графика линий

уровня данной функции необходимо по-ступать так же как это было описано вы-ше только вместо команды (Поверхно-сти) следует выбрать команду Contour Plot (Контурный)

Аналогично с помощью команды 3 D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции с помощью команды

54

3 D Scatter Plot (3D Точечный) ndash трехмерный точечный график а с помощью команды 3 D Patch Plot (3D Лоскутный) ndash трех-мерный график поверхности в виде несвязанных квадратных пло-щадок ndash плоскостей уровня для каждой точки данных параллель-ных плоскости XY

Если поверхность задана параметрически это означает что все три координаты x y и z заданы как функции от двух параметров u и v Сначала необходимо задать векторы значений параметров iu и jv Затем необходимо определить матрицы значений функций ко-

ординат x u v y u v и z u v

После выбора команды Surface Plot в MathCAD-документе появится гра-фическая область В свободной ячейке внизу области надо указать в скобках имена (без аргументов и индексов) трех матриц ndash x y z

А А

55

34 Форматирование трехмерных графиков

Если вас не устраивает внешний вид созданного трехмер-ного графика вы можете изменить его выполнив команду

3 Format Graph D Plot или выполнив двойной щелчок мышкой на графической области В результате на экране появится диалого-вое окно 3 D Plot Format позволяющее изменять параметры отоб-ражения графика Мы рассмотрим здесь основные опции Разо-браться во всех тонкостях управлением видом графика вы можете самостоятельно построив график и поэкспериментировав выбирая те или иные опции

Диалоговое окно 3 D Plot Format содержит несколько вкладок Некоторые из них мы рассмотрим более подробно а для других minus опишем лишь их функциональное назначение

На вкладке General (Общие свойства) вы можете в области View задать направление взгляда наблюдателя на трехмерный график Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости XY Значение в поле Tilt задает угол наклона ли-нии взгляда к плоскости XY Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз равное цифре указанной в поле

ndash в области Axes Style (Стиль оси) задать вид осей выбрав се-лекторную кнопку Perimetr (Периметр) или Corner (Угол)

В первом случае оси всегда находятся на переднем плане При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A00 матрицы A

56

ndash в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями а опция Show border (Границы) позволяет заключить график в прямо-угольную рамку

ndash в области Plot 1 (Plot 2) Display as (Графикнесколько графи-ков отобразить как) имеются селекторные кнопки для представле-ния графика в других видах (контурный точечный векторное поле и др)

Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат

Посредством опций области Grids (Сетки) можно отобразить на графике линии описываемые равенствами x y z = const

Если установлены опции Show Numbers (Нумерация) отобра-жаются метки на осях и подписи к ним

При этом рядом с осями Ox и Oy указываются не значения уз-ловых точек xi yj а значения индексов i и j в то время как ось Oz размечается в соответствии с промежутком которому принадлежат элементы матрицы значений Ai j

Если установлена опция Auto Grid (Автосетка) программа самостоятельно задает расстояние между соседними отметками на осях Вы можете сами указать число линий сетки если отключите указанную опцию

Если установлена опция Auto Scale (Автошкала) то MathCAD сам определяет границы построения графика и масштабы по осям Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value (Ми-нимум) и Maximum Value (Максимум)

57

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options) вид цвет и толщину дополнительных линий на графике (область Line Options) наносить на график точки данных (опция Draw Points области Point Options) менять их вид размер и цвет

Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения laquoустановитьraquo несколько источников света выбрав для них цвет освещения и определив его направление

Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей ограничивающих область построения цвет нанесение сетки определение ее цвета и толщины прорисовка границ плоскостей

На вкладке Special (Специальная) можно изменять параметры построения специфичные для различных типов графиков

Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности графика а также указать направление смены окраски (вдоль оси Ox Oy или Oz) Включение опции Enable Fog (Наличие Тумана) делает график нечетким слегка размытым (полупрозрачным) При включении оп-ции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя

Вкладка Quick Plot Data обсуждалась ранее в начале раздела

35 Кривая в пространстве Трехмерные точечные графики можно использовать для по-

строения изображения пространственных кривых Пространствен-ные кривые задаются как правило в виде (x(t)y(t)z(t)) где t пред-ставляет собой непрерывный действительный параметр

58

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

и соединяющие их линии необходимо сначала определить три вектора координат ndash xi yi zi

Пространственная кривая создается командой 3 Insert D Graph Scatter Plot Можно использовать наборную панель Graph выбрав соответствующую пикто-грамму Для соединения точек необходимо на вкладке Appearance окна форматирова-ния графиков указать опцию Line

36 Векторные и градиентные поля

Команда Insert Graph Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx vy)

При этом векторное поле необходимо вначале определить как вектор-функцию двух координат ndash x и y Затем задаются векторы значений узловых точек x и y С помощью этих векторов компонен-ты векторного поля vx(xy) и vy(xy) генерируются в виде матриц значений vxi j и vyi j

59

Подобным образом можно построить градиентное поле ска-лярной функции f(x y)

Градиентное поле для функции двух переменных представляет собой двумерное векторное поле

Как и в остальных случаях внешний вид изображения вектор-ного поля можно легко изменить выполнив двойной щелчок в об-ласти графика и изменив требуемые опции в открывшемся диалого-вом окне 3 D Plot Format

37 Поверхности полученные вращением кривых вокруг осей

Интересные объемные фигуры мож-

но получить вращая некоторую кривую вокруг той или иной оси Построение этих фигур вращения сродни параметрически заданным поверхностям

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

60

38 Анимация в MathCAD

Для создания анимации строим график функции командой - X Y Plot из подменю Graph меню Insert Для анимации задается

промежуток изменения целочисленного параметра FRAME (по умолчанию от 0 до 9)

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

61

Теперь для создания анимации необходимо выполнить следу-ющие действия

1 Выбрать команду Animate из меню View При этом появится диалоговое окно Animate

2 Заключить построенный график в маркировочный прямо-угольник

3 Задать минимальное и максимальное значения параметра FRAME (поля From и To)

4 Задать в поле At количество воспроизводимых кадров в се-кунду

5 Выполнить щелчок на кнопке Animate При этом в диалого-вом окне вы увидите анимационные кадры

6 Чтобы воспроизвести анимацию щелкнуть на кнопке Play в появившемся окне Playback (Проигрыватель)

7 Чтобы внести изменения в анимацию выполнить щелчок на кнопке открытия меню в окне Playback

62

8 С помощью команды Save As можно сохранить анимацию в файле с расширением AVI

Встраивание анимации в MathCAD-до-кумент производится с помощью Windows Explorer Для этого необходимо

1 Запустить Windows Explorer 2 Выполнить в окне Windows Explorer

щелчок на имени AVI-файла 3 Перетащить AVI-файл в соответ-

ствующий MathCAD-документ 4 Воспроизвести анимацию можно посредством двойного

щелчка в графической области Анимацию можно также воспроизвести выполнив двойной

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

1 Выбрать команду Object из меню Insert 2 Установить опцию Создать из файла 3 Выбрать нужный AVI-файл с помощью кнопки Обзор 4 Установить опции Связь и В виде значка после чего выпол-

нить щелчок на кнопке OK

63

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба может привести к скачкообразному изменению размеров графика хотя на деле он должен меняться без скачков с дискретностью определяемой только изменением FRAME = 1 2 3 и тд

64

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ

41 Возможности символьного процессора MathCAD

Системы компьютерной алгебры снабжаются специальным

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

Ядро символьного процессора системы MathCAD minus несколько упрощенный вариант ядра известной системы символьной матема-тики Maple V фирмы Waterloo Maple Software у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение благодаря чему MathCAD стала (начиная с версии 30) системой символьной математики

Введение в систему MathCAD символьных вычислений прида-ет ей качественно новые возможности которые отсутствовали у прежних версий системы Куда важней что символьные вычисле-ния выполняются в конечном счете столь же просто (для пользова-теля) как скажем вычисление квадрата х

Символьные вычисления в MathCAD могут быть реализованы тремя способами

minus с использование команд подменю позиции Symbolics (Сим-волика) главного меню

minus с использованием команд панели Symbolic включаемой

кнопкой на математической панели инструментов (Начиная с версии MathCAd 40 для активных символьных вычислений при-меняется термин SMARTMATH представляющий комбинацию слов smart и MathCAD что в буквальном смысле означает умный MathCAD)

minus с использованием команды Optimization позиции главного меню Math

65

42 Команды меню Symbolics

Операции относящиеся к работе символьного процессора со-держатся в подменю позиции Symbolics (Символика) главного меню

Чтобы символьные операции выполня-лись процессору необходимо указать над ка-ким выражением эти операции должны произ-водиться те надо выделить выражение Для ряда операций следует не только указать выра-жение к которому они относятся но и наме-тить переменную относительно которой вы-полняется та или иная символьная операция

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

Следует отметить некоторые особенности при работе с коман-дами меню Symbolics

Для символьных вычислений выражения необходимо указы-вать явно Например недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл Это существенное ограничение о котором надо всегда помнить Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath которая описывается в дальнейшем главное в том что для вывода символьных вычислений в этом слу-чае используется оператор

Иногда результат вычислений содержит встроенные в систему специальные математические функции в этом случае результат по-мещается в буфер обмена Используя команду Paste или клавишу F4 можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат

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

66

Если операция невыполнима ndash система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изме-нений)

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

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

421 Операции с выделенными выражениями

Функции представлены в табл 20

Таблица 20

Операции с выделенными выражениями

Evaluate (Вычислить)

Преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

Упростить выделенное выражение с выполнением таких операций как сокращение подобных слагаемых приведение к общему знаменателю использование основных тригонометрических тождеств и тд

Expand (Разложить по степеням)

Раскрыть выражение [например для (Х + Y) (Х minus Y) по-лучаем X 2minus Y 2]

Factor (Разложить на множители)

Разложить число или выражение на множители [например Х 2 minus Y 2 даст (Х + Y) (Х minus Y)]

Collect (Разложить по подвыражению)

Собрать слагаемые подобные выделенному выражению которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение полиномиальное относительно выбранного выражения)

Polynomial Coefficients (Полиномиальные коэффициенты)

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

67

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами Evaluate Symbolically [Shift+F9](Вычислить в символах) minus вы-

полнить символьное вычисление выражения Floating Point Evaluation (С плавающей точкой) minus выполнить

арифметические операции в выражении с результатом в форме чис-ла с плавающей точкой

Complex Evaluation (В комплексном виде) minus выполнить преоб-разование с представлением в комплексном виде

Команда Evaluate Symbolically тут наиболее важная Назначе-ние других команд очевидно они нужны если результат требуется получить в форме комплексного или действительного числа К примеру если вы хотите вместо числа p получить 3141 ис-пользуйте команду Floating Point Evaluation В режиме символь-ных вычислений результат может превосходить машинную беско-нечность системы При этом число точных значащих цифр результата практически не ограничено (или точнее говоря зависит от емкости ОЗУ)

Символьная операция Evaluate Symbolically [Shift+F9] (Вычис-лить) обеспечивает работу с математическими выражениями со-держащими встроенные в систему функции и представленными в различном виде полиномиальном дробно-рациональном в виде сумм и произведений производных и интегралов и тд Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде Она возможна над матрицами с символьными элементами Производные и определен-ные интегралы символьные значения которых вычисляются долж-ны быть представлены в своей естественной форме

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью minus 20 знаков после запятой Для перехода в такой режим вычислений нужно числовые констан-ты в вычисляемых объектах задавать с обязательным указанием де-сятичной точки например 100 или 30 а не 10 или 3 Этот признак является указанием на проведение вычислений такого типа

На рисунке ниже показаны типовые примеры действия опера-ции Evaluate Symbolically

68

Здесь слева показаны исходные выражения подвергаемые

символьным преобразованиям а справа результат этих преобразо-ваний

Операция Evaluate Symbolically одна из самых мощных Как видно из рисунка она позволяет в символьном виде вычислять сум-мы (и произведения) рядов производные и неопределенные инте-гралы выполнять символьные и численные операции с матрицами

Simplify (Упростить)

Символьная операция Simplify (Упростить) minus одна из самых важных Эта операция позволяет упрощать математические выра-жения содержащие алгебраические и тригонометрические функции а также выражения со степенными многочленами (полиномами)

Упрощение означает замену более сложных фрагментов вы-ражений на более простые Приоритет тут отдается простоте функ-ций К примеру функция tan x считается более сложной чем

функции sin x и cos x Поэтому tan x упрощается так что по-

лучает представление через соотношение этих функций что не-сколько неожиданно так как в некоторых пакетах символьной ма-тематики например Derive ситуация иная они заменяют отношение sin cosx x функцией tan x

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений При-ведем примеры применения операции Simplify

69

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

Однако команда Simplify применительно к вычислениям опре-деленных интегралов делает гораздо больше minus она ищет аналитиче-ское выражение для интеграла Более того она способна делать это и при вычислении кратных интегралов пределы которых minus функции

Операцию Simplify можно использовать и для вычисления сумм и произведений символьных последовательностей Результат операции как и следовало ожидать получается в символьной форме (если она существует)

Приведенные примеры могут создать впечатление что

MathCAD справляется со всеми производными интегралами сум-мами и произведениями с помощью операции Simplify К сожале-нию это далеко не так Нередко система не справляется с кажущи-мися простыми справочными примерами Надо помнить что символьный процессор системы MathCAD обладает заметно уре-

70

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

В результате преобразований могут появляться специальные функции minus как встроенные в систему (функции Бесселя гамма-функция интеграл вероятности и др) так и ряд функций дополни-тельно определенных при загрузке символьного процессора (инте-гральные синус и косинус интегралы Френеля эллиптические ин-тегралы и др) Последние нельзя использовать при создании математических выражений

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в из-

вестном смысле противоположно действию операции Simplify Под-вергаемое преобразованию выражение расширяется с использова-нием известных (и введенных в символьное ядро) соотношений например алгебраических разложений многочленов произведений углов и тд Разумеется расширение происходит только в том случае когда его результат однозначно возможен Иначе нельзя считать что действие этой операции противоположно действию операции Simplify К примеру операция Simplify преобразует сумму квадратов синуса и косинуса в 1 тогда как обратное преобразование много-значно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные свести алгебраические выражения представленные в сжатом виде к выражениям в развернутом виде и тд Приведем примеры действия операции Expand Expression

Последний пример показывает что результатом операции мо-

жет быть специальная математическая функция которая считается более сложным выражением чем порождающее ее выражение

71

С виду однако выражения со специальными математическими функ-циями обычно выглядят гораздо проще чем исходные выражения

Factor (Разложить на множители)

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

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

Collect (Разложить по подвыражению)

Операция Collect (Разложить по подвыражению) обеспечива-

ет замену указанного выражения выражением скомплектованным по базису указанной переменной если такое представление воз-можно В противном случае появляется окно с сообщением о невоз-можности комплектования по указанному базису

Эта команда особенно удобна когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции

72

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

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

Polynomial Coefficients

(Полиномиальные коэффициенты)

Операция Polynomial Coefficients (Полиномиальные коэффи-циенты) в ранних версиях MathCAD отсутствующая служит для вычисления коэффициентов полинома

Операция применяется если заданное выражение ndash полином (степенной многочлен) или оно может быть представлено таковым относительно выделенной переменной Результатом операции явля-ется вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

422 Операции с выделенными переменными

Следующая группа символьных операций (табл 21) выпол-

няется с выражениями требующими указания переменной по от-ношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно поскольку указание в нем на пере-менную является одновременно и указанием на само выражение Если выражение содержит другие переменные то они рассматри-ваются как константы

73

Таблица 21 Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

Заменить указанную переменную содержимым буфера обмена

Differentiate (Дифференцировать переменную)

Дифференцировать все выражение содержащее выделенную переменную по отношению к этой переменной (остальные переменные рассматриваются как константы)

Integrate (Интегрировать по переменной)

Интегрировать все выражение содержащее выделенную переменную по этой переменной

Expand to Series (Разложить в ряд)

Найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной

Convert to Partial Fraction (Разложить на эле-ментарные дроби)

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

Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х то операция Solve (Решить) возвращает символьные значения ука-занной переменной х при которых F(x) = 0 Это очень удобно для решения алгебраических уравнений например квадратных и куби-ческих или для вычисления корней полинома Примеры решения квадратного уравнения и нахождения комплексных корней полино-ма четвертой степени

Ранее отмечалось что усложнение уравнения например пере-ход от квадратного уравнения к кубическому может вызвать и су-

74

щественное усложнение результата Тогда система представляет решение в более компактном виде (но без общепринятой математи-ческой символики) и предлагает занести его в буфер обмена

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

Более того форма представления результата в таком случае отличается от принятой в системе MathCAD (например в качестве знака деления используется косая черта для возведения в степень minus составной знак и тд) Это сделано ради компактности представ-ления результатов вычислений

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

Substitute (Заменить переменную)

Операция Substitute (Подстановка) возвращает новое выраже-ние полученное путем подстановки на место указанной переменной некоторого другого выражения Последнее должно быть подготов-лено и скопировано (операциями Cut или Copy) в буфер обмена Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой перемен-ной путем замены ее на числовое значение

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

75

Differentiate (Дифференцировать по переменной)

Нахождение символьного значения производной minus одна из са-мых распространенных задач в аналитических вычислениях Опера-ция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз Ниже показано применение операции дифференцирования

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычисле-

ниях minus вычисление интегралов (или нахождение первообразных) для аналитически заданной функции Для этого используется опе-рация Integrate (Интегрировать по переменной) Она возвращает символьное значение неопределенного интеграла по указанной кур-сором ввода переменной Выражение в состав которого входит пе-ременная является подынтегральной функцией

Здесь показан пример символьного интегрирования по пере-

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

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

Expand to Series (Разложить в ряд)

Операция Expand to Series(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной пе-ременной с заданным по запросу числом членов ряда п (число опре-деляется по степеням ряда) По умолчанию задано n = 6

76

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

Здесь представлено применение этой операции для разложе-ния функции sin(x)x Минимальная погрешность получается при малых х

Символьные операции нередко можно комбинировать для ре-шения сложных задач

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction (Разложить на элемен-

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

Как видно из представленных примеров применение этой

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

423 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции) которая имеет свое подме-ню со следующими операциями

Transpose (Транспонировать) minus получить транспонированную матрицу

Invert (Обратить) minus создать обратную матрицу

77

Determinant (Определитель) minus вычислить детерминант (опре-делитель) матрицы

Приведем примеры

424 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования создающий подменю со следующими возможностями

Fourier Transform (Преобразование Фурье) minus выполнить пря-мое преобразование Фурье относительно выделенной переменной

Inverse Fourier Transform (Обратное преобразование Фурье) minus выполнить обратное преобразование Фурье относительно выделен-ной переменной

Laplace Transform (Преобразование Лапласа) minus выполнить прямое преобразование Лапласа относительно выделенной пере-менной (результат minus функция от переменной s)

Inverse Laplace Transform (Обратное преобразование Лапласа) minus выполнить обратное преобразование Лапласа относительно выде-ленной переменной (результат minus функция от переменной t)

Z Transform (Z-преобразование) minus выполнить прямое Z-преоб-разование выражения относительно выделенной переменной (ре-зультат minus функция от переменной z)

Inverse Z Transform (Обратное Z-преобразование) minus выполнить обратное Z-преобразование относительно выделенной переменной (результат minus функция от переменной n)

По строкам показано применение соответственно преобразова-ния Фурье Лапласа и Z-преобразования а по столбцам minus исходная

78

функция ее интегральное преобразование и обратное преобразова-ние (выражения стоящего во втором столбце)

В меню Symbolics находится команда Evaluation Style при исполнении которой на экран выводится диалоговое окно позволя-ющее установить вид вывода результатов при работе с символьным процессором MathCAD

В группе переключателей Show envaluation steps (Стиль эво-люции) можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним Кроме то-го можно установить опции Show Comments для вставки коммента-риев и задать вывод результирующего выражения вместо исходного Evaluate in Place

43 Палитра символьных преобразований SmartMath

431 Назначение системы SmartMath

SmartMath minus фактически экспертная система ускоряющая вы-

числения в тех случаях когда это возможно При запущенной си-стеме SmartMath процессор численных операций приступая к вы-

79

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

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вы-числений и преобразований Система SmartMath более полно ис-пользует ядро символьных операций чем символьные вычисления из подменю позиции Symbolics главного меню и снимает некоторые ограничения на их выполнение Например возможно использование в преобразуемых выражениях функций пользователя Еще важнее то что результаты символьных преобразований выполняемых си-стемой SmartMath автоматически меняются при изменении исход-ных символьных данных

Система SmartMath в сущности является частью программных средств MathCAD реализующих линейные программы символьных вычислений

432 Операторы символьного вывода

Вначале для визуализации результатов символьных преобра-зований был введен специальный символ minus удлиненная горизон-тальная стрелка rarr Ее можно вызвать нажатием клавиш Ctrl+ (точка) или вызовом из палитр математических символов (для вво-да отношений и символьных операций) Шаблон этого знака имеет вид где на месте черного прямоугольника вводится подвергае-мое символьному преобразованию исходное выражение

Указанный символ можно рассматривать как простой оператор символьного вывода Если задать исходное выражение и вывести курсор из формульного блока с ним то система помещает результат его символьных преобразований после стрелки (оператора символь-ного вывода) Это и есть первый этап работы с системой SmartMath

В версию системы MathCAD 70 PRO введен еще один опера-тор ndash расширенный оператор символьного вывода Он задается нажатием клавиш Ctrl+Shift+ (точка) или выбором из палитры символьных операций Этот оператор имеет вид В первый шаблон-прямоугольник вводится исходное выражение а во второй ndash директивы символьных преобразований Задаются эти директивы или вводом соответствующих ключевых слов или из палитры сим-вольных операций

80

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

433 Состав директив системы SmartMath и их применение

При вводе стрелки rarr после выражения фактически (по умол-

чанию) над ним исполняется операция Simplify (Упростить) Но что подразумевается под этим ясно далеко не всегда даже несмотря на то что многие символьные операции система выполняет вполне очевидно например вычисление интеграла или производной в сим-вольном виде

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов помещенных на панели Symbolic ко-

торая вызывается кнопкой с панели инструментов Math (табл 22)

Таблица 22

Symbolic (символы)

Команда Функция Пример 1 2 3

Символьное вычисление

Символьное вычисление с ключевым словом

81

Продолжение табл 22

1 2 3

Modifier Дополнительные модификаторы

assume minus вводное слово для приведенных далее определений real minus для var=real означает вещественное значение var RealRange minus для var=RealRange(ab) означает принадлеж-ность вещественной var к интервалу [аb] trig minus задает направление тригонометрических преобразований

float Численное вычисление

complex Комплексное вычисление

assume

Символьное вычисление с некоторыми предположениями

solve

Решение уравнения (системы уравне-ний) относительно переменной (переменных)

simplify Упрощение выражений

substitute Замена переменной

factor Разложение на множители

expand Перемножение степеней и произведений

coeffs Определение коэффициентов полинома

collect

Группировка слагаемых по степеням переменной

series Разложение в ряд Тейлора или Лорана

parfac Разложение на элементарные дроби

82

Окончание табл 22

1 2 3

fourier Преобразование Фурье

invfourier Обратное преобра-зование Фурье

lарlасе Преобразование Лапласа

invlaplace Обратное преобразование Лапласа

ztrans Z-преобразование

invztrans Обратное Z-преобразование

MT Транспонирование матрицы

M-1 Нахождение обратной матрицы

|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными бук-

вами (кроме Modifier первая буква в этом слове должна быть прописной)

Блоки системы SmartMath имеют следующие отличительные свойства

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

несколько директив minus имеют конструкцию схожую с конструкцией программных

блоков Как нетрудно заметить директива упрощения simplify не име-

ет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения перемен-ной х и указания числа членов ряда Директивы преобразования

83

Лапласа (laplace) и решения уравнений (solve) требуют одного па-раметра minus указания имени переменной (в нашем случае х) С помо-щью директивы solve можно решать и системы уравнений minus тогда ее параметр будет вектором неизвестных

Выполнение матричных операций в символьной форме особой специфики не имеет

44 Оптимизация

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

Признаком оптимизации выражения является появление после него красной звездочки Кроме того щелкнув правой кнопкой мы-ши и выбрав из контекстного меню команду Show Popup можно наблюдать появление окна с оптимизированным выражением

Особый выигрыш оптимизация может дать при многократном

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

84

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

51 Линейные алгебраические уравнения

Уравнение вида 0ax b с заданным базовым множеством Gx a из Ga b из Gb называется линейным уравнением

Этапы решения с помощью MathCAD 1 Ввести уравнение (знак = вводится с помощью комбина-

ции [Ctrl++]) 2 Выделить курсором переменную относительно которой

должно быть решено уравнение 3 Выбрать команду Solve (Вычислить) подменю Variable (Пе-

ременные) меню Symbolics (Символы) При решении линейных уравнений (без параметров) или дроб-

ных уравнений которые сводятся к линейным MathCAD находит все существующие решения Однако при этом следует правильно интерпретировать сообщения выдаваемые системой

511 Единственное решение уравнения

В качестве решения MathCAD выдает число minus это означает что уравнение однозначно разрешимо (однозначное решение ли-нейного уравнения над множеством действительных чисел которое одновременно является областью определения этого уравнения)

512 Решение отсутствует

Рассмотрим другой пример

85

После выполнения описанных выше действий для нахождения решения MathCAD выдает сообщение о том что решение не найдено

Проанализировав данное уравнение приходим к выводу что выданное MathCAD сообщение означает что решений нет L=

MathCAD выдает сообщение laquoРешение не найденоraquo даже если уравнение имеет laquoформальное решениеraquo которое не принадлежит области определения (см примеры ниже)

513 Многозначность

Если в качестве решения MathCAD выдает имя переменной это означает что множество решений уравнения совпадает с областью определения Однако такие понятия как множество решений уравне-ния и область определения отсутствуют в MAthCAD и он не выписы-вает область определения Вы можете найти область определения решая с помощью MathCAD систему неравенств или уравнений

Такой результат выданный MathCAD после выполнения дей-ствий по решению уравнения означает что любое значение x из ба-зового множества удовлетворяет этому уравнению те L=R

514 Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Перемен-ные) меню Symbolics (Символы) выдает множество решений L = 6

86

Решение 6 копируем в буфер а затем выделяем маркером пе-ременную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены пере-менной значением 6

Рассмотрим пример

Здесь также правильное решение множество решений совпа-

дает с областью допустимых значений L = D Только следует учесть что D=R11

Рассмотрим другой пример

Последнее уравнение условно эквивалентно уравнению 2x = 4

Решение уравнения MathCAD 2 Формальное решение x = 2 не вхо-дит в область допустимых значений MathCAD выдает правильное сообщение

52 Квадратные уравнения и алгебраические уравнения высших порядков

Уравнение P(x) = 0 называется алгебраическим уравнением

n-го порядка если P(x) представляет собой полином степени n при n = 2 данное уравнение называется квадратным уравнением

87

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

521 Квадратное уравнение

Команда Solve (Вычислить) подменю Variable (Переменные)

меню Symbolics (Символы) дает решение в виде вектора L = minus2 minus4

Аналогичный результат можно получить используя директи-

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

Другой способ решения заключается в использовании коман-ды Factor (Фактор) меню Symbolics (Символы) для разложения по-линома на множители в соответствии с теоремой Виета

Отметим что при иррациональных и комплексных решениях

команда Factor (Фактор) меню Symbolics (Символы) не работает Но MathCAD находит и такие решения при использовании команды Solve

б)

в)a)

88

522 Квадратные уравнения с комплексными коэффициентами

При вводе уравнения с комплексными коэффициентами следу-ет вводить для i 1i для -i -1i для 2i 2i ни в коем случае не вводить laquoraquo

53 Уравнения более высокого порядка

MathCAD может решать уравнения вплоть до порядка 4 (даже символьно) Если возможно частичное разложение на множители то разрешимы уравнения и более высокого порядка Кубические уравнения

Уравнения четвертого порядка Уравнения седьмого порядка

б)а)

89

54 Иррациональные уравнения (уравнения с радикалами)

Корни (радикалы) могут вычисляться в MathCAD либо с по-

мощью знака корня (клавиши [Ctrl+]) либо как степени (клавиша [^] с дробными показателями Знак квадратного корня вводится нажатием клавиши [] Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор) Последовательность дей-ствий при решении уравнений с радикалами та же что и при реше-нии рассмотренных ранее уравнений

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

Радикалы определены не везде в действительной области Это обстоятельство приводит к необходимости находить область опре-деления прежде чем решать само уравнение Данная проблема справедливо игнорируется MathCAD поскольку он не может знать во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение Выход вы можете самостоятельно найти область определения воспользовавшись при этом возможно-стями MathCAD связанными с решениями неравенств

Вторая проблема возникающая при решении уравнений с ра-дикалами имеет принципиальный характер Функция x2 (как и лю-бая другая функция с четным показателем) на является инъективной (проблема главных значений) В связи с этим возведение в квадрат обеих частей уравнения содержащего квадратные корни не являет-ся эквивалентным преобразованием Как всегда при применении к обеим частям уравнения неинъективного преобразования увеличи-вается множество решений В результате в него могут войти laquoфик-тивныеraquo решения Как ни удивительно MAthCAD сам производит проверку решений на laquoфиктивностьraquo

Классический случай решения уравнения с радикалами

MathCAD распознает laquoфиктивныеraquo решения (которые могут воз-никнуть в результате неэквивалентного преобразования laquoвозведение в квадратraquo) и выдает верное сообщение Решение не найдено L =

90

В приведенных ниже примерах демонстрируется способность MathCAD находить область определения иррационального уравне-ния путем решения неравенств

Уравнения с радикалами третьей степени как и уравнения с комплексными коэффициентами не представляют для MathCAD никакой сложности

55 Уравнения с параметрами

При решении уравнений с параметрами MathCAD ведет себя по-разному в зависимости от того каким образом производятся символьные вычисления minus с помощью символьного знака равенства или команд меню Symbolics

91

В данном примере использование палитры символьных преоб-разований позволяет решить уравнение (solve) и упростить резуль-тат (simplify)

56 Экспоненциальные и логарифмические уравнения

Уравнение в котором независимая переменная входит в аргу-

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

Способ решения с помощью MathCAD такой же как и для других типов уравнений

Экспоненциальные уравнения во множестве действительных

чисел не создают дополнительных сложностей в том смысле что их область определения совпадает со множеством действительных чи-сел а логарифмирование представляет собой инъективное отобра-жение

Если при решении экспоненциального уравнения возникают

проблемы их как правило можно устранить посредством вспомо-гательного логарифмирования В крайнем случае можно обратиться к численным методам (см нелинейные уравнения и системы урав-нений в разд 510)

Значительно больше сложностей возникает при решении лога-рифмических уравнений

92

Область определения этих уравнений если рассматривать их во множестве действительных чисел как правило не совпадает с действительной числовой прямой MathCAD рассматривает лога-рифмические уравнения в комплексной области те не учитывая область определения

В данном примере показано что MathCAD иногда находит

решения (и даже действительные) там где их быть не может (про-блемы с комплексным логарифмом) Но нахождение области опре-деления позволяет прийти к верному решению

Насколько полезным может быть предварительное нахожде-ние области определения показывает следующий пример

93

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

множество решений L=

57 Тригонометрические уравнения

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

Для тангенса (и котангенса) этого главного значения доста-точно посредством периодического продолжения atan(x)+kp где k ndash целое представить все решения При решении уравнений с тан-генсами и котангенсами возникает также вполне разрешимая про-блема связанная с тем что данные функции определены не во всех точках числовой прямой

Данный пример показывает что вышеуказанное ограничение не

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

94

Вместо этого возникает другая сложность обратные функции asin(x) и acos(x) значениями которых являются главные значения обратных отображений не дают всех решений в рамках одного пе-риода (2p)

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

95

Данный пример демонстрирует пределы возможности MathCAD Решение напрямую не дает никаких результатов

Проведя дополнительные преобразования нам все-таки удает-ся найти решение

58 Неравенства

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

Неравенства как и уравнения можно решать либо с использо-ванием символьного знака равенства либо отметив переменную следом курсора посредством выполнения команды Solve (Вычис-лить) подменю Variable (Переменные) меню Symbolics (Символы) В разных неравенствах могут быть использованы различные знаки неравенств

Знаки laquoбольшеraquo и laquoменьшеraquo могут вводиться непосредственно с клавиатуры Все остальные знаки можно вводить с помощью па-нели Evaluation (Вычисления) либо сочетанием клавиш

96

Линейные неравенства и неравенства с дробно-рациональ-

ными функциями не составляют сложности для MathCAD

Неравенства с параметрами удобно анализировать с использо-

ванием знака символьного равенства если значения параметра ограничены некоторыми условиями

При решении неравенств содержащих трансцендентные

функции возможности MathCAD ограничены

В данном примере MathCAD не может решить неравенство

при использовании символьного процессора На помощь приходят

97

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

59 Системы линейных уравнений

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция lsolv(AB) Она решает си-стему линейных алгебраических уравнений вида A X B выдавая решение ndash вектор X А ndash матрица коэффициентов размерности n n В ndash вектор свободных членов размерности n X ndash вектор неизвест-ных пока решений

Эквивалентной для MathCAD формой представления систем

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

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения) Он удобен тем что при его использовании уравнения записываются не в матричной а в обычной форме а также тем что позволяет решать нелинейные

98

уравнения и вводить ограничительные условия для определяемого решения Блок решения применяется как для нахождения численно-го решения так и для отыскания решения в символьном виде

Синтаксис Блока решения Given Уравнения Ограничительные условия Find(v1v2vn) minus возвращает значение одной или ряда переменных для точного решения vi minus переменные которые надо найти i = 1 hellip n

Последовательность действий при численном решении

Задаем начальные (стартовые) значения для искомых пере-

менных Заключаем уравнения в блок решения начинающийся ключевым

словом Given и заканчивающийся ключевым словом Find (v1v2 vn) Если после слова Find (v1v2vn) ввести знак равенства [=]

MathACD выдаст численное решение При символьном решении не надо вводить начальные значе-

ния а после ключевого слова Find (v1v2vn) вместо знака равен-ства следует ввести символьный знак равенства (с помощью комби-нации [Ctrl+] или соответствующей пиктограммы панели Evaluation)

Существует еще одно важное отличие между блоком решения

и использованием матричных операций Если определитель матри-

99

цы коэффициентов равен нулю матричные методы оказываются непригодными В таком случае система не имеет решений или раз-решима неоднозначно Если же применить блок решения MathCAD распознает неоднозначность и выдает решение в параметрической форме

510 Нелинейные уравнения и системы уравнений

Многие уравнения например трансцендентные и системы из

них не имеют аналитических решений Однако они могут решаться численными методами с заданной погрешностью (не более значе-ния заданного системной переменной (TOL) Для простейших урав-нений вида F(x) = 0 решение находится с помощью функции

Rооt (Выражение Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем точности при котором выражение дает 0

Функция реализует вычисления итерационным методом при-чем можно задать начальное значение переменной Это особенно полезно если возможно несколько решений Тогда выбор решения определяется выбором начального значения переменной Пример ниже иллюстрирует технику применения функции root для вычис-ления корней кубического полинома

Как известно кубическое уравнение обязательно имеет хотя

бы один кубический корень х1 Он найден вначале функцией root Два других корня могут оказаться и комплексными Функция root

100

может отыскивать и такие корни Для поиска второго корня х2 первый исключается делением F(x) на (хminusх1) Соответственно для поиска третьего корня х3 F(X) делится и на (хminusх2)

Эту процедуру можно распространить и на поиск корней по-

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

5101 Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию polyroots(V) Она воз-вращает вектор корней многочлена (полинома) степени п коэффи-циенты которого находятся в векторе V имеющем длину равную n + 1

Заметим что корни полинома могут быть как вещественными

так и комплексными числами Не рекомендуется пользоваться этой функцией если степень полинома выше пятой-шестой так как то-гда трудно получить малую погрешность вычисления корней

При решении систем нелинейных уравнений используется специальный вычислительный блок открываемый служебным сло-вом директива Given и имеющий следующую структуру

101

Given Уравнения Ограничительные условия Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций Find(vl v2 vn) minus возвращает значение одной или ряда пере-

менных для точного решения Minerr(vl v2 vn) minus возвращает значение одной или ряда пе-

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

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

При использовании функции

Minerr для решения систем нелиней-ных уравнений надо проявлять из-вестную осторожность и обязательно предусматривать проверку решений

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

102

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ

61 Решение одиночного дифференциального

уравнения Для численного решения одиночного дифференциального

уравнения в MathCAD имеется функция Odesolve с помощью кото-рой может быть решена как задача Коши для обыкновенного диф-ференциального уравнения так и граничная задача Эта функция входит в состав блока решения и является его заключительным ключевым словом

Odesolve x b step ndash возвращает функцию которая является

решением дифференциального уравнения Используется в блоке с оператором Given

x ndash переменная интегрирования действительное число b ndash конечная точка отрезка интегрирования step ndash величина шага по переменной интегрирования (необяза-

тельный аргумент) Замечания 1 Уравнение должно быть линейным относитель-

но старшей производной 2 Число заданных начальных или граничных условий внутри

блока должно быть равно порядку уравнения 3 При записи уравнения для обозначения производных функ-

ции используйте специальные кнопки с панели Math или (штрих) minus [Ctrl+F7] для знака равенства = [Ctrl+=] (в том числе и для допол-нительных условий)

4 Конечная точка должна быть больше начальной 5 Не допускаются начальные и граничные условия смешанно-

го типа 5f a f a

6 Искомая функция в блоке должна быть обязательно с аргу-ментом f x

103

62 Численное решение задачи Коши для дифференциальных уравнений и систем

Для численного решения задачи Коши дифференциальных

уравнений и их систем могут быть использованы функции 1 2 rkfixed y x x n F ndash возвращает матрицу решений системы

уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

1 2 rkadapt y x x n F ndash ищет решение с переменным шагом

(там где решение меняется медленнее шаг увеличивается а в обла-сти быстрого изменения решения шаг функции уменьшается) Воз-вращается решение с равным шагом Функция работает быстрее чем rkfixed

1 2 Bulstoer y x x n F ndash дает более точное решение (методом

Bulirsch-Stoer) Аргументы вышеуказанных функций y ndash вектор начальных условий 1 2x x ndash границы интервала для поиска решения

n ndash количество точек на интервале F x y ndash вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе диффе-ренциальных уравнений первого порядка

104

В результате работы указанных функций рассчитывается мат-

рица количество столбцов которой равно порядку уравнения +1 (или сумме порядков уравнений в системе +1) а количество строк равно параметру n Первый столбец содержит значения независи-мой переменной второй ndash значение функции третий ndash для диффе-ренциальных уравнений 2-го порядка ndash значение производной искомой функции (если решается система двух уравнений 1-го по-рядка то третий столбец будет содержать значения второй функ-

105

ции) Для выделения решений (функций или их производных) мож-но воспользоваться стандартным оператором вывода столбцов мат-рицы Mlt gt

Если матрица правых частей дифференциальных уравнений почти вырождена то такие системы называются жесткими В этом случае решения возвращаемые функцией rkfixed будут неустойчи-выми и для решения таких систем необходимо применять функции Stiffb Stiffr где 1 2 Stiffb y x x n F J ndash ищет решение дифференци-

ального уравнения или системы дифференциальных уравнений ме-тодом Bulirsch-Stoer

1 2 Stiffr y x x n F J ndash ищет решение дифференциального

уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же как и при решении хорошо обусловленных систем дифференциальных уравнений Дополни-тельный аргумент ndash матрица J размером 1n n первый столбец

которой содержит частные производные dF dx остальные столбцы и строки представляют собой матрицу Якоби dF dy

106

0 0 0

0

1 1 1

0

0

n

n

n n n

n

F F F

x y y

F F F

x y yJ x y

F F F

x y y

Пример решения жесткой системы дифференциальных урав-нений

Для отыскания решения системы дифференциальных уравне-

ний только в конечной точке используются функции bulstoer rkadapt stiffb stiffr

Набор параметров для этих функций 1 2 maxbulstoer y x x acc F k save

1 2 maxrkadapt y x x acc F k save

1 2 maxstiffb y x x acc F k save

1 2 maxstiffr y x x acc F k save

107

Первые три параметра и пятый F этих функций те же что и

для функции Rkadapt Дополнительные параметры acc ndash параметр контролирующий точность решения (реко-

мендуется асс = 0001) maxk ndash максимальное число промежуточных точек в которых

ищется решение save ndash минимально допустимый интервал между точками в

которых ищется решение

63 Решение граничных задач для обыкновенных дифференциальных

уравнений

Если для дифференциального уравнения n-го порядка k гра-ничных условий заданы в начальной точке 1x а n k граничных

условий ndash в конечной точке 2x то такая задача называется краевой В MathCAD реализованы две функции позволяющие численно найти недостающие условия в точках 1x и 2x

631 Двухточечная краевая задача

Задача решается в два этапа Сначала с помощью функции sbval находятся недостающие начальные значения а затем приме-няется одна из вышеописанных функций для решения стандартной задачи Коши на отрезке

1 2 sbval V x x xf F load score ndash ищет недостающие началь-

ные условия в точке 1x V ndash вектор начальных приближений для искомых начальных

значений в точке 1x 1x 2x ndash граничные точки интервала F x y ndash вектор-столбец из n элементов содержит правые ча-

сти дифференциальных уравнений 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точке 1x некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

2score x y ndash вектор-столбец размерности вектора V содер-

жащий разность между начальным условием в точке 2x и значени-ем искомого решения в этой точке

108

Теперь решаем задачу традиционным методом

632 Краевая задача с условиями внутри интервала

На первом этапе используется функция ( 1 2 1 2 balfit V V x x xf 1 2 )F load load score ndash ищет недостающие начальные условия

в точках х1 и х2 сшивая решения выходящие из этих точек в точке xf

109

1 2V V ndash векторы начальных приближений для искомых на-чальных значений в точках х1 и х2

х1 х2 ndash граничные точки интервала 2 1 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точках х1 х2 некоторые из значений ndash констан-ты другие неизвестны и будут найдены в процессе решения

2 2 2load x V ndash вектор-столбец из n элементов содержит

начальные значения в точке х2 некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

score xf y ndash вектор-столбец размерности n содержащий раз-

ность между решениями начинающимися в точках х1 и х2 в точке xf

110

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ

71 Одномерная линейная аппроксимация

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

При кусочно-линейной интерполяции или аппроксимации вычи-сления дополнительных точек выполняются по линейной зависимости Графически это означает просто соединение узловых точек отрезками прямых для чего используется следующая функция linterp VX VY x

Для заданных векторов VX и VY узловых точек и заданного ар-гумента х эта функция возвращает значение функции при ее линей-ной аппроксимации При экстраполяции используются отрезки пря-мых с наклоном соответствующим наклону крайних отрезков при линейной интерполяции например

111

72 Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная ин-

терполяция оказывается довольно грубой Для целей экстраполяции функция linterp не предназначена и за пределами области определе-ния может вести себя непредсказуемо

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

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

cspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии в опорных точках к ку-бическому полиному

pspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии к опорным точкам пара-болической кривой

lspline VX VY ndash воз-

вращает вектор VS вторых производных при прибли-жении к опорным точкам прямой Наконец четвертая

функция int erp VS VX VY x ndash возвращает значение у (х) для за-

данных векторов VS VX VY и заданного значения x

112

Таким образом сплайн-аппроксимация проводится в два эта-па На первом с помощью функций cspline pspline или Ispline отыс-кивается вектор вторых производных функции у(х) заданной векто-рами VX и VY ее значений (абсцисс и ординат) Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с по-мощью функции interp

73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D графиков имеется возможность осуществления двумерной сплайн-интерполяции Это позволяет существенно повысить представительность сложных гра-фиков SD-функций в том числе контурных

113

Интерполяция функции двух переменных проводится также в два этапа

1 Вычисляется вектор VS вторых производных в опорных точках с помощью функций

cspline Mxy Mz

pspline Mxy Mz

lspline Mxy Mz

Здесь Mxy ndash матрица размера 2n строки которой определя-

ют по диагонали x y координаты прямоугольной сетки Mz ndash

матрица размера n n значений функции в узлах вышеопределен-ной сетки

2 Вычисление с помощью функции int erp VS Mxy Mz V

Здесь V minus вектор координат x y

Показаны графики функции двух переменных после проведе-ния двумерной сплайн-интерполяции и без нее

114

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ

81 Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х) Задача регрессии заключается в получении параметров этой функ-ции такими чтобы функция приближала облако исходных точек (заданных векторами VX и VY ) с наименьшей среднеквадратичной погрешностью

Чаще всего используется линейная регрессия при которой функция у(х) имеет вид у(х) = a + bx и описывает отрезок прямой К линейной регрессии можно свести многие виды нелинейной ре-грессии при двупараметрических зависимостях у(х)

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций

corr VX VY ndash возвращает скаляр ndash коэффициент корреляции

Пирсона int ercrpt VX VY ndash возвращает значение параметра а (смеще-

ние линии регрессии по вертикали) slope VX VY ndash возвращает значение параметра b (наклона

линии регрессии)

115

82 Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной

регрессии общего вида При ней заданная совокупность точек при-ближается функцией вида

1 2 1 1 2 2 F x K K Kn K F x K F x KnFn x

Таким образом функция регрессии является линейной комби-нацией функций 1 2 F x F x Fn x причем сами эти функции

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

Для реализации линейной регрессии общего вида использует-ся функция inf l it VX VY F Эта функция возвращает вектор

коэффициентов линейной регрессии общего вида K при котором среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек если их координаты хранятся в векторах VX и VY оказы-вается минимальной Вектор F должен содержать функции

1 2 F x F x Fn x записанные в символьном виде

Расположение координат точек исходного массива может быть любым но вектор VX должен содержать координаты упорядочен-ные в порядке их возрастания а вектор VY ndash ординаты соответ-ствующие абсциссам в векторе VX

116

83 Функции для одномерной и многомерной полиномиальной регрессии

Функция для обеспечения полиномиальной регрессии при про-

извольной степени полинома регрессии regress VX VY n введена

в новую версию MathCAD Она возвращает вектор VS запрашиваемый функцией int erp VS VX VY x содержащий коэффициенты многочлена n-й

степени который наилучшим образом приближает laquoоблакоraquo точек с координатами хранящимися в векторах VX и VY

Для вычисления коэффициентов полинома регрессии исполь-зуется функция submatrix

На практике не рекомендуется делать степень аппроксимиру-ющего полинома выше четвертой-шестой поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий поли-ном коэффициенты которого вычисляются по всей совокупности заданных точек те глобально Иногда полезна другая функция по-линомиальной регрессии дающая локальные приближения отрез-ками полиномов второй степени ndash loess VX VY span Эта функция

возвращает используемый функцией int erp VS VX VY x вектор

VS дающий наилучшее приближение данных (с координатами то-чек в векторах VX и VY ) отрезками полиномов второй степени Ар-гумент span gt 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение ndash 075)

117

Чем больше span тем сильнее сказывается сглаживание данных При больших span lt эта функция приближается к 2regress VX VY

MathCAD позволяет выполнять также многомерную регрес-сию самый типичный случай которой ndash приближение трехмерных поверхностей Их можно характеризовать массивом значений высот z соответствующих двумерному массиву Мху координат точек (х у) на горизонтальной плоскости

Новых функций для этого не задано Используются уже описанные функции в несколько иной форме

Regress Mxy Vz n ndash возвращает вектор запрашиваемый функ-

цией int erp VS Mxy Vz V для вычисления многочлена п-й степени который наилучшим образом приближает точки множества Мху и Vz Мху ndash матрица т times 2 содержащая координаты x и y

Vz ndash m-мерный вектор содержащий z-координат соответ-ствующих m точкам указанным в Мху

118

loess Mxy Vz span аналогична loess VX VY span но в

многомерном случае int erp VS Mxy Vz V возвращает значение z по заданным

векторам VS (создается функциями regress или loess) и Мху Vz и V (вектор координат х и у заданной точки для которой находится z)

84 Функция для нелинейной регрессии

общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора K параметров произвольной функции 1 2 F x K K Kn при котором обеспечивается минимальная

среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек

Для проведения нелинейной регрессии общего вида использу-ется функция genfit VX VY VS F Эта функция возвращает вектор

K параметров функции F дающий минимальную среднеквадратич-ную погрешность приближения функцией 1 2F x K K Kn ис-

ходных данных F должен быть вектором с символьными элементами содер-

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

119

ментов вектора K необходимые для решения системы нелинейных уравнений регрессии итерационным методом

85 Функции сглаживания данных

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

medsmooth VY n ndash для вектора с m действительными числами

возвращает m-мерный вектор сглаженных данных по методу сколь-

120

зящей медианы параметр n задает ширину окна сглаживания (n должно быть нечетным числом меньшим m)

ksmooth VX VY b ndash возвращает n-мерный вектор сглаженных

VY вычисленных на основе распределения Гаусса здесь VX и VY ndash n-мерные векторы действительных чисел параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в не-сколько раз превышать интервал между точками по оси х)

sup smooth VX VY ndash возвращает n-мерный вектор сглажен-

ных VY вычисленных на основе использования процедуры линей-ного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k здесь VX и VY ndash n-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возрастания

86 Функция предсказания

Весьма интересной является функция предсказания predikt data k N где data ndash вектор данных k ndash число последних

точек существующих данных на основе которых происходит расчет предсказываемых точек N ndash число точек в которых необходимо предсказать данные Она по ряду заданных равномерно располо-женных точек позволяет рассчитать некоторое число N последую-

121

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

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

122

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ

Вплоть до появления 7-й версии системы MathCAD возможно-сти программирования в них были крайне ограниченными Факти-чески MathCAD позволяла реализовать лишь линейные программы в основе которых лежит понятие функции Функция if и ранжиро-ванные переменные в отдельных случаях могли заменить условные выражения и циклы но с серьезными ограничениями Отсутствова-ла возможность задания завершенных программных модулей

Эти возможности в расширенном варианте появились в MathCAD 70 Pro Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке) включаемой кнопкой на панели Math

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

Эти подпрограммы-функции составляются так же как и опре-деления функций (табл 23) Рассмотрим простой пример вычисле-ния суммы Sum(n) = 1 + 2 + 3 + + n

Задайте сначала имя функции Sum вслед за которым введите список параметров (n) и оператор присваивания =

Введите начальное значение s 0 и отметьте его целиком Стрелка служит оператором присваивания в теле программы вво-дится клавишей (открывающая фигурная скобка) или выбором кнопки со стрелкой с панели

Создайте новую строку программы (вставка вертикальной черты) с помощью кнопки Add Line клавиша (закрывающая квадратная скобка) На экране появится вертикальная черта и пустая ячейка

Выполните щелчок на кнопке for чтобы ввести оператор цикла Перед символом принадлежности введите переменную i а после него ndash промежуток изменения переменной 1n В находящей-ся ниже ячейке введите присваивание s s+i Программа готова

123

Таблица 23 Команды панели Symbolic (символы)

Команда Функция Пример

Add Line Добавляет новую строку поднад (зависит от выделения) текущей строкой

Присваивание значения локальной переменной

if

Условный оператор (оператор ветвления) if условие должно стоять после if а оператор который исполняется если выполнено заданное условие ndash перед if

otherwise Обозначает оператор который должен быть исполнен если условие оператора if не выполняется

for

Цикл for за ключевым словом for следует переменная-счетчик а после символа принадлежности вводится промежуток изменения этой переменной Внутренние операторы цикла сдвинуты немного вправо

while

Цикл while внутренние операторы цикла будут исполняться до тех пор пока будет истинным условие следующее за ключевым словом while Пример показывает применение цикла для нахождения нулей функции методом касательных Ньютона

break

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

continue Служит для преждевременного завершения текущей итерации цикла сам цикл при этом продолжается

retutn Преждевременное завершение программы указанное в ячейке значение будет возвращено

on error Если при вычислении выражения expr2возникла ошибка вычисляется выражение expr1

124

Условный оператор if и оператор otherwise Рассмотрим пример программного блока вычисляющего фак-

ториал с использованием рекурсии

В данном примере 1 возвращается только если n = 0 или n = 1

Обратите внимание на задание нескольких условий ndash со знаком плюс каждое условие в скобках В остальных случаях учитывая формулу n=n(n minus 1) вызывается fakt(n minus 1) и умножается на n С помощью функции error можно вывести сообщение об ошибке при непра-вильном вводе аргумента

Для демонстрации работы цикла for рассмотрим ту же задачу но вычисление факториала осуществим с помощью цикла

Если n = 0 или n = 1 возвращается 1 в противном случае с по-мощью цикла for вычисляется произведение n=123n Вычис-ленное последним значение p возвращается автоматически

В следующем примере с помощью алгоритма Евклида опреде-ляется наибольший общий делитель Для реализации алгоритма используется цикл с ключевым словом while

125

91 Прерывание цикла с помощью операторов break и continue Оператор return

Первый пример ndash реализация метода касательных Ньютона

для определения нулей функции На основе начального значения x вычисляется новое улучшенное значение x расположенное ближе к искомому нулю функции При этом итерации повторяются до тех пор пока значение функции не станет меньше заданной точности (в примере 10minus6)

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

Кроме ключевого слова break имеется ключевое слово

continue с похожей функцией В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору continue прерывает выполнение только текущей итерации

126

92 Ключевое слово continue Ключевое слово continue используется для выявления всех ну-

лей функции на заданном интервале При этом в примере производится разбиение интервала на n

равных подынтервалов и ищутся те из них на которых функция ме-няет знак При обнаружении такого подынтервала вызывается функция реализующая метод касательных Ньютона с начальным значением находящимся в середине подынтервала

Обратите внимание по завершении работы программы выда-

ется вектор значений Ниже приводится программа вычисляющая коэффициенты

Фурье функции причем в результате выдается матрица значений нулевая по счету строка содержит коэффициенты Аn а первая ndash ко-эффициенты Bn Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn и первый ndash для Bn

127

128

ЛАБОРАТОРНЫЕ РАБОТЫ

Методические указания Порядок выполнения работы 1 Получите у преподавателя задание на выполнение очеред-

ной работы (вариант и дополнительные указания) и уясните цель 2 Разработайте структуру и алгоритм работы программы 3 Реализуйте алгоритм в виде текста на языке Maple 4 Продемонстрируйте работу программы преподавателю и

при наличии замечаний сделайте необходимые поправки 5 Подготовьте и сдайте отчет о работе Требования к оформлению отчета

По каждой выполненной лабораторной работе составляется отчет который должен содержать

minus титульный лист с названием учебного заведения и кафедры учебной дисциплины указанием номера работы фамилии исполни-теля и фамилии преподавателя принявшего работу

minus тему цель работы и развернутое лабораторное задание с от-ражением сведений о конкретном варианте

minus при необходимости minus краткое пояснение принципов метода и алгоритма решения задачи

minus текст программы minus фактические результаты исполнения программы minus вывод о работоспособности программы с объяснением при-

чин обнаруженных некорректностей в работе

129

Лабораторная работа 1 Тема Решение нелинейных уравнений

Лабораторные задания 1 Разработать программу вычисления корня нелинейного

уравнения с некоторой точностью одним из четырех методов поло-винного деления (ПД) касательных (К) хорд (Х) хорд и касатель-ных (ХК)

2 Решить эти же уравнения используя встроенные функции MathCAD

3 Сравнить полученные результаты

Методические указания С методами решения можно ознакомиться в [1minus3] Построить графики функций и отделить корень

Варианты заданий

Метод решения Задания

Метод хорд

Вариант 1 1 sin 035x x 2 3 23 9 8 0x x x

Вариант 5

1 12 cos 0368 0x x 2 3 3 1 0x x Вариант 9

1 ctg 3 0x x 2 3 201 06 15 0x x x Вариант 13

1 2 4sin 0x x 2 3 201 04 2 0x x x Вариант 17

1 lg 7 2 6 0x x 2 3 203 09 08 0x x x

Метод половинного деления

Вариант 2

1 2 5 3 0x x 2 22 log 1x x

Вариант 61 exp 2 2 1 0x x 2 tg 2 4x x x

Вариант 10 1 arctg 1 2 0x x 2 4 3 23 4 12 1 0x x x

Вариант 14

1 2 5xe x 2 3l g 1 1x o x

Вариант 18 1 lg 1 1x x 2 4 218 6 0x x

130

Окончание

Метод

касательных

Вариант 3

1 3ln 1 0x x 2 3 22 2 0x x

Вариант 7

1 2 1xx 2 3 23 9 10 0x x x Вариант 11

1 121 1x x 2 3 2 2 0x x

Вариант 151 cos 0x x 2 3 3 1 0x x

Вариант 19 1 2 lnx x 2 3 204 06 18 0x x x

Метод хорд и касательных

Вариант 4

1 2tg 047 02x x 2 3 22 3 12 5 0x x x Вариант 8

1 lg 12 0x x 2 3 23 24 3 0x x x Вариант 12

1 2ctg105 0x x 2 3 23 1 0x x Вариант 16

1 3 cos 1 0x x 2 3 22 9 6 0x x Вариант 20

1 2 21x

x e 2 3 23 8 0x x

131

Лабораторная работа 2 Тема Решение систем Лабораторные задания 1 Решить линейную систему классическим методом Гаусса

или одним из его модифицированных методов 2 Решить линейную систему методом Крамера используя со-

ответствующие пакеты 3 Решить нелинейные системы уравнений методами итераций

и Ньютона 4 Решить эти же системы используя встроенные функции 5 Результаты

Методические указания С методами решения можно ознакомиться в [1minus3 5 6] Построить графики функций и определить область существо-

вания корня Варианты заданий

1 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 1

3 2 4

2 3 6

2 3 4

х х х х

х х х х

х х х х

х х х х

sin 1 12

2 cos 2

x y

x y

2

2 2

tg 04

06 2 1

0 0

xy x

x y

x y

2 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 6

2 3 8

3 2 2 4

2 3 2 8

х х х х

х х х х

х х х х

х х х х

сos 1 05

cos 3

x y

x y

2 2

sin 16 0

1

0 0

x y x

x y

x y

3 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 4 5

2 2 3 1

3 2 2 1

4 3 2 5

х х х х

х х х х

х х х х

х х х х

sin 2 2

cos 1 07

x y

y x

3 2

2 2

tg 01

2 1

xy x

x y

4 1 3 4

1 3 4

1 2 4

1 2 3

3 4 5

2 3 4

3 2 5 12

4 3 5 5

х х х

х х х

х х х

х х х

2 sin 05 1

cos 15

x y

x y

2 2

sin 12 02

1

x y x

x y

132

Продолжение

5 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

3 5 7 12

3 5 7 0

5 7 3 4

7 3 5 16

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

x y

y x

3 2

2 2

tg 03

09 2 1

xy x

x y

6 1 2 3 4

1 2 3

1 2 4

2 3

5 3 4 20

3 2 9

5 7 10 9

3 5 1

х х х х

х х х

х х х

х х

сos 05 08

sin 2 16

x y

y x

2 2

sin 13 0

1

x y x

x y

7 1 2 3 4

1 2 4

2 3 4

1 2 3 4

2 5 8

3 6 9

2 2 5

4 7 6 0

х х х х

х х х

х х х

х х х х

sin 1 13

sin 1 08

x y

x y

3

2

2 2

tg

08 2 1

xy x

x y

8 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 4

3 3 3 2 6

3 2 6

3 3 6

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

y x

x y

2 2

sin 15 01

1

x y x

x y

9 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 7

2 5

2 1

3 3 10

х х х х

х х х х

х х х х

х х х х

сos 05 2

sin 2 1

x y

y x

3

2

2 2

tg

07 2 1

xy x

x y

10 1 2 4

1 2 3

2 3 4

1 2 3 4

4 2 9

3 4 7

3 2 4 12

2 3 0

х х х

х х х

х х х

х х х х

sin 2 15

cos 2 05

x y

y x

2 2

sin 12 01

1

x y x

x y

11 1 2 3 4

1 2 4

1 3 4

1 2 3 4

2 1

2 3 2

3 3

2 2 2 5 6

х х х х

х х х

х х х

х х х х

sin 1 12

cos 2 2

y x

x y

2

2 2

tg 02

06 2 1

xy x

x y

12 1 2 3 4

2 3 4

1 2 4

1 2 3

2 0

2 2

3 1

3 2 0

х х х х

х х х

х х х

х х х

сos 1 05

cos 3

y x

y x

2 2

sin 15 01

1

x y x

x y

133

Окончание

13 1 2 4

1 2 3 4

1 3 4

1 2 4

5 9

3 3 4 7

3 2 16

4 0

х х х

х х х х

х х х

х х х

сos 1 07

sin 2 2

x y

y x

2

2 2

tg 04

08 2 1

xy x

x y

14 1 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 9

2 8

2 5

2 1

х х х

х х х х

х х х х

х х х х

2 sin 05 1

cos 15

y x

y x

2 2

sin 12 01

1

x y x

x y

15 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 6 2 2 12

3 5 7 12

3 5 7 0

5 7 3 4

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

y x

x y

2

2 2

tg 01

09 2 1

xy x

x y

16 1 2

1 2 3 4

1 2 3 4

1 2 3 4

5 2

2 3 2 4

3 2 6

3 3 6

х х

х х х х

х х х х

х х х х

сos 05 08

sin 2 16

x x

x y

2 2

sin 14

1

x y x

x y

17 1 2 4

1 2 3 4

1 2 3 4

1 2 3 4

4 2

2 3 1

2 3 6

2 3 4

х х х

х х х х

х х х х

х х х х

sin 1 13

sin 1 08

y x

y x

2

2 2

tg 01

05 2 1

xy x

x y

18 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

5 3 4

2 3 2 6

2 2 3 8

3 2 2 4

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

x y

y x

2 2

sin 11 01

1

x y x

x y

19 1 2 3 4

1 2 3 4

1 3 4

1 2 3 4

4 2 4 3

2 1

3 3

2 2 2 5 6

х х х х

х х х х

х х х

х х х х

2 cos 05

sin 2 1

x y

x y

2 2

tg

2 1

x y xy

x y

20 1 3 4

2 3 4

1 2 4

1 2 3

2 2 1

2 2

1

3 2 0

х х х

х х х

х х х

х х х

sin 2 15

cos 2 05

y x

x y

2 2

sin 1

075

x y xy

x y

134

Лабораторная работа 3 Тема Работа с многочленами Лабораторные задания 1 Исследовать заданные функции на непрерывность найти их

экстремумы 2 Разложить заданную функцию одного переменного в ряд в

окрестности указанной точки 0x до n-го порядка 3 Преобразовать ряд в многочлен который разложить по сте-

пеням х а Построить графики заданной функции и получивше-

гося многочлена 4 Уметь находить коэффициенты при заданных степенях

старшие и младшие степени корни из многочлена и интервалы дей-ствительных корней многочлена раскладывать в ряд функции мно-гих переменных

Варианты заданий

Номер варианта

Функция n 0x

1 siny x arcsinu xy 10 1

2 cosy x u xy 8 minus1

3 lny x zu xy 9 3

4 tgy x zu y x 6 minus2

5 arcsiny x expu z xy 10 minus07

6 arccosy x lnu x y z 9 08

7 exp 2y x expu x zy 6 17

8 3 4 5y x x u th x y z 8 minus066

9 05log 1y x u ch x y z 5 15

10 05 2y sh x 2 2 2x y z 10 05

11 03 4y ch x 2 2 2x y z 7 minus045

12 13arctgy x 2 2 21 u x y z 5 03

13 1 exp 1y x x 2 2 2ln u x x y z 10 minus14

14 3 cos 1y x x 2 2tg u z x y 12 09

135

Окончание

Номер варианта

Функция n 0x

15 2 1 sin 7 3y x x ctgu x y z 9 055

16 2tgy x 22 z x y 6 08

17 2ln 1y x 2 2 21 cosu x y z 10 01

18 2 21 1y x x 2 2 21 sinu x y z 8 0

19 2 21 1y x x 2tgu x z 9 0

20 2 2sin 1y x x u cth x y z 10 036

136

Лабораторная работа 4 Тема Интерполяция и экстраполяция функций Цель построение интерполяционных многочленов по равно-

и неравноотстоящим узлам вычисление значений функций в ука-занных точках

Лабораторные задания 1 Построить интерполяционные многочлены Лагранжа Нью-

тона по равно- и неравноотстоящим узлам а также первые и вторые интерполяционные формулы Ньютона Гаусса и Бесселя

2 Выполнить линейную квадратичную кубическую и четвер-того порядка сплайн-аппроксимацию

Методические указания С методами построения многочленов можно ознакомиться

в [1minus3]

Варианты заданий

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

0298

0303

0310

0317

0323

0330

0339

150

155

160

165

170

175

180

325578

317639

312180

304819

2098755

2091950

283598

1

7

13

19

02006 03645

144 182

02654 03325

146 177

03127 03222

154 185

02746 03033

149 172

043

048

055

062

070

075

078

0115

0120

0125

0130

0135

0140

0145

163597

173234

187686

203345

222846

235973

253687

2

8

14

20

04984 073482

01144 0142

04998 08375

01004 0148

04256 08751

01157 0152

04057 08599

0105 0150

137

Окончание

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

011 015 021 029 035 041 047

150 155 160 165 170 175 180

15132 17422 20393 23994 28160 32812 37875

3 9

15

18

0112 0481 143 175 0128 0462 156 1751 0104 0439 148 1782 0103 04661 1523 1885

002 008 012 017 023 030 035

0375 0380 0385 0390 0395 0400 0405

102316 109590 121483 114725 130120 140976 139642

4

10

16 5

0021 036 0365 0406 024 0348 0379 0427 005 0321 0384 0403 0057 0337 0371 0413

068 073 080 088 093 099 106

185 190 195 200 205 210 215

43198 48689 54653 59653 64817 69554 71258

6

11

17

12

066 105 182 214 069 11 188 211 071 103 173 201 0682 0983 194 221

138

Лабораторная работа 5 Тема Разложение функций в ряд Фурье

Лабораторные задания 1 Разложить заданную функцию в ряд Фурье по системе ор-

тонормированных функций 2 Построить в одной системе координат графики функции и

некоторых частичных сумм ряда Фурье

Методические указания С методами решения можно ознакомиться в [1minus3 5minus7]

Варианты заданий

Номер варианта Функция у(х) Система функций

1 expx x Гегенбауэра

2 23 5 11x x Эрмита

3 sin 2 6x Лагерра

4 cos 5 x Лежандра

5 21 3x Якоби

6 2 21 1x x Чебышева 1-го рода

7 2 21 1x x Чебышева 2-го рода

8 1 cos x Гегенбауэра9 1 sin x Эрмита10 cosx x Лагерра11 sinx x Лежандра12 cos x x Якоби

13 sin x x Чебышева 1-го рода

14 exp x x Чебышева 2-го рода

15 6x Гегенбауэра16 1 x Эрмита17 1 Лагерра18 2cos x Лежандра

19 2sin x Якоби

20 122 1x Чебышева 1-го рода

21 122 1x Чебышева 2-го рода

139

Лабораторная работа 6 Тема Решение дифференциальных уравнений Лабораторные задания 1 Решить дифференциальное уравнение методами Эйлера

Рунге-Кутта Милна Адамса и простроить графики решений считая начальные условия нулевыми

2 Решить дифференциальное уравнение методами системы MathCAD и сравнить результаты решений

Методические указания Принять шаг равным 01 в качестве отрезка на котором ищет-

ся решение взять отрезок [01] С методами решения можно ознакомиться в [1minus3 5 6 8] Варианты заданий

Но-мер вари-анта

Уравнение у= f(x)

Но-мер вари-анта

Уравнение у= f(x)

1 21 02 siny y x y 11 cos 05y x y x y

2 2cos 1 05y x x y 12 2cos 1 06y x y y

3 21 04 sin 15y y x y 13 2cos 2 03y y x y

4 cos 15y x y x y 14 1 sin 05 2y x y y x

5 2cos 15 01y y x y 15 21 06sin 125y x y

6 cos 2 15y x y x y

16 1 01 2 sin 2y y x x y

7 2cos 1254 01y y x y

17 21 08 sin 2y y x y

8 cos 15 15y x y x y

18 1 sin 2 03 2y x y y x

9 2cos 175 05y y x y

19 1 1 sin 2y x y y x

10 2cos 08 03y x y y 20 21 22sin 15y x y

140

Лабораторная работа 7

Тема Интегральные преобразования Цель вычисление интегральных преобразований

Лабораторное задание От заданных функций найти прямое и обратное преобразова-

ние Фурье Лапласа Гильберта и Меллина

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

ознакомиться в [1minus3 5minus7] Так как не все заданные функции записа-ны в таблицы интегральных преобразований то необходимо соста-вить для них соответствующие интегральные суммы

Варианты заданий

Номер варианта Функция Номер варианта Функция

1 x 11 2 0

0 0

x

x

2 1 0 1

2 1

0 0 2

x

x x

x x

12 2x

3 1 0 1

0 0 1

x x

x x

13 2 0 2

0 0 2

x x

x x

4 sin 0

0 0

x x

x

14 0

0 0

x x

x

5 cos 0

0 0

x x

x

15 3x

6 1 0 1

3 1

0 0 2

x x

x x

x x

16 3 0 1

3 1

0 0 9

x x

x

x x

7 2 0

0 0

x x

x

17

1 1 1

0 1 1

x

x x

8 3 0

0 0

x x

x

18

1 1

0 1 1

x x

x x

9 exp x 19 2 1 1

0 1 1

x x

x x

10 exp 0

0 0

x x

x

20 3 1 1

0 1 1

x x

x x

141

САМОСТОЯТЕЛЬНЫЕ РАБОТЫ

Самостоятельная работа 1 1 Вычислите для каждого значения 1 5 7x следующие

функции

3 62 5

1y

x x

2

21

2

x

y e

2arctg

2

xy

Рекомендуется использовать операцию векторизации (MathPalette матричные операции) Измените количество значащих цифр выводимых на экран после десятичной точки на 6

2 Решите двумя способами (матричным и с помощью функ-

ции lsolve) систему линейных уравнений

2 0

2 3 1

5 1

x y z

x y z

x y z

Справку по использованию функции lsolve найдите в справоч-ной системе MathCAD

3 Смените нижнюю границу индексации массивов на 1 Вы-ведите решение системы уравнений из п 2 в виде вектора-столбца и поэлементно

4 Скопируйте первую из формул п 1 и замените в ней первое подкоренное выражение в знаменателе на sin x а второй операнд

в знаменателе ndash на ctg2

x

Присвойте полученное выражение но-

вой переменной G (удалив у) 5 Вставьте в документ текстовую область laquoПостроение про-

стейшего графикаraquo 6 Определите функцию sin cos 1f x x x

7 Постройте график функции f x (воспользуйтесь быстрым

построением графиков)

142

Самостоятельная работа 2 1 Задайте вектор 1V состоящий из трех элементов 231 и

вектор 2V ndash 417

2 Выполните следующие операции 1 3V 1 2V V 1 2V V 1 2V V просуммируйте элементы 1V транспонируйте вектор 2V

вычислите норму вектора 1V используя операцию векторизации вычислите sin 1V и посчитайте норму получившегося вектора

3 Задайте матрицу М с размерностью 2 3 транспонируйте ее 4 Создайте единичную матрицу Е размерности 5 5 вычис-

лите ее след 5 Создайте две квадратные матрицы 1M и 2M размерности

3 3 перемножьте их у полученной матрицы вычислите определи-тель выведите на экран второй столбец и поэлементно третью строку

6 Сложите матрицы 1M и 2M (матрица MM ) для получен-ной матрицы вычислите exp MM

7 Объедините матрицу MM и вектор 1V отсортируйте полу-ченную матрицу по первым столбцу и строке

8 Вычислите собственные значения любой из введенных мат-риц размерности 3 3 а также собственный вектор принадлежащий второму собственному значению

143

Самостоятельная работа 3 1 Задайте ранжированную переменную х меняющуюся от 0

до 2 с шагом 01 определите функцию 2sin 2f x x x построй-

те ее график

2 Определите изменение целого индекса i от 0 до 15 10ix i

2sin 2i i iy x x постройте график функции i iy x

3 Постройте график функции 2 2g x y x y где перемен-

ные x и y меняются от minus5 до 5 4 Изобразите сферу Ее параметрическое представление имеет

вид

8 0 0

cos sin

sin sin

cos

R

x R

y R

z R

Число точек 30N

5 Анимация Измените определение радиуса сферы

cosR f FrameF Постройте анимационный график (число

кадров равно 20 число кадров в секунду minus 3 Просмотрите на плеере получившуюся анимацию

ВНИМАНИЕ Перед построением анимации не забудьте от-ключить АВТОМАСШТАБ

6 Постройте графики функций заданных полярно

115 0 2

31 sin 2

2

sin 31 1

2

NN

r

r

144

7 Изобразите пространственную кривую

340 1 cos

3 sin

3

i

i

i

N i N x iN

y iN

z iN

8 Увеличьте число точек N повторите построение предыду-щего графика поэкспериментируйте меняя различные параметры отображения графика

145

Самостоятельная работа 4 1 Используя команды меню Symbolic вычислите в символь-

ном виде

1 sin

dx

x 1

cosm

n

na

2 Разложите по степеням sin 5x Посчитайте производную

от полученного выражения Постройте график функции и ее пред-ставлений в виде ряда включающих 2 члена разложения 5 членов разложения и 10 членов разложения

3 Вычислите коэффициенты полинома по степеням х и у

2 2 2 25 6 7 8 9 10x y x y xy xy x y

4 Используя интегральное преобразование Лапласа (и обрат-ное преобразование Лапласа) решите в символьном виде диффе-ренциальное уравнение

sind

y t ky t tdt

5 Используя палитру символьных преобразований найдите точку в которой функция двух переменных имеет экстремум

sind

y t ky t tdt

6 Вычислите в символьном виде интеграл предположив что с minus действительное число с gt 0

0

expx ct dt

7 Используя оператор символьного вывода и блок Givenhellip Find решите в символьном виде систему уравнений

2

2

400 2 2 0

200 200 0

y x x b x

y x

146

8 Вычислите предел от функции tg x при х стремящемся к

2 minus обыкновенный слева и справа 9 Исследуйте аналитически функцию f x определите точки

максимума и минимума точки перегиба постройте графики f x

f x и f x

2

2

1

xf x

x

147

Самостоятельная работа 5 1 Найдите решения систем уравнений (если они существуют)

а) 2

23 1

2 2

yx

x y

б) 2

2

0

1 0

x

e y

x y

с помощью блоков GivenhellipFind GivenhellipMinner Проверьте все ли решения найдены

2 Решите на отрезке [0 3] задачу Коши

0 051

x

x

ey y

e

используя функцию odersolve (в блоке с Given) и функцию rkfixed Выведите значение полученного решения в точке x = 3 3 Решите задачу Коши для дифференциального уравнения

0 0 3 0 1 0 1y y y y y

на отрезке [01] используя функцию odersolve (в блоке с Given) и функцию rkadapt

4 Решите систему дифференциальных уравнений

2 3 0 0 0 5

2 0 2 0 1

x x y x x

y x y y y

на отрезке [0 3] Выведите значения искомых функций и их произ-водных в точке с координатой х =15

5 Решите краевую задачу для дифференциального уравнения

10 0 0 0 8 1

2y yy y y y

на отрезке [0 8] выведите значение функции и ее производных в конечной точке отрезка

6 Для примера из п 5 вычислите значение функции только в конечной точке Используйте специально предназначенные для это-го формы функций bulstoer rkadapt stiffb stiffr

7 Найдите корни многочлена

3 22 20 2 100y x x x x

с помощью функций root и poltroots (Обратите внимание на значе-ние системной переменной)

148

Самостоятельная работа 6 1 Составьте программу вычисляющую константу фигуриру-

ющую в легенде об изобретателе шахмат Изобретатель попросил дать ему в награду определенное количество зерна положив на

первую клетку одно зернышко ( 1 12 те 02 ) на вторую minus два зер-

нышка ( 2 12 ) на третью minus четыре ( 3 12 ) и тд (на новой клетке зе-рен в 2 раза больше чем на предыдущей) Найдите общее число зе-рен составляющих награду изобретателя Вычислите их массу приняв за массу одного зерна 03 грамма Переведите полученный результат в тонны Вы знаете это число А MathCAD знает

2 Модифицируйте программу предусмотрев выход из нее ес-

ли число зерен больше триллиона ( 1210 ) 3 Составьте программу-функцию вычисляющую по заданным

длинам сторон треугольника a b c три величины периметр тре-угольника его площадь и радиус вписанной окружности

1

2s p p a p b p c

12p a p b p c

rp

где p minus полупериметр Предусмотрите в программе оценку существования треуголь-

ника с заданными длинами сторон a b c и выдачу результата об ошибке если треугольник с указанными сторонами не существует

4 Составьте программу-функцию вычисляющую n коэффи-циентов разложения функции f x заданной на отрезке L L в

ряд Фурье minus те параметрами являются f n L 5 Используя построенную в п 4 функцию вычислите при-

ближение рядом Фурье ступенчатой функции заданной на 11

0 если 1 0

1 если 0 1

xf x

x

Рассмотрите приближения для разных n (например 3n и 40n ) Постройте график функции f x и ее приближений рядами

Фурье с различным числом членов разложения

149

Самостоятельная работа 7 1 Введите матрицу координат точек плоскости

х 01 5 11 05 34 27 19 4 47 у 10 13 5 7 3 45 6 25 15

Постройте линейную и сплайновую интерполяцию для данно-

го laquoоблакаraquo точек Постройте функции линейной полиномиальной и обобщенной регрессии для этих же точек

2 С помощью функции rnd введите 50 случайных чисел из от-резка [0 2] Постройте функции сглаживания данных (с помощью различных встроенных функций)

3 С помощью функции predict предскажите поведение функ-ции sin 2f x x на [2 4] если предположить что она задана

на отрезке 0 2 Изменится ли предсказанное поведение если в

качестве исходных данных взять функцию определенную на [0 ]

150

СПИСОК ЛИТЕРАТУРЫ 1 Демидович Б П Основы вычислительной математики

Б П Демидович И А Марон М Лань 2011 minus 672 с 2 Фаддеев Д К Вычислительные методы линейной алгебры

Д К Фаддеев В Н Фаддеева М Лань 2002 736 с 3 Вержбицкий В М Численные методы учеб пособие для

вузов В М Вержбицкий minus 2-е изд испр minus М ООО Изд дом laquoОНИКС 21 векraquo 2005 minus 400 с

4 Вержбицкий В М Численные методы Математический анализ и обыкновенные дифференциальные уравнения В М Верж-бицкий minus М Высш шк 2001 minus 382 с

5 Воробьева Г Н Практикум по численным методам Г Н Во-робьева А Н Данилова minus М Высш шк 1990 minus 208 с

6 Кудрявцев Л Д Краткий курс математического анализа учеб для вузов Л Д Кудрявцев minus М Наука Гл ред физ-мат лит 2005 minus 736 с

151

Учебное издание

Черушева Татьяна Вячеславовна Зверовщикова Наталья Васильевна

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

В трех частях

Часть 1

Редактор Т В Веденеева Компьютерная верстка Р Б Бердниковой

Подписано в печать 9122015 Формат 60times84116 Усл печ л 883 Тираж 50

Заказ 1069

Издательство ПГУ

440026 Пенза Красная 40 Телфакс (8412) 56-47-33 е-mail iicpnzguru

  • Пустая страница
Page 2: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

2

УДК 681306(075) Ч-50

Р е ц е н з е н т ы кандидат технических наук доцент кафедры

laquoИнформационные вычислительные системыraquo Пензенского государственного университета

А П Писарев

кандидат физико-математических наук доцент заведующий кафедрой laquoИнформационные технологииraquo

Пензенского филиала Московского государственного университета технологий и управления им К Г Разумовского

(Первый казачий университет)

Ю Ю Горюнов

Ч-50

Черушева Т В Компьютерные технологии в математических исследованиях

учеб пособие в 3 ч Т В Черушева Н В Зверовщикова ndash Пенза Изд-во ПГУ 2015 ndash Ч 1 ndash 152 с

ISBN 978-5-906831-21-7 (ч 1) ISBN 978-5-906831-20-0 Рассматривается одна из наиболее распространенных математических

программ minus пакет MathCAD фирмы MathSoft Inc который в настоящее вре-мя широко используется для решения научно-технических и инженерных задач Излагаются основы техники работы с пакетом MathCAD Возможности MathCAD иллюстрируются на типовых вычислительных задачах Приводятся лабораторные работы (рабочие документы MathCAD) с подробными коммента-риями а также задания к ним Реализация заданий на компьютере позволит студентам приобрести навыки работы с пакетом и эффективно использовать их в учебном процессе

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

УДК 681306(075)

Рекомендовано к изданию методической комиссией факультета вычислительной техники Пензенского государственного университета

(протокол 2 от 20102015 г)

ISBN 978-5-906831-21-7 (ч 1) copy Пензенский государственный ISBN 978-5-906831-20-0 университет 2015

3

СОДЕРЖАНИЕ

ПРЕДИСЛОВИЕ 5 1 РАБОТА В СРЕДЕ MATHCAD 6

11 Интерфейс пользователя 6 12 Входной язык системы MathCAD Типы данных 13 13 Ввод и редактирование данных 20 14 Настройка MathCAD для работы 33

2 ОПЕРАТОРЫ MATHCAD 39 21 Векторные и матричные операторы 39 22 Векторные и матричные функции 40 23 Функции возвращающие специальные характеристики матриц 41 24 Дополнительные матричные функции 41 25 Функции сортировки для векторов и матриц 42

3 ГРАФИКА MATHCAD 43 31 Двухмерные графики в декартовой системе координат 43 32 Двухмерные графики в полярной системе координат 50 33 Построение графика функции z = f(x y) в виде поверхности в декартовой системе координат 52 34 Форматирование трехмерных графиков 55 35 Кривая в пространстве 57 36 Векторные и градиентные поля 58 37 Поверхности полученные вращением кривых вокруг осей 59 38 Анимация в MathCAD 60

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ 64 41 Возможности символьного процессора MathCAD 64 42 Команды меню Symbolics 65 43 Палитра символьных преобразований SmartMath 78 44 Оптимизация 83

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ 84 51 Линейные алгебраические уравнения 84 52 Квадратные уравнения и алгебраические уравнения высших порядков 86 53 Уравнения более высокого порядка 88 54 Иррациональные уравнения (уравнения с радикалами) 89 55 Уравнения с параметрами 90 56 Экспоненциальные и логарифмические уравнения 91 57 Тригонометрические уравнения 93 58 Неравенства 95 59 Системы линейных уравнений 97 510 Нелинейные уравнения и системы уравнений 99

4

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ 102

61 Решение одиночного дифференциального уравнения 102 62 Численное решение задачи Коши для дифференциальных уравнений и систем 103 63 Решение граничных задач для обыкновенных дифференциальных уравнений 107

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ 110

71 Одномерная линейная аппроксимация 110 72 Одномерная сплайн-интерполяция и сплайн-аппроксимация 111 73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация 112

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ 114 81 Функции для линейной регрессии 114 82 Функция для линейной регрессии общего вида 115 83 Функции для одномерной и многомерной полиномиальной регрессии 116 84 Функция для нелинейной регрессии общего вида 118 85 Функции сглаживания данных 119 86 Функция предсказания 120

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ 122

91 Прерывание цикла с помощью операторов break и continue Оператор return 125 92 Ключевое слово continue 126

ЛАБОРАТОРНЫЕ РАБОТЫ 128 САМОСТОЯТЕЛЬНЫЕ РАБОТЫ 141 СПИСОК ЛИТЕРАТУРЫ 150

5

ПРЕДИСЛОВИЕ

Интегрированная компьютерная система MathCAD (Mathema-tical Computer Aided Design) является одной из самых распростра-ненных в мире программных сред предназначенных для решения широкого круга математических задач Программа MathCAD позво-ляет моделировать в электронном документе научно-технические расчеты в форме близкой к общепринятому в математике виду MathCAD имеет мощный математический аппарат в виде библиоте-ки встроенных программ реализующих множество математических алгоритмов Система поддерживает как численные так и аналити-ческие операции В ней можно работать без программирования В MathCAD есть собственные текстовый формульный и графиче-ский редакторы возможность использования трехмерной графики

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

6

1 РАБОТА В СРЕДЕ MATHCAD

11 Интерфейс пользователя

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

Рис 1

111 Главное меню системы

Вторая строка окна системы ndash главное меню Назначение его команд приведено на рис 2

Рис 2

7

Рассмотрим эти команды File (Файл) ndash работа с файлами сетью Интернет и электронной

почтой Ниспадающее меню содержит команды стандартные для

Windows-приложений Edit (Правка) ndash редактирование документов Ниспадающее меню также содержит команды стандартные

для Windows-приложений Большинство из них доступны только в случае если в документе выделены одна или несколько областей (текст формула график и тд)

View (Обзор) ndash изменение средств обзора Toolbars (Панели инструментов) ndash позволяет отображать или

скрывать панели инструментов Standart (Стандартная) Formatting (Форматирования) Math (Математика)

Status bar (Строка состояния) ndash включение или отключение отображения строки состояния системы

Ruler (Линейка) ndash установка мерной линейки Regions (Границы) ndash делает видимыми границы областей (тек-

стовых графических формул) Zoom (Масштаб) ndash увеличивает или уменьшает размер доку-

мента при изменении масштаба Refresh (Обновить) [Ctrl+R] ndash обновление содержимого экрана Animate (Анимация) ndash команда позволяющая создать анимацию Playback (Проигрыватель) ndash воспроизведение анимации хра-

нящейся в файле с расширением AVI Preferences (Настройки) ndash одна из вкладок всплывающего окна

(General) позволяет задать некоторые параметры работы програм-мы не влияющие на вычисления другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet

Insert (Вставка) ndash команды этого меню позволяют помещать в MathCAD-документ графики функции гиперссылки компоненты и встраивать объекты

Format (Формат) ndash изменение формата объектов Equation (Уравнение) ndash форматирование формул и создание

собственных стилей для представления данных Result (Результат) ndash позволяет задать формат представления

результатов вычислений Text (Текст) ndash форматирование текстового фрагмента (шрифт

размер начертание)

8

Paragraf (Абзац) ndash изменение формата текущего абзаца (от-ступы выравнивание)

Tabs (Табуляция) ndash задание позиций маркеров табуляции Style (Стиль) ndash оформление текстовых абзацев Properties (Свойства) ndash вкладка Display (Отображение) поз-

воляет задать цвет фона для наиболее важных текстовых и графиче-ских областей вставленный в документ рисунок ( Insert Picture ) позволяет заключить его в рамку вернуть ему первоначальный размер

Вкладка Calculation (Вычисление) позволяет для выделенной формулы включить и отключить вычисление в последнем случае в правом верхнем углу области формулы появляется маленький чер-ный прямоугольник и формула превращается в комментарий

Graf (График) позволяет менять параметры отображения графиков

Separate regions (Разделить области) ndash позволяет раздвигать перекрывающиеся области

Align regions (Выровнять области) ndash выравнивает выделенные области по горизонтали или по вертикали

HeadersFooters (Колонтитулы) ndash создание и редактирование колонтитулов

Repaganite Now (Перенумерация страниц) ndash производит раз-бивку текущего документа на страницы

Math (Математика) ndash управление процессом вычислений в MathCAD существует два режима вычислений автоматический и ручной В автоматическом режиме результаты вычислений полно-стью обновляются при каком-либо изменении в формуле

Automatic Calculation (Автоматическое вычисление) ndash позво-ляет переключать режимы вычислений

Calculate (Вычислить) ndash при ручном режиме вычислений поз-воляет пересчитать видимую часть экрана

Calculate Worksheet (Просчитать документ) ndash пересчет всего документа целиком

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

Options (Параметры) ndash позволяет задавать параметры вычис-лений

9

Symbolik (Символика) ndash выбор операций символьного процес-сора

Window (Окно) ndash управление окнами системы Help (Справка) ndash работа со справочной базой данных о системе MathCAD Help (Справка по MathCAD) ndash содержит три вклад-

ки Содержание ndash справка упорядочена по темам Указатель ndash предметный указатель Поиск ndash находит нужное понятие при вводе его в форму

Resource Center (Центр ресурсов) ndash информационный центр содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials) быструю справку в виде примеров из раз-личных областей математики (Quicksheets and Reference tables)

Tip of the Day ndash всплывающие окна-подсказки с полезными со-ветами (возникают при загрузке системы)

Open Book (Открыть книгу) ndash позволяет открыть справочник системы MathCAD

About MathCAD (О программе MathCAD) ndash информация о вер-сии программы авторских правах и пользователе

Каждая позиция главного меню может быть сделана активной Для этого достаточно указать на нее курсором ndash стрелкой мыши и нажать ее левую клавишу Можно также нажать клавишу F10 и ис-пользовать клавиши перемещения вправо и влево Затем выбор фиксируется нажатием клавиши ввода Enter Если какая-либо пози-ция главного меню делается активной она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций Перемещение по списку подменю и выбор нужной операции производятся аналогично тому как это описано для главного меню

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

Третью строку окна системы занимает панель инструментов

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

Рис 3

10

Кнопки операций с файлами Документы системы MathCAD являются файлами Файлы

можно создавать загружать (открывать) записывать и распечаты-вать на принтере Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок

New Worksheet (Создавать) ndash создание нового документа с очисткой окна редактирования

Open Worksheet (Открыть) ndash загрузка ранее созданного доку-мента из диалогового окна

Save Worksheet (Cохранить) ndash запись текущего документа с его именем

Печать и контроль документов

Print Worksheet (Печать) ndash распечатка документа на принтере Print Preview (Просмотр) ndash предварительный просмотр доку-

мента Check Speling (Проверка) ndash проверка орфографии документа

Кнопки операций редактирования Во время подготовки документов их приходится редактиро-

вать те видоизменять и дополнять с помощью следующих кнопок Cut (Вырезать) ndash перенос выделенной части документа в бу-

фер обмена с очисткой этой части документа Copy (Копировать) ndash копирование выделенной части докумен-

та в буфер обмена с сохранением выделенной части документа Paste (Вставить) ndash перенос содержимого буфера обмена в ок-

но редактирования на место указанное курсором мыши Undo (Отменить) ndash отмена предшествующей операции редак-

тирования Три последние операции связаны с применением буфера об-

мена Он предназначен для временного хранения данных и их пере-носа из одной части документа в другую либо для организации об-мена данными между различными приложениями

Кнопки размещения блоков

Документы состоят из различных блоков текстовых фор-мальных графических и тд Блоки просматриваются системой ин-

11

терпретируются и исполняются Просмотр идет справа налево и снизу вверх

ndash Align Across (Выровнять по горизонтали) ndash блоки вы-равниваются по горизонтали

ndash Align Down (Выровнять вниз) ndash блоки выравниваются по вертикали располагаясь сверху вниз

Пиктограммы этих кнопок изображают блоки и указанные ва-рианты их размещения

Кнопки операций с выражениями

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

Следующие группы кнопок являются специфичными именно для системы MathCAD (рис 4)

Рис 4

ndash Insert Function (Вставить функции) ndash вставка функции из списка появляющегося в диалоговом окне

ndash Insert Unit (Вставить единицы) ndash вставка единиц измере-ния

ndash Calculate (Пересчитать) ndash вычисление выделенного вы-ражения

ndash Insert Giperlink (Включение гиперссылки) ndash обеспечивает создание гиперссылки

ndash Component Wizard (Мастер компонентов) ndash открывает окно Мастера дающего удобный доступ ко всем компонентам си-стемы

ndash Run Math Connex (Запуск системы Math Connex) ndash за-пуск системы для стимулирования блочнозаданных устройств

Кнопки управления ресурсами

ndash Resource Center (Центр ресурсов) ndash дает доступ к центру ресурсов (см рис 4)

MathCAD 2000 Professional

12

ndash Help (Справка) ndash дает доступ к ресурсам справочной базы данных системы

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

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами

Style ndash Переключатель выбора стилей Font ndash Переключатель выбора набора символов Point Size ndash Переключатель выбора размеров символов Bold ndash Установка жирных символов Italik ndash Установка наклонных символов Underline ndash Установка подчеркнутых символов Left Align ndash Установка левостороннего выравнивания Center Align ndash Установка выравнивания по центру Right Align ndash Установка правостороннего выравнивания До тех пор пока не начат набор элементов документа часть

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

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

113 Наборные математические панели инструментов

Для ввода математических знаков в MathCAD используются

удобные перемещаемые наборные панели со знаками (рис 5) Они служат для вывода заготовок ndash шаблонов математических знаков (цифр знаков арифметических операций матриц знаков интегра-лов производных и тд) Для вывода панели Math необходимо вы-полнить команду View Toolbar Math Наборные панели появ-ляются в окне редактирования документов при активизации

13

соответствующих пиктограмм ndash первая линия пиктограмм управле-ния системой Используя общую наборную панель можно вывести или все панели сразу или только те что нужны для работы Для установки с их помощью необходимого шаблона достаточно поме-стить курсор в желаемое место окна редактирования (красный кре-стик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона установив на него курсор мыши и нажав ее ле-вую клавишу

Рис 5

Многие функции и операции которые вставляются в документ

с помощью наборных математических панелей могут быть поме-щены в документ с помощью laquoбыстрых клавишraquo При этом работа в системе MathCAD становится более продуктивной Рекомендуем запомнить сочетания клавиш хотя бы для некоторых наиболее часто употребляемых команд

12 Входной язык системы MathCAD Типы данных

MathCAD обладает специализированным входным языком

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

14

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

121 Алфавит MathCAD 2000 PRO

Алфавит входного языка системы определяет совокупность символов и слов которые используются при задании команд необ-ходимых для решения интересующего пользователя класса задач Алфавит системы MathCAD содержит

minus строчные и прописные латинские буквы minus строчные и прописные греческие буквы minus арабские цифры от 0 до 9 minus системные переменные minus операторы minus имена встроенных функций minus спецзнаки minus строчные и прописные буквы кириллицы (при работе с ру-

сифицированными документами) К укрупненным элементам языка относятся типы данных опе-

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

Для ввода греческих букв можно использовать панель набор-ных знаков Greek включаемую кнопкой на панели Math Кроме того в MathCAD предусмотрена возможность набора греческих букв с помощью клавиш Для этого достаточно набрать соответ-ствующую английскую букву и нажать комбинацию клавиш [Ctrl+G]

122 Числовые константы

Константами называют поименованные объекты хранящие некоторые значения которые не могут быть изменены В качестве имени числовых констант используются их числовые значения В системе MathCAD используются и числовые константы значени-ями которых являются числа с разной системой исчисления деся-тичные восьмеричные или шестнадцатеричные

15

Числовые константы задаются с помощью арабских цифр де-сятичной точки (а не запятой) и знака ndash (минус) Например

123 ndash целочисленная десятичная константа 123 ndash десятичная константа с дробной частью

5123 10 ndash десятичная константа с мантиссой 123 и поряд-ком ndash5

Порядок числа вводится умножением мантиссы на 10 в степе-ни определяющей порядок Знак умножения при выводе числа на экран меняется на привычную математическую точку а операция возведения в степень (с применением спецзнака ^) отображается пу-тем представления порядка в виде надстрочного элемента Десятич-ные числа имеют основание 10 Диапазон их возможных значений лежит в пределах от 10 ^ 307 до 10 ^ 307 (это машинная бесконеч-ность и машинный нуль)

Система MathCAD может работать с восьмеричными и шест-надцатеричными числами Восьмеричные числа имеют основание 8 так что один их разряд может иметь значения от 0 до 7 Такие числа в конце отмечаются латинской буквой O (от слова octal ndash восьме-ричное) Шестнадцатеричные числа имеют основание 16 и их раз-ряд может иметь значения

HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный при-знак в виде буквы h или H (от слова hexagonal ndash шестнадцатерич-ное) Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal ndash десятичное) Если число шестнадцатеричное начинается с буквы (например ABCО) то си-стема будет путать его с возможным именем переменной Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (нуль)

123 Комплексные числа

Большинство вычислений система выполняет как с действи-тельными так и с комплексными числами которые обычно пред-ставляются в алгебраическом виде Re ImZ Z i Z или

Re ImZ Z j Z Здесь ReZ minusдействительная часть комплексного числа Z ImZ ndash его мнимая часть а символы i или j обозначают мни-

16

мую единицу те корень квадратный из ndash1 Такое представление характерно для системы MathCAD Однако система не всегда знает какой символ применить для обозначения мнимой единицы Поэто-му перед использованием любых операций с комплексными числа-ми полезно вначале определить i или j как мнимую единицу (те присвоить им значение квадратного корня из ndash1)

124 Строковые константы

Строковая константа ndash это строка заключенная в кавычки например laquoMy nameraquo В строковую константу могут входить один или несколько символов либо слов

125 Переменные

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

Идентификатор начинается только с буквы например X 1X Идентификатор не должен содержать пробелов Нельзя использо-вать для идентификаторов буквы русского языка Идентификаторы не могут совпадать с именами встроенных или определенных поль-зователем функций

126 Системные переменные

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

17

Таблица 1

Системные переменные

Объект Клавиши Назначение

π Alt+Ctrl+P Число пи (314)

е E Основание натурального логарифма (272)

Ctrl+Z Системная бесконечность (10^307)

Процент (001)

TOL Погрешность численных методов (0001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Ширина столбцов (в символах) для операто-ра WRITEPRN (8)

PRNPRECISSION Число десятичных знаков используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

127 Операторы

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

128 Встроенные функции

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

18

Элементарные встроенные математические функции

Элементарные функции представим в табл 27 Таблица 2

Тригонометрические функции

sin( )z Синус cos( )z Косинус tan( )z Тангенс sec( )z Секанс csc( )z Косеканс cot( )z Котангенс

Таблица 3

Гиперболические функции

sinh( )z Гиперболический синус cosh( )z Гиперболический косинус tanh( )z Гиперболический тангенс sech( )z Гиперболический секанс csch( )z Гиперболический косеканс coth( )z Гиперболический котангенс

Таблица 4

Обратные тригонометрические функции

sin( )A z Обратный тригонометрический синус cos( )A z Обратный тригонометрический косинус tan( )A z Обратный тригонометрический тангенс

Таблица 5

Обратные гиперболические функции

sinh( )A z Обратный гиперболический синус cosh( )A z Обратный гиперболический косинус tanh( )A z Обратный гиперболический тангенс

Таблица 6

Показательные и логарифмические функции

exp( )z Экспоненциальная функция ln( )z Натуральный логарифм (по основанию e) log( )z Десятичный логарифм (по основанию 10)

Таблица 7

Функции комплексного аргумента

Re( )z Выделение действительной части z Im( )z Выделение мнимой части z Arg( )z Вычисление аргумента (фазы)

19

Специальные встроенные математические функции

Функции Бесселя К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя являю-щиеся решениями некоторых дифференциальных уравнений второ-го порядка (табл 8)

Таблица 8 Список функций Бесселя

0J x Функция Бесселя первого рода нулевого порядка 0I x Модифицированная функция Бесселя первого рода нулевого порядка 0Y x Функция Бесселя второго рода нулевого порядка

0K x Модифицированная функция Бесселя второго рода нулевого порядка

1J x Функция Бесселя первого рода первого порядка 1I x Модифицированная функция Бесселя первого рода первого порядка 1Y x Функция Бесселя второго рода первого порядка 1K x Модифицированная функция Бесселя второго рода первого порядка Jn n x Функция Бесселя первого рода n-го порядка In n x Модифицированная функция Бесселя первого рода n-го порядка Yn n x Функция Бесселя второго рода n-го порядка Kn n x Модифицированная функция Бесселя второго рода n-го порядка

Гамма-функция В системе MathCAD предусмотрено вычис-

ление гамма-функции G(z) Она широко применяется и в статисти-ческих расчетах В них используется также функция ошибок erf(x) называемая еще интегралом вероятности

Дополнительные неактивные функции При загрузке сим-вольного процессора система распознает ряд дополнительных спе-циальных функций например таких как в табл 9

Таблица 9 Дополнительные неактивные функции

FresnelC x Интеграл Френеля С(х) FresnelS x Интеграл Френеля S(x)

Ci x Интегральный косинус Si x Интегральный синус Ei x Интегральная показательная функция

dilog x Дилогарифм erf z Интеграл ошибок для комплексного аргумента z

lnPsi x d dx Go x пси-функция

Psi n x n-я производная пси-функции

20

Функции с условиями сравнения

Функции приведены в табл 10 Таблица 10

Числовые функции с условиями сравнения

( )ceil х Наименьшее целое большее или равное x ( )Floor х Наибольшее целое большее или равное x

mod( )х Остаток от деления xy со знаком x ( )angel х Положительный угол с осью x для точки с координатами (xy)

( )Ф х Функция Хевисайда ndash единичного скачка (дает 0 при 0x и 1 в противном случае)

d m n Функция именуемая символом Кронекера возвращающая 1 при m = n и 0 в противном случае

129 Функция условных выражений

Для создания условных выражений более широкие возможно-сти дает функция if

if (Условие Выражение 1 Выражение 2)

Если в этой функции условие выполняется то будет вычис-ляться выражение 1 в противном случае ndash выражение 2

1210 Математические выражения

Функции могут входить в математические выражения напри-мер в выражении

2ln 1Y x

где Y ndash переменная 1 и 2 ndash числовые константы знаки laquoraquo и laquo+raquo ndash операторы ln(x) ndash встроенная функция с аргументом х При выпол-нении символьных операций переменные π и e используются только в символьном виде К примеру число 2π равно 628314hellip и выводится как 2π а не как приближенное численное значение

13 Ввод и редактирование данных

131 Ввод и редактирование формул и текста

В MathCAD-документе курсор ввода имеет вид красного кре-стика Этот крестик указывает в каком месте рабочего листа будет

21

произведено следующее действие Установив указатель мыши в нужном месте документа и выполнив щелчок вы перемещаете туда крестик (можно использовать стрелки а не мышь) Указатель в виде крестика может принимать другие формы

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

этот голубой курсор можно только с помощью клавиш-стрелок Если при перемещении красного курсора-крестика вы вторг-

лись в область формулы курсор автоматически принимает форму голубого курсора формул

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

Если вам не нравится взаимное распо-ложение областей в документе его можно изменить

ndash установите курсор-крестик на пустом месте документа

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

ndash установите курсор на одну из выделен-ных областей (курсор примет вид черной руки)

ndash удерживая нажатой левую клавишу мыши переместите выделенные области в требуемое место

При вводе текстовой области (клавиша []) курсор-крестик имеет вид вертикальной

красной черты При этом текстовая область окружена черной рамкой

Если вы уже вводите текст забыв создать текстовую область (те MathCAD воспринимает введенный текст как формулу) то до-статочно нажать клавишу пробела и MathCAD преобразует форму-лу в текст Преобразование в обратном направлении невозможно

Остановимся подробнее на свойствах голубого курсора фор-мул Для этого рассмотрим пример Предположим что MathCAD не

22

известна функция cosh (гиперболический косинус) и нам необхо-димо ввести определение

2

x xe ef x

Введем последовательность символов

^ ^ 2f x e x e x

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

Однако в MathCAD предусмотрены более экономичные мето-ды редактирования и ввода С помощью клавиши пробела можно увеличить область выделения ndash у голубого курсора появляется го-ризонтальный след Отмеченный следом курсора фрагмент форму-лы как бы подразумевается заключенным в скобки

Введенную выше формулу можно ввести по-другому

^ ^ 2f x e x Пробел e x Пробел Пробел Пробел

След курсора позволяет снабжать фрагменты формул мнимы-ми скобками таким образом что последующая математическая опе-рация относится ко всему выражению отмеченному следом курсо-ра те заключенному в мнимые скобки

Часто бывает необходимым все-таки заключение в скобки не-которой части введенного выражения Для этого достаточно выде-лить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу [] (апостроф) Обычно курсор со сле-дом при вводе формул имеет вид уголка направленного вправо (след направлен влево от курсора) предлагая вправо ввести необхо-димые значения А что делать если вы пропустили какую-то часть формулы или необходимо подправить выражение и дописать кое-что слева Для этого можно воспользоваться клавишей [Ins]

Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода В режиме вставки след курсора направлен впра-во и вводимые символы появляются слева от курсора

23

При редактировании формул случаются ошибки На этот слу-чай в меню Edit имеется команда Undo отменяющая последнее дей-ствие Того же результата можно достичь воспользовавшись соот-ветствующей кнопкой панели инструментов Standart или комби-нацией клавиш [Alt+Backspace]

Для удаления отдельных чисел или фрагментов формул ис-пользуется клавиша [Backspace] ndash если курсор находится в режиме ввода и клавиша [Del] ndash если курсор находится в режиме вставки Для удаления больших частей формул удобнее воспользоваться мышью выделив соответствующий фрагмент (протащить по нему мышь с нажатой левой кнопкой) и нажав клавишу [Del]

В MathCAD существует возможность разбивки больших вы-ражений на строки если выражение состоит из нескольких слагае-мых Для этого

minus выполните щелчок на операнде который по вашему мне-нию следует перенести на следующую страницу

minus увеличьте след курсора в режиме вставки таким образом чтобы отметить всю правую часть формулы

minus нажмите клавишу Backspace Стоящий перед курсором знак laquo+raquo будет удален При этом обе части формулы заключаются в скобки

minus нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки)

Если же там где оканчивается строка находится знак вычита-ния то необходимо удалить символ разности minus минус minus и произвести перевод строки При этом MathCAD превратит разность в сумму что сделает результат неправильным Но погрешность можно компенси-ровать присвоив первому слагаемому во второй строке знак laquoraquo

Если вы по ошибке удалили знак умножения и осуществили перенос строки то результат будет неправильным поскольку MаthCAD заменит умножение сложением Разбивка на строки не может применяться для выражений результаты вычислений кото-рых получены в символьном виде

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

Обычные переменные отличаются от системных тем что они должны быть предварительно определены пользователем В каче-стве оператора присваивания используется знак Если перемен-ной присваивается начальное значение с помощью оператора та-кое присваивание называется локальным

24

С помощью знака (три горизонтальные черточки) который

вводится клавишей [~] (тильда) можно обеспечить глобальное при-сваивание те оно может производиться в любом месте документа Для вывода результата или для контроля значений переменных ис-пользуется обычный знак равенства = (если выводится численный результат) или знак символьного равенства (стрелка) если вы-числения производятся в символьном виде Для ввода стрелки мож-но использовать клавиши [Ctrl+] или соответствующую кнопку наборной панели Symbolic

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

25

133 Определение функций пользователя

При определении функций пользователя так же как и при определении переменных могут быть использованы знаки локаль-

ного и глобального присвоения При этом с использованием знака глобального присваивания функ-ция может быть определена в лю-бом месте документа

Синтаксис определения функции

_ arg1arg 2arg Name Func N Выражение

Здесь _Name Func ndash имя функции arg1arg 2arg N ndash аргу-менты функции Выражение ndash любое выражение содержащее до-ступные системе операторы и функции с операндами и аргумента-ми указанными в списке параметров

134 Ранжирование переменных

Ранжированные переменные ndash особый класс переменных который в системе MathCAD зачастую заменяет управляющие структуры называемые циклами Эти переменные имеют ряд фик-сированных значений с определенным шагом меняющихся от начального значения до конечного

Ранжированные переменные характеризуются именем и ин-дексом каждого своего элемента Например Name Nbegin Nend

где Name ndash имя переменной Nbegin ndash ее начальное значение Nend ndash конечное значение ndash символ указывающий на изменение переменной в заданных пре-делах (он вводится знаком точки с запя-той ) Если Nbegin Nend то шаг изменения переменной будет +1 в про-тивном случае ndash ( 1 )

26

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

Step заданный шаг переменной

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

Любое выражение с ранжиро-ванными переменными после знака равенства инициирует таблицу вы-

вода Полезно учитывать некоторые свойства таблиц вывода minus число строк в них не может быть больше 50 minus числа в таблицах можно задавать в требуемом формате с по-

мощью операций задания формата чисел minus при использовании в таблице единиц размерности все дан-

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

jX выводится обычная таблица вывода

X выводится вектор если число его элементов меньше 10 X выводится таблица вывода со слайдером если число эле-

ментов вектора больше 10 В таблице вывода можно и вставлять числовые значения и

корректировать их Индексированные переменные образующиеся в результате за-

дания ранжированных переменных могут применяться в последу-ющих формульных блоках

Однако при этом необходимо соблюдать соответствие результа-тов (конечных и промежуточных) векторному типу этих переменных Необходимо помнить что ранжированная переменная minus это вектор

Обратите внимание что в приведенном примере ранжирован-ная переменная i принимает значения 1 2 3 и 4 А вектор g опреде-ленный через ранжированную переменную i содержит 5 элементов

27

Это связано с тем что по умолчанию началом отсчета индексов в MathCAD является нуль

135 Массивы (векторы матрицы)

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

Индексация элементов массивов Порядковый номер эле-мента который является его адресом называется индексом

Нижняя граница индексации задается значе-нием системной переменной ORIGIN которая может принимать значение 0 или 1 Для смены начала индексации можно прямо в документе присвоить переменной ORIGON соответствующее значение или сделать это через позицию Math

главного меню подменю Options используя вкладку Build-In Variables (Встроенные переменные)

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

числовые значения элементов они раз-личны по типу и при использовании да-дут разные результаты при векторных и матричных операциях Для ввода векторов и матриц можно

использовать кнопку панели набор-ных математических элементов Matrix

28

которая в свою очередь включается нажатием соответствующей кнопки на панели Math Но гораздо проще использовать сочетание клавиш [Ctrl+M] Оба вышеуказанных действия приводят к появле-нию диалогового окна Insert Matrix в котором необходимо указать число строк и столбцов для вводимой матрицы (вектора)

В результате в документе появляется шаблон матрицы который можно заполнить требуемыми данными Пере-ход от символа к символу внутри шаблона совершается с помощью клавиши Tab (Табуляция)

Массив можно определить и вручную поэлемент-но Для указания нижнего индекса используется клави-

ша [ (квадратная скобка) Если индекс двойной (у матрицы) то ин-дексы вводятся через запятую

Заполнение массивов может быть организовано с помощью ранжированных переменных и функций пользователя

136 Операторы системы MathCAD

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструи-рования математических выражений В табл 1113 приведены раз-личные операторы системы MathCAD

29

Таблица 11 Арифметические операторы

Оператор Ввод Назначение оператора X Y X Y Локальное присваивание X значения Y

X Y X Y Глобальное присваивание X значения Y X X Вывод значения X

X X Смена знака X X Y X Y Суммирование X с Y X Y X Y Вычитание из X значения Y

X Y X Y Умножение X на Y X Y X Y Деление X на Y

YX ^X Y Возведение X в степень Y

X X Вычисление квадратного корня из X X X Вычисление факториала

Z | Z Вычисление модуля комплексного Z

Z Z ldquo Вычисление комплексно-сопряженного с Z числа () lsquo Ввод пары круглых скобок с шаблоном ( ( Ввод открывающей скобки ) ) Ввод закрывающей скобки

nX X n Ввод нижнего индекса n nX X Ctrl n Ввод верхнего индекса n

Таблица 12 Расширенные арифметические операторы

Оператор Ввод Назначение оператора $ Вычисление суммы

Вычисление произведения

f Вычисление производной b

a

amp Вычисление определенного интеграла

Применение расширенных операторов значительно облегчает решение математических задач

Таблица 13 Операторы отношения (логические операторы)

Оператор Ввод Назначение оператора X Y X Y X больше Y X Y X Y X меньше Y X Y X Ctrl Y X больше или равно Y

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

X Y X Ctrl Y X не равно Y X Y X Ctrl Y X равно Y

30

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

137 Программные операторы в MathCAD

В системе MathCAD можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами Это реализуется использованием встроенных программных операторов похожих на используемые в различных языках программирования (рис 6) Как видно на рис 7 и 8 где вычисляется факториал про-граммный модуль в системе MathCAD превратился в самостоятель-ный блок причем при необходимости выполнить несколько опера-торов их объединяют жирной вертикальной чертой

Рис 6 Рис 7 Рис 8

Модуль может вести себя как безымянная функция без пара-

метров но возвращающая результат ndash первый пример Программ-ный модуль может выполнять и роль тела функции пользователя с именем и параметрами ndash второй пример

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

Add Line ndash создает и при необходимости расширяет жирную вертикальную линию справа от которой в шаблонах задается запись программного блока

31

ndash символ локального присваивания (в теле модуля) if ndash условный оператор for ndash оператор задания цикла с фиксированным числом повто-

рений while ndash оператор задания цикла действующего до тех пор по-

ка выполняется некоторое условие otherwise ndash оператор иного выбора (обычно применяется с if) break ndash оператор прерывания continue ndash оператор продолжения return ndash оператор возврата on error ndash оператор обработки ошибок Оператор добавления линии Add Line выполняет функции

расширения программного блока Расширение фиксируется удлине-нием вертикальной черты программных блоков или их древовид-ным расширением Благодаря этому в принципе можно создавать сколь угодно большие программы

Оператор внутреннего присваивания выполняет функ-ции внутреннего локального присваивания Например выражение

123x присваивает переменной x значение 123 Локальный харак-тер присваивания означает что такое значение х сохраняет только в теле программы За пределами тела программы значение перемен-ной х может быть неопределенным либо равно значению которое задается вне программного блока операторами локального = или глобального присваивания

Условный оператор if является оператором для создания условных выражений Он задается в виде

Выражение if Условие Если условие выполняется то возвращается значение выраже-

ния Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise

Оператор цикла for служит для организации циклов с задан-ным числом повторений Он записывается в виде

for Var NminhellipNmax

Эта запись означает что выражение помещенное в распо-ложенный ниже заменитель будет выполняться для значений переменной Var меняющихся от Nmin до Nmax с шагом +1 Пере-менную счетчика Var можно использовать в исполняемом выра-жении

32

Оператор цикла while служит для организации циклов дей-ствующих до тех пор пока выполняется некоторое условие Этот оператор записывается в виде

while Условие

Выполняемое выражение записывается на место расположен-ного ниже заполнителя

Оператор иного выбора otherwise обычно используется сов-местно с оператором if Это поясняет следующая программная кон-струкция

1 0

1

if xf x

otherwise

Здесь f x получает значение 1 если 0x и ndash1 во всех

остальных случаях Оператор прерывания break вызывает прерывание работы про-

граммы всякий раз когда он встречается Чаще всего он использу-ется совместно с оператором условного выражения if и операторами циклов while и for обеспечивая переход в конец тела цикла

Оператор продолжения continue используется для продолже-ния работы после прерывания программы Он также чаще всего ис-пользуется совместно с операторами задания циклов while и for обеспечивая возвращение в точку прерывания и продолжение вы-числений

Оператор возвращения return прерывает выполнение про-граммы и возвращает значение операнда стоящего следом за ним Например конструкция

0 0return if x

будет возвращать значение 0 при любом 0x Оператор и функция обработки ошибок позволяют создавать

конструкции обработчиков ошибок Этот оператор задается в виде

_1 _ 2Выражение on error Выражение

Здесь если при выполнении _1Выражения возникает ошибка то выполняется _ 2Выражение Для обработки ошибок полезна так-

же функция error S которая будучи помещенной в программный

модуль при возникновении ошибки выводит всплывающую под-сказку с надписью хранящейся в символьной переменной S

33

Программный модуль в сущности является функцией но опи-санной с применением упомянутых программных средств Она воз-вращает значение определяемое последним оператором (если не предусмотрено иное с помощью оператора return) Это значит что после такого модуля выделенного как целый блок можно поста-вить знак равенства для вывода результата его работы (см рис 8) В блоке могут содержаться любые операторы и функции входного языка системы Для передачи в блок значений переменных можно использовать переменные документа которые ведут себя в блоке как глобальные переменные

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

14 Настройка MathCAD для работы

141 Настройка параметров вычислений

Для настройки параметров вычислений необходимо выбрать команду Options (Параметры) меню Math (Математика) При этом на экране появится диалоговое окно (Свойства) содержащее сле-дующие вкладки

Built-In Variabls (Встроенные переменные) ndash позволяет уста-новить значения встроенных системных переменных влияющих на точность вычислений и параметры некоторых функций системы

Calculation (Вычисление) ndash эта вкладка содержит две опции задающие режим автоматических вычислений и оптимизации вы-ражений перед вычислением

Display (Отображение) ndash позволяет форматировать вид сим-волов отображающих основные операторы системы (умножение деление локальное и глобальное присваивание и др)

34

Unit System (Система единиц) ndash позволяет выбрать систему единиц для размерных величин SI MKS CGS Us и None (не ис-пользуется ни одна из этих систем)

Dimensions (Размерность) ndash позволяет изменить формат раз-мерных величин (на вкладке содержится их перечень) Для этого надо laquoвключитьraquo опцию Display Dimensions (Просмотр размерно-стей)

Остановимся подробнее на изучении параметров вкладки Built-In Variabls (Встроенные переменные) Здесь можно изменить значения системных констант и переменных К ним относятся

Array Origin (ORIGIN) ndash начальное значение для индексов Например трехмерный вектор v при ORIGIN=0 (по умолчанию) имеет компоненты v0 v1 v2

Convergence Tolerance (TOL) ndash допустимое отклонение MathCАD использует эту переменную при различных численных расчетах таких как вычисление определенных интегралов и при решении уравнений с использованием функций root и polyroots По умолчанию TOL=10minus3

Constraint Tolerance (CTOL) ndash задает точность вычислений при использовании блока решений уравнений и систем Блок начинается со слова Given и заканчивается словами Find Minerr и др По умол-чанию CTOL = 10minus3

Seed value for random numbers ndash определяет интервал от 0 до указанного в поле значения из которого функция rnd(x) генери-рует x случайных чисел Возможность менять этот интервал позво-ляет получать разные последовательности случайных чисел

35

Presision (PRNPRESISION) ndash задает точность числовых значений которые помещаются в файл создаваемый функцией WRITEPRN

Column Width (PRNCOLWIDTH) ndash задает ширину столбца (в символах) при создании файлов с помощью функции WRITEPRN

Кнопка Restore Defaults (Восстановить по умолчанию) позво-ляет вернуть стандартно установленные в системе MathCAD пара-метры вычислений (те те что установлены по умолчанию) если внесенные вами изменения в системные переменные вас не устраи-вают Значения переменных по умолчанию указаны справа от по-лей предназначенных для ввода

142 Форматирование результатов вычислений

MathCAD представляет результаты вычислений в определен-

ном формате Этот формат включает в себя например число знаков после запятой величину начиная с которой используется экспонен-циальное представление чисел символ i или j для представления мнимой единицы и многое другое Чтобы задать формат представ-ления результатов вычислений надо выбрать команду Result (Ре-зультат) меню Format (Формат) В результате на экране появится диалоговое окно Result Format содержащее несколько вкладок

На вкладке Number format (Формат числа) находятся Поле Number of decimal places (Число десятичных знаков)

в котором задается количество отображаемых знаков после запятой (по умолчанию ndash 3)

36

Опция Show trailing zeroz (Показывать конечные нули) если установлена эта опция все числа будут отображаться с тем количе-ством знаков после запятой которое указано в поле Number of decimal places даже если без этого можно обойтись В этом случае число 5 будет иметь вид 5000 а число 0 ndash 0000

Поле Exponential threshold (Порог экспоненты) здесь необ-ходимо задать целое число n Оно указывает что числа x для кото-

рых справедливы неравенства 10nx и 110 nx представляются

в экспоненциальной форме Числу n можно присваивать значения от 0 до 15 по умолчанию 3n MathCAD производит вычисления с точностью 15 знаков после запятой

Опция Show exponents in engeneering format (Показывать экс-поненты в инженерном формате) всегда представляет число в экспоненциальном формате если показатель степени больше 3 или меньше 3 выделяя при этом 3 целых и 3 десятичных разряда В противном случае число отображается в явном виде например число 2233446 при включении опции будет выглядеть как

3223344 10 Список Format (Формат) ndash позволяет выбрать формат пред-

ставления чисел Выделим среди указанных в списке формат Decimal ndash при его выборе результат никогда не представляется в экспоненциальной форме Остальные форматы могут представлять числа в экспоненциальной форме Более подробно с видами форма-тов можно познакомиться нажав кнопку Справка

На вкладке Tolerance (Допуск) находятся поля Complex threshold (Комплексный порог) и Zero threshold (Нулевой порог)

Целое число n заданное в поле Complex threshold указывает что комплексные числа z для которых справедливо неравенство

Re Im 10 nz z представляются как чисто мнимые Числа для

которых Im Re 10 nz z ndash как действительные При вычисле-

ниях MathCAD не пренебрегает даже незначительной мнимой Чис-лу n можно присваивать значения от 0 до 63 по умолчанию 10n

Целое число n заданное в поле Zero threshold указывает что

числа x для которых справедливо неравенство 10 nx принимают-

ся равными 0 Числу n можно присваивать значения от 0 до 307 по

умолчанию 15n Для комплексных чисел у которых Re 10 nz

действительная часть принимается равной нулю то же самое спра-

37

ведливо и для мнимой части Значение заданное в поле Zero threshold действительно для всего документа

Вкладка Display Options содержит следующие поля и опции Matrix display style (Стиль отображения матриц) ndash выпада-

ющий список позволяет установить отображение матриц в стан-дартном математическом виде ndash Matrix в виде таблицы ndash Table либо предоставляет выбрать стиль представления матриц системе MathCAD ndash Automatic

При этом если матрица содержит менее 10 строк и столбцов она представляется в стандартном виде матрицы в противном слу-чае ndash в виде таблицы с полосами прокрутки По умолчанию уста-новлена опция Automatic

Опция Expand nested arrays (Развернуть вложенные массивы) ndash позволяет явно вывести элементы матрицы представляющие в свою очередь матрицы

Поле Imaginary value (Мнимая единица) ndash позволяет определить символ который будет использоваться для обозначения мнимой едини-цы (i или j)

В поле списка Radix (Система) ndash можно выбрать десятичную двоичную восьмеричную

или шестнадцатеричную систему счисления Вкладка Unit display (Отображение единиц измерения) со-

держит две опции Format Units (Формат единиц) ndash включает отоб-ражение единиц измерения Simplify units when possible ndash включает упрощение единиц измерения (если это возможно)

38

Окно Result Format можно открыть двойным щелчком на чис-ле представляющем собой результат вычислений

Если вы хотите увидеть точное значение некоторого числа не изменяя его формата выделите это число и нажмите клавиши [Ctrl+Shift+N] В строке состояния вы увидите данное число с 15 зна-ками после запятой

Если вы хотите применять выполненные установки и в других документах вам необходимо открыть соответствующий файл шаб-лона с расширением MCT из папки TEMPLATE и произвести в нем нужные изменения Кроме того вы можете сохранить текущий до-кумент как шаблон

39

2 ОПЕРАТОРЫ MATHCAD

21 Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD со-держит ряд операторов (табл 14) и функций Введем следующие обозначения для векторов ndash V для матриц ndash M и для скалярных ве-личин ndash Z

Таблица 14 Векторные и матричные операторы

Оператор Ввод Назначение оператора 1 2V V 1 2V V Сложение двух векторов V1 и V2 1 2V V 1 2V V Вычитание двух векторов V1и V2

V V Смена знака у элементов вектора V M M Смена знака у элементов матрицы M

V Z V Z Вычитание из вектора V скаляра Z Z V V Z Z V V Z Умножение вектора V на скаляр Z

MZ MZ MZ MZ Умножение матрицы M на вектор V 1 2V V 1 2V V Умножение двух векторов V1 и V2

M V M V Умножение матрицы M на вектор V M1M2 M1M2 Умножение двух матриц M1 и M2

V Z V Z Деление вектора V на скаляр Z M Z M Z Деление матрицы M на скаляр Z

1M M ^ 1 Обращение матрицы M

Mn M ^ n Возведение матрицы M в степень n

V Вычисление квадратного корня из μV

M Вычисление определителя матрицы M TV V Ctrl Транспонирование вектора V TM M Ctrl Транспонирование матрицы M

1 2V V 1 2V Ctrl V Кросс-умножение двух векторов V1 и V2 V rdquo Получение комплексно-сопряженного вектора Mrdquo Получение комплексно-сопряженной матрицы Alt $ V Вычисление суммы элементов вектора V V -Ctrl Векторизация вектора V M -Ctrl Векторизация матрицы M

M n M ^ nCtrl Выделение n-го столбца матрицы M

nV V n Выделение n-го элемента вектора V

Mm n M m n Выделение элемента (m n) матрицы M

Под понятием laquoвекторизацияraquo подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы Это можно понимать и как возможность параллельных вычислений

40

Если А и В ndash векторы то АВ дает скалярное произведение этих векторов Но то же произведение под знаком векторизации со-здает новый вектор каждый j-й элемент которого есть произведение j-х элементов векторов А и В Векторизация позволяет использовать скалярные операторы и функции с массивами

22 Векторные и матричные функции

Векторные и матричные функции представлены в виде табл 15 16

Таблица 15 Векторные функции

lenght V Возвращает длину вектора

last V Возвращает индекс последнего элемента

max V Возвращает максимальный по значению элемент

min V Возвращает минимальный по значению элемент

Re V Возвращает вектор действительных частей вектора с комплексными элементами

Im V Возвращает вектор мнимых частей вектора с комплексными элементами

i j k

Полностью асимметричный тензор третьей размерности i j k должны быть целыми числами от 0 до 2 (или между gt ORIGIN и ORIGIN+2 если ORIGINne0) Результат равен 0 если любые два аргумента равны 1 ndash если три аргумента являются четной перестановкой (0 1 2) и минус 1 если три аргумента являются перестановкой (0 1 2) кратной 2 и некратной 4

Таблица 16 Матричные функции

Augment (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие оди-наковое число строк (объединение идет laquoбок о бокraquo)

identity (n) Создает единичную квадратную матрицу размером nn

stack (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие одинаковое число столбцов располагая М1 над М2

Submatrix (A ir jr ic jc) Возвращает субматрицу состоящую из всех элементов содержащихся в строках с ir по jr и столбцов с ic по jc (irJjr и icJjc)

diag (V) Создает диагональную матрицу элемент главной диагонали которой ndash вектор V

matrix (m n f) Матрицу в которой (i j)-й элемент содержит f(i j) где i = 0 1 hellip m и j = 0 1 hellip n

Re (M) Возвращает матрицу действительных частей матрицы М с комплексными элементами

Im (M) Возвращает матрицу мнимых частей матрицы М с комплексными элементами

41

23 Функции возвращающие специальные характеристики матриц

Эти функции представлены в виде табл 17

Таблица 17

Функции возвращающие специальные характеристики матриц

сols(M) Возвращает число столбцов матрицы М rows (M) Возвращает число строк матрицы М rank (M) Возвращает ранг матрицы М

tr (M) Возвращает след (сумму диагональных элементов) квадратной матрицы М

mean (M) Возвращает среднее значение элементов массива М median (M) Возвращает медиану элементов массива М

cond1 (M) Возвращает число обусловленности матрицы вычисленное в норме L1

cond2 (M) Возвращает число обусловленности матрицы вычисленное в норме L2

conde (M) Возвращает число обусловленности матрицы вычисленное в норме евклидова пространства

condi (M) Возвращает число обусловленности матрицы основанное на равномерной норме

norm1 (M) Возвращает L1 норму матрицы М norm2 (M) Возвращает L2 норму матрицы М norme (M) Возвращает евклидову норму матрицы М normi (M) Возвращает неопределенную норму матрицы М

24 Дополнительные матричные функции Такие функции представлены в виде табл 18

Таблица 18

Дополнительные матричные функции

eigenvals (M) Возвращает вектор содержащий собственные значения матрицы М

eisenvec (M Z) Для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

eigenvecs (M)

Возвращает матрицу столбцами которой являются собствен-ные векторы матрицы М (порядок расположения собствен-ных векторов соответствует порядку собственных значений возвращаемых функцией eigenvals)

42

Окончание табл 18

genvals (M N) Возвращает вектор обобщенных собственных значений v соответствующий решению уравнения M x = vi ndash N minus x (матрицы М и N должны быть вещественными)

genvals (M N) Возвращает матрицу столбцы которой содержат нормированные обобщенные собственные векторы

+ lu (M) Выполняет треугольное разложение матрицы М P M = L U L и U minus соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные одного порядка

+ qr (A) Дает разложение матрицы A A = Q R где Q minus ортогональная матрица и R minus верхняя треугольная матрица

+ svd (A)

Дает сингулярное разложение матрицы А размером n times m A = = U S middotVT где U и V minus ортогональные матрицы размерностей mmiddotm и n times n соответственно S minus диагональная матрица на диагонали которой расположены сингулярные числа матрицы А

+ svds (A) Возвращает вектор содержащий сингулярные числа матрицы А размером m times n

Egeninv (A)

Возвращает матрицу левую обратную к матрице А LmiddotA=E где E ndash единичная матрица размером n times n L ndash прямоугольная матрица размером n times m A ndash прямоугольная матрица размером m times n

25 Функции сортировки для векторов и матриц

Функции сортировки представлены в табл 19

Таблица 19

Функции сортировки для векторов и матриц

Vsort Сортировка элементов векторов в порядке возрастания их значений

Vreverse Перестановка элементов (после sort) в обратном порядке

Mcsort n Перестановка строк матрицы М таким образом чтобы отсортированным оказался n-й столбец

Mrsort n Перестановка строк матрицы М таким образом чтобы отсортированной оказалась n-я строка

43

3 ГРАФИКА MATHCAD

31 Двухмерные графики в декартовой системе координат

MathCAD позволяет легко строить двух- и трехмерные гисто-граммы двухмерные графики в декартовых и полярных координа-тах трехмерные графики поверхностей линии уровня поверхно-стей изображения векторных полей пространственные кривые Существует три способа построения графиков в системе MathCAD

minus можно воспользоваться позицией Главного меню Insert вы-брав команду Graph и в раскрывающемся списке minus тип графика

minus выбрать тип графика на наборной панели Graph которая включается кнопкой на панели Math

minus воспользоваться быстрыми клавишами (они предусмотрены не для всех типов графиков)

Рассмотрим более подробно команды меню Insert Graph наборной панели Math

X-Y Plot (X-Y Зависимость) клавиша [] Служит для по-строения графика функции y = f(x) в виде связанных друг с другом пар координат (xi yi) при заданном промежутке изменения для i

Polar Plot (Полярные координаты) клавиши [Ctrl+7] Служит для построения графика функции r(q) заданной в полярных координатах где полярный радиус r зависит от полярного угла q

Surface Plot (Поверхности) клавиши [Ctrl+2] Служит для представления функции z = f(x y) в виде поверхности в трехмерном пространстве При этом должны быть заданы векторы значений xi и yj а также определена матрица вида Aij = f(xi yj) Имя матрицы A указывается при заполнении рамки-шаблона С помощью этой ко-манды можно строить параметрические графики

Contour Plot (Контурный график) Строит диаграмму ли-ний уровня функции вида z=f(xy) те отображает точки в которых данная функция принимает фиксированное значение z = const

3D Scatter Plot (3D Точечный) Служит для точечного пред-ставления матрицы значений Aij или отображения значений функ-ции z=f(xy) в заданных точках Эта команда может также использо-ваться для построения пространственных кривых

3D Bar Plot (3D Диаграммы) Служит для представления матрицы значений Aij или отображения значений функции z = f(x y) в виде трехмерной столбчатой диаграммы

44

Vector Field Plot (Поле векторов) Служит для представле-ния двухмерных векторных полей V=(Vx Vy) При этом компоненты векторного поля Vx и Vy должны быть представлены в виде матриц С помощью этой команды можно построить поле градиента функ-ции f(x y)

3D Plot Wizard (вызов мастера для быстрого построения трех-мерного графика) При выборе этой команды возникает ряд всплы-вающих окон в которых требуется выбрать параметры построения трехмерного графика (задаются тип трехмерного графика стиль его изображения цветовая гамма) График по умолчанию строится на промежутке от minus5 до +5 (по обеим переменным)

311 График функции у = f(x)

При выполнении команды Insert Graph Plot (или нажать соответствующую кнопку наборной панели) в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика (Клавиша [])

В ячейке расположенной под осью абсцисс указывается неза-висимая переменная x Ее следует определить заранее как перемен-ную принимающую значения из промежутка (ранжированная пере-менная)

В ячейке рядом с осью ординат необходимо задать функ-

цию f x график которой мы хотим построить Если эта функция

была определена заранее то в ячейку достаточно ввести f x в

противном случае следует ввести изображаемую функцию в явном виде (например cos x )

После ввода x и f x в графической области появятся еще че-

тыре ячейки которые не обязательно заполнять MathCAD автома-

45

тически находит подходящие значения для xmin xmax ymin ymax Если же предлагаемые MathCAD значения вас не устраивают вы можете задать свои

В MathCAD существует возможность строить график функ-ции не задавая предварительно промежуток изменения независи-мой переменной По умолчанию этот промежуток принимается рав-ным 1010

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

312 Кривые на плоскости заданные параметрически

Уравнения x f t y y t где f t и y t непрерывны

при t из a b устанавливающие зависимость декартовых коорди-

нат x y точки плоскости от значения параметра t определяют на

плоскости кривую заданную в параметрической форме

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

независимой переменной x под осью абсцисс необходимо задать индексированную переменную xi а рядом с осью ординат необхо-димо соответственно указать yi

46

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

313 Редактирование графиков в декартовой системе координат

Если вас не устраивает внешний вид построенных графиков вы можете его изменить выделив график (выполнив на нем щелчок так чтобы вокруг него появилась рамка) и воспользовавшись ко-мандой - Format Graph X Y Plot или выполнив на графике щелчок правой кнопкой мыши и выбрав команду Format из выпа-дающего контекстного меню (можно выполнить также двойной щелчок левой кнопкой мыши) В результате на экране появится диалоговое окно Formatting Currently Selected X-Y Plot позволяю-щее изменить вид графика

Данное диалоговое окно содержит несколько вкладок X-Y Axes (форматирование осей) Traces (тип линий графиков) Labels (подписи) Defaults (по умолчанию)

Первая из вкладок позволяет форматировать оси координат Log Scale (Логарифмическая шкала) ndash задает логарифмические

оси в этом случае границы графика должны задаваться положи-тельными числами

Grid Lines (Вспомогательные линии) ndash задает отображение сетки из параллельных осям линий

47

Numbered (Нумерация) ndash задает отображение подписи к мар-кировкам на осях

Autoscale (Автомасштаб) ndash задает автоматическое нахожде-ние подходящих границ для осей Но если вы сами зададите в соот-ветствующих ячейках минимальные и максимальные значения xmin xmax ymin ymax именно эти значения будут использоваться для опре-деления границ графика

Show Markers (Показать метки) ndash если установить эту опцию то в графической области появятся четыре дополнительные ячейки для создания красных линий маркировки соответствующих двум специальным значениям x и двум специальным значениям y

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Axes Style (Вид осей) ndash группа кнопок этой области позволяет выбрать следующие варианты представления осей Boxed (Ограни-ченная область) Crossed (Пересечение) ndash оси пересекаются в точке с координатами (00) None (Без границ) Флажок Equal Scales (Равный масштаб) позволяет задать одинаковый масштаб для обеих осей

Форматирование оси графика можно произвести выполнив на ней двойной щелчок

Для изменения типа линий графиков необходимо активизиро-вать вкладку Traces (След)

Legend Lable (Имя в легенде) ndash каждой кривой можно поста-вить в соответствие некоторый текст называемый легендой Леген-да отображается в нижней части графической области а рядом с каждой легендой отображается тип линии соответствующей кривой

Symbol (Символ) ndash позволяет выбрать символ для каждой точ-ки кривой (плюс крестик кружок и др)

48

Line (Линия) ndash можно выбрать один из следующих типов ли-ний solid (сплошная) dash (штриховая) dot (точечная) или dadot (штрихпунктирная) Это поле списка доступно в случае если в поле Type (Тип) выбран элемент lines

Color (Цвет) ndash задается цвет представления кривой на экране Type (Тип) ndash позволяет выбрать один из семи видов графика в

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

Weight (Вес) ndash позволяет задавать толщину линий графика В нижней части вкладки Traces расположены опции Hide

Arguments (Скрыть аргументы) ndash эта опция по умолчанию отклю-чена В этом случае под именем функции рядом с осью ординат ука-зывается текущий тип линий Если установить данную опцию ука-зание типа линий исчезнет

Hide Legend (Скрыть легенду) ndash по умолчанию легенда не

отображается Если вы хотите отобразить под графиком текст ле-генды его надо перед этим ввести в поле Legend Lable (Имя в леген-де) и подтвердить ввод выполнив щелчок на кнопке Применить Вкладка Labels (Метки) позволяет ввести заголовок графика и подписи для осей

49

В подменю Graph (Графика) меню Format (Формат) содер-жатся кроме прочих следующие команды

Trace (След) ndash при перемещении в области графика указателя

мыши при нажатой левой кнопке в полях X-Value (значение X) Y-Value (значение Y) диалогового окна X-Y Trace отображаются ко-ординаты точки на которую указывает курсор Если установлена опция Track Data Points (След точек данных) то курсор-крестик бу-дет перемещаться вдоль графика функции и вы сможете считывать текущее значение аргумента x и соответствующее значение функ-ции y=f(x) Координаты текущей точки можно скопировать в буфер с помощью кнопок Copy X (Копировать Х) Copy Y (Копировать Y)

Zoom (Изменение масштаба) ndash с помощью этой команды можно увеличить фрагмент графика предварительно выделив его протаскиванием мыши с нажатой левой клавишей После отпус-кания клавиши координаты углов выделенной области будут отображены в полях окна X-Y Zoom С помощью кнопки Zoom (Масштаб +) фрагмент можно увеличить с помощью кнопки Unzoom (Масштаб ndash) отменить выделение фрагмента а с помощью кнопки Full View (Обзор) ndash восстановить первоначальный вид графика Если вы увеличили фрагмент графика то при щелчке на кнопке OK в документе будет отображаться только этот фрагмент

50

32 Двухмерные графики в полярной системе координат

321 Построение полярных графиков

Для построения полярного графика необходимо выполнить

команду Insert Graph Polar Plot При этом в документ поме-щается графическая область с двумя незаполненными ячейками для построения графика (клавиши [Ctrl +7])

В нижнюю ячейку вводится полярный угол q Его следует определить заранее как переменную принимающую значения из промежутка (ранжированная переменная)

В левую ячейку вводится полярный радиус r q или Re r q и Im r q

Функция r q либо задается заранее ли-

бо ее определение вводится непосред-ственно в ячейку

График в полярных координатах можно построить и посредством команды

X Y Plot Только в этом случае необхо-димо дополнительно задать следующие функции х(q) = r(q)cos(q) и y(q) = r(q)sin(q) а в ячейках для абсцисс и ординат указать соответственно х(q) и y(q)

Если для некоторых углов q функ-ция не определена (не существует радиу-са с действительным значением он принимает чисто мнимые значе-ния) то MathCAD отображает на графике только действительные значения радиуса Но с помощью функций Re и Im можно предста-вить на одной круговой диаграмме графики как действительной так и мнимой части функции r q

322 Форматирование полярных графиков

Если вы хотите отредактировать график в полярных координа-тах необходимо выделить график (щелчком левой кнопки мыши) и выполнить команду Format Graph Polar Plot или выполнить

51

двойной щелчок на выделенном графике При этом откроется окно Formatting Currently Selected Polar Plot (Форматирование полярного графика) Это окно содержит те же вкладки что и для графиков в декартовой системе координат

Вкладка Polar Axes содержит следующие элементы Log Scale (Логарифмическая шкала) ndash используется для созда-

ния логарифмической r-оси Grid Lines (Вспомогательные линии) ndash отображает сетку ли-

ний соответствующих равенствам constr и constq Numbered (Нумерация) ndash линии constr и constq снабжа-

ются подписями Show Markers (Показать метки) ndash с помощью этой опции

можно снабдить график двумя дополнительными пунктирными окружностями constr Для этого надо ввести нужные значения радиуса в появившиеся ячейки Кроме того справа от графика ука-зываются минимальный и максимальный радиусы можно увеличить или уменьшить график введя в эти ячейки собственные значения

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Остальные значения параметров на этой вкладке и на других вкладках те же самые что и в случае команды - X Y Plot

52

33 Построение графика функции z = f (x y) в виде поверхности в декартовой

системе координат

Для построения графика поверхности можно воспользоваться двумя способами

Если вам надо только посмотреть общий вид поверхности то MathCAD предоставляет возможность быстрого построения подобных графиков Для этого достаточно определить функцию f x y и выполнить команду Insert

Graph Surface Plot или нажать со-ответствующую кнопку наборной пане-ли Graph (сочетание клавиш [Ctrl+7]) В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции MathCAD автоматически построит гра-фик поверхности Независимые переменные x и y принимают значе-ния из промежутка 5 5 При необходимости этот промежуток мо-

жет быть уменьшен или увеличен Для этого необходимо выделить график и воспользоваться командой 3 Format Graph D Plot или щелкнуть правой кнопкой мыши по выделенному графику и в кон-текстном меню выбрать команду Format В появившемся окне 3 D Plot Format на вкладке Quick Plot Data можно установить другие параметры изменения независимых переменных x и y

53

Для построения графика поверхно-сти в определенной области изменения независимых переменных или с кон-кретным шагом их изменения необхо-димо сначала задать узловые точки ix и

jy в которых будут определяться зна-

чения функции После (а можно и до) этого надо определить функцию f x y график которой хотите постро-

ить Затем необходимо сформировать

матрицу значений функции в виде i j i jA f x y

Теперь после выполнения команды Insert Graph Surface Plot в появившейся графической области достаточно ввести имя матри-цы (без индексов)

Если вы хотите чтобы узловые точки были расположены че-рез равные промежутки воспользуйтесь формулами

Для построения графика линий

уровня данной функции необходимо по-ступать так же как это было описано вы-ше только вместо команды (Поверхно-сти) следует выбрать команду Contour Plot (Контурный)

Аналогично с помощью команды 3 D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции с помощью команды

54

3 D Scatter Plot (3D Точечный) ndash трехмерный точечный график а с помощью команды 3 D Patch Plot (3D Лоскутный) ndash трех-мерный график поверхности в виде несвязанных квадратных пло-щадок ndash плоскостей уровня для каждой точки данных параллель-ных плоскости XY

Если поверхность задана параметрически это означает что все три координаты x y и z заданы как функции от двух параметров u и v Сначала необходимо задать векторы значений параметров iu и jv Затем необходимо определить матрицы значений функций ко-

ординат x u v y u v и z u v

После выбора команды Surface Plot в MathCAD-документе появится гра-фическая область В свободной ячейке внизу области надо указать в скобках имена (без аргументов и индексов) трех матриц ndash x y z

А А

55

34 Форматирование трехмерных графиков

Если вас не устраивает внешний вид созданного трехмер-ного графика вы можете изменить его выполнив команду

3 Format Graph D Plot или выполнив двойной щелчок мышкой на графической области В результате на экране появится диалого-вое окно 3 D Plot Format позволяющее изменять параметры отоб-ражения графика Мы рассмотрим здесь основные опции Разо-браться во всех тонкостях управлением видом графика вы можете самостоятельно построив график и поэкспериментировав выбирая те или иные опции

Диалоговое окно 3 D Plot Format содержит несколько вкладок Некоторые из них мы рассмотрим более подробно а для других minus опишем лишь их функциональное назначение

На вкладке General (Общие свойства) вы можете в области View задать направление взгляда наблюдателя на трехмерный график Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости XY Значение в поле Tilt задает угол наклона ли-нии взгляда к плоскости XY Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз равное цифре указанной в поле

ndash в области Axes Style (Стиль оси) задать вид осей выбрав се-лекторную кнопку Perimetr (Периметр) или Corner (Угол)

В первом случае оси всегда находятся на переднем плане При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A00 матрицы A

56

ndash в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями а опция Show border (Границы) позволяет заключить график в прямо-угольную рамку

ndash в области Plot 1 (Plot 2) Display as (Графикнесколько графи-ков отобразить как) имеются селекторные кнопки для представле-ния графика в других видах (контурный точечный векторное поле и др)

Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат

Посредством опций области Grids (Сетки) можно отобразить на графике линии описываемые равенствами x y z = const

Если установлены опции Show Numbers (Нумерация) отобра-жаются метки на осях и подписи к ним

При этом рядом с осями Ox и Oy указываются не значения уз-ловых точек xi yj а значения индексов i и j в то время как ось Oz размечается в соответствии с промежутком которому принадлежат элементы матрицы значений Ai j

Если установлена опция Auto Grid (Автосетка) программа самостоятельно задает расстояние между соседними отметками на осях Вы можете сами указать число линий сетки если отключите указанную опцию

Если установлена опция Auto Scale (Автошкала) то MathCAD сам определяет границы построения графика и масштабы по осям Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value (Ми-нимум) и Maximum Value (Максимум)

57

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options) вид цвет и толщину дополнительных линий на графике (область Line Options) наносить на график точки данных (опция Draw Points области Point Options) менять их вид размер и цвет

Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения laquoустановитьraquo несколько источников света выбрав для них цвет освещения и определив его направление

Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей ограничивающих область построения цвет нанесение сетки определение ее цвета и толщины прорисовка границ плоскостей

На вкладке Special (Специальная) можно изменять параметры построения специфичные для различных типов графиков

Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности графика а также указать направление смены окраски (вдоль оси Ox Oy или Oz) Включение опции Enable Fog (Наличие Тумана) делает график нечетким слегка размытым (полупрозрачным) При включении оп-ции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя

Вкладка Quick Plot Data обсуждалась ранее в начале раздела

35 Кривая в пространстве Трехмерные точечные графики можно использовать для по-

строения изображения пространственных кривых Пространствен-ные кривые задаются как правило в виде (x(t)y(t)z(t)) где t пред-ставляет собой непрерывный действительный параметр

58

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

и соединяющие их линии необходимо сначала определить три вектора координат ndash xi yi zi

Пространственная кривая создается командой 3 Insert D Graph Scatter Plot Можно использовать наборную панель Graph выбрав соответствующую пикто-грамму Для соединения точек необходимо на вкладке Appearance окна форматирова-ния графиков указать опцию Line

36 Векторные и градиентные поля

Команда Insert Graph Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx vy)

При этом векторное поле необходимо вначале определить как вектор-функцию двух координат ndash x и y Затем задаются векторы значений узловых точек x и y С помощью этих векторов компонен-ты векторного поля vx(xy) и vy(xy) генерируются в виде матриц значений vxi j и vyi j

59

Подобным образом можно построить градиентное поле ска-лярной функции f(x y)

Градиентное поле для функции двух переменных представляет собой двумерное векторное поле

Как и в остальных случаях внешний вид изображения вектор-ного поля можно легко изменить выполнив двойной щелчок в об-ласти графика и изменив требуемые опции в открывшемся диалого-вом окне 3 D Plot Format

37 Поверхности полученные вращением кривых вокруг осей

Интересные объемные фигуры мож-

но получить вращая некоторую кривую вокруг той или иной оси Построение этих фигур вращения сродни параметрически заданным поверхностям

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

60

38 Анимация в MathCAD

Для создания анимации строим график функции командой - X Y Plot из подменю Graph меню Insert Для анимации задается

промежуток изменения целочисленного параметра FRAME (по умолчанию от 0 до 9)

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

61

Теперь для создания анимации необходимо выполнить следу-ющие действия

1 Выбрать команду Animate из меню View При этом появится диалоговое окно Animate

2 Заключить построенный график в маркировочный прямо-угольник

3 Задать минимальное и максимальное значения параметра FRAME (поля From и To)

4 Задать в поле At количество воспроизводимых кадров в се-кунду

5 Выполнить щелчок на кнопке Animate При этом в диалого-вом окне вы увидите анимационные кадры

6 Чтобы воспроизвести анимацию щелкнуть на кнопке Play в появившемся окне Playback (Проигрыватель)

7 Чтобы внести изменения в анимацию выполнить щелчок на кнопке открытия меню в окне Playback

62

8 С помощью команды Save As можно сохранить анимацию в файле с расширением AVI

Встраивание анимации в MathCAD-до-кумент производится с помощью Windows Explorer Для этого необходимо

1 Запустить Windows Explorer 2 Выполнить в окне Windows Explorer

щелчок на имени AVI-файла 3 Перетащить AVI-файл в соответ-

ствующий MathCAD-документ 4 Воспроизвести анимацию можно посредством двойного

щелчка в графической области Анимацию можно также воспроизвести выполнив двойной

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

1 Выбрать команду Object из меню Insert 2 Установить опцию Создать из файла 3 Выбрать нужный AVI-файл с помощью кнопки Обзор 4 Установить опции Связь и В виде значка после чего выпол-

нить щелчок на кнопке OK

63

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба может привести к скачкообразному изменению размеров графика хотя на деле он должен меняться без скачков с дискретностью определяемой только изменением FRAME = 1 2 3 и тд

64

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ

41 Возможности символьного процессора MathCAD

Системы компьютерной алгебры снабжаются специальным

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

Ядро символьного процессора системы MathCAD minus несколько упрощенный вариант ядра известной системы символьной матема-тики Maple V фирмы Waterloo Maple Software у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение благодаря чему MathCAD стала (начиная с версии 30) системой символьной математики

Введение в систему MathCAD символьных вычислений прида-ет ей качественно новые возможности которые отсутствовали у прежних версий системы Куда важней что символьные вычисле-ния выполняются в конечном счете столь же просто (для пользова-теля) как скажем вычисление квадрата х

Символьные вычисления в MathCAD могут быть реализованы тремя способами

minus с использование команд подменю позиции Symbolics (Сим-волика) главного меню

minus с использованием команд панели Symbolic включаемой

кнопкой на математической панели инструментов (Начиная с версии MathCAd 40 для активных символьных вычислений при-меняется термин SMARTMATH представляющий комбинацию слов smart и MathCAD что в буквальном смысле означает умный MathCAD)

minus с использованием команды Optimization позиции главного меню Math

65

42 Команды меню Symbolics

Операции относящиеся к работе символьного процессора со-держатся в подменю позиции Symbolics (Символика) главного меню

Чтобы символьные операции выполня-лись процессору необходимо указать над ка-ким выражением эти операции должны произ-водиться те надо выделить выражение Для ряда операций следует не только указать выра-жение к которому они относятся но и наме-тить переменную относительно которой вы-полняется та или иная символьная операция

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

Следует отметить некоторые особенности при работе с коман-дами меню Symbolics

Для символьных вычислений выражения необходимо указы-вать явно Например недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл Это существенное ограничение о котором надо всегда помнить Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath которая описывается в дальнейшем главное в том что для вывода символьных вычислений в этом слу-чае используется оператор

Иногда результат вычислений содержит встроенные в систему специальные математические функции в этом случае результат по-мещается в буфер обмена Используя команду Paste или клавишу F4 можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат

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

66

Если операция невыполнима ndash система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изме-нений)

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

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

421 Операции с выделенными выражениями

Функции представлены в табл 20

Таблица 20

Операции с выделенными выражениями

Evaluate (Вычислить)

Преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

Упростить выделенное выражение с выполнением таких операций как сокращение подобных слагаемых приведение к общему знаменателю использование основных тригонометрических тождеств и тд

Expand (Разложить по степеням)

Раскрыть выражение [например для (Х + Y) (Х minus Y) по-лучаем X 2minus Y 2]

Factor (Разложить на множители)

Разложить число или выражение на множители [например Х 2 minus Y 2 даст (Х + Y) (Х minus Y)]

Collect (Разложить по подвыражению)

Собрать слагаемые подобные выделенному выражению которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение полиномиальное относительно выбранного выражения)

Polynomial Coefficients (Полиномиальные коэффициенты)

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

67

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами Evaluate Symbolically [Shift+F9](Вычислить в символах) minus вы-

полнить символьное вычисление выражения Floating Point Evaluation (С плавающей точкой) minus выполнить

арифметические операции в выражении с результатом в форме чис-ла с плавающей точкой

Complex Evaluation (В комплексном виде) minus выполнить преоб-разование с представлением в комплексном виде

Команда Evaluate Symbolically тут наиболее важная Назначе-ние других команд очевидно они нужны если результат требуется получить в форме комплексного или действительного числа К примеру если вы хотите вместо числа p получить 3141 ис-пользуйте команду Floating Point Evaluation В режиме символь-ных вычислений результат может превосходить машинную беско-нечность системы При этом число точных значащих цифр результата практически не ограничено (или точнее говоря зависит от емкости ОЗУ)

Символьная операция Evaluate Symbolically [Shift+F9] (Вычис-лить) обеспечивает работу с математическими выражениями со-держащими встроенные в систему функции и представленными в различном виде полиномиальном дробно-рациональном в виде сумм и произведений производных и интегралов и тд Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде Она возможна над матрицами с символьными элементами Производные и определен-ные интегралы символьные значения которых вычисляются долж-ны быть представлены в своей естественной форме

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью minus 20 знаков после запятой Для перехода в такой режим вычислений нужно числовые констан-ты в вычисляемых объектах задавать с обязательным указанием де-сятичной точки например 100 или 30 а не 10 или 3 Этот признак является указанием на проведение вычислений такого типа

На рисунке ниже показаны типовые примеры действия опера-ции Evaluate Symbolically

68

Здесь слева показаны исходные выражения подвергаемые

символьным преобразованиям а справа результат этих преобразо-ваний

Операция Evaluate Symbolically одна из самых мощных Как видно из рисунка она позволяет в символьном виде вычислять сум-мы (и произведения) рядов производные и неопределенные инте-гралы выполнять символьные и численные операции с матрицами

Simplify (Упростить)

Символьная операция Simplify (Упростить) minus одна из самых важных Эта операция позволяет упрощать математические выра-жения содержащие алгебраические и тригонометрические функции а также выражения со степенными многочленами (полиномами)

Упрощение означает замену более сложных фрагментов вы-ражений на более простые Приоритет тут отдается простоте функ-ций К примеру функция tan x считается более сложной чем

функции sin x и cos x Поэтому tan x упрощается так что по-

лучает представление через соотношение этих функций что не-сколько неожиданно так как в некоторых пакетах символьной ма-тематики например Derive ситуация иная они заменяют отношение sin cosx x функцией tan x

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений При-ведем примеры применения операции Simplify

69

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

Однако команда Simplify применительно к вычислениям опре-деленных интегралов делает гораздо больше minus она ищет аналитиче-ское выражение для интеграла Более того она способна делать это и при вычислении кратных интегралов пределы которых minus функции

Операцию Simplify можно использовать и для вычисления сумм и произведений символьных последовательностей Результат операции как и следовало ожидать получается в символьной форме (если она существует)

Приведенные примеры могут создать впечатление что

MathCAD справляется со всеми производными интегралами сум-мами и произведениями с помощью операции Simplify К сожале-нию это далеко не так Нередко система не справляется с кажущи-мися простыми справочными примерами Надо помнить что символьный процессор системы MathCAD обладает заметно уре-

70

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

В результате преобразований могут появляться специальные функции minus как встроенные в систему (функции Бесселя гамма-функция интеграл вероятности и др) так и ряд функций дополни-тельно определенных при загрузке символьного процессора (инте-гральные синус и косинус интегралы Френеля эллиптические ин-тегралы и др) Последние нельзя использовать при создании математических выражений

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в из-

вестном смысле противоположно действию операции Simplify Под-вергаемое преобразованию выражение расширяется с использова-нием известных (и введенных в символьное ядро) соотношений например алгебраических разложений многочленов произведений углов и тд Разумеется расширение происходит только в том случае когда его результат однозначно возможен Иначе нельзя считать что действие этой операции противоположно действию операции Simplify К примеру операция Simplify преобразует сумму квадратов синуса и косинуса в 1 тогда как обратное преобразование много-значно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные свести алгебраические выражения представленные в сжатом виде к выражениям в развернутом виде и тд Приведем примеры действия операции Expand Expression

Последний пример показывает что результатом операции мо-

жет быть специальная математическая функция которая считается более сложным выражением чем порождающее ее выражение

71

С виду однако выражения со специальными математическими функ-циями обычно выглядят гораздо проще чем исходные выражения

Factor (Разложить на множители)

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

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

Collect (Разложить по подвыражению)

Операция Collect (Разложить по подвыражению) обеспечива-

ет замену указанного выражения выражением скомплектованным по базису указанной переменной если такое представление воз-можно В противном случае появляется окно с сообщением о невоз-можности комплектования по указанному базису

Эта команда особенно удобна когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции

72

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

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

Polynomial Coefficients

(Полиномиальные коэффициенты)

Операция Polynomial Coefficients (Полиномиальные коэффи-циенты) в ранних версиях MathCAD отсутствующая служит для вычисления коэффициентов полинома

Операция применяется если заданное выражение ndash полином (степенной многочлен) или оно может быть представлено таковым относительно выделенной переменной Результатом операции явля-ется вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

422 Операции с выделенными переменными

Следующая группа символьных операций (табл 21) выпол-

няется с выражениями требующими указания переменной по от-ношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно поскольку указание в нем на пере-менную является одновременно и указанием на само выражение Если выражение содержит другие переменные то они рассматри-ваются как константы

73

Таблица 21 Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

Заменить указанную переменную содержимым буфера обмена

Differentiate (Дифференцировать переменную)

Дифференцировать все выражение содержащее выделенную переменную по отношению к этой переменной (остальные переменные рассматриваются как константы)

Integrate (Интегрировать по переменной)

Интегрировать все выражение содержащее выделенную переменную по этой переменной

Expand to Series (Разложить в ряд)

Найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной

Convert to Partial Fraction (Разложить на эле-ментарные дроби)

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

Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х то операция Solve (Решить) возвращает символьные значения ука-занной переменной х при которых F(x) = 0 Это очень удобно для решения алгебраических уравнений например квадратных и куби-ческих или для вычисления корней полинома Примеры решения квадратного уравнения и нахождения комплексных корней полино-ма четвертой степени

Ранее отмечалось что усложнение уравнения например пере-ход от квадратного уравнения к кубическому может вызвать и су-

74

щественное усложнение результата Тогда система представляет решение в более компактном виде (но без общепринятой математи-ческой символики) и предлагает занести его в буфер обмена

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

Более того форма представления результата в таком случае отличается от принятой в системе MathCAD (например в качестве знака деления используется косая черта для возведения в степень minus составной знак и тд) Это сделано ради компактности представ-ления результатов вычислений

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

Substitute (Заменить переменную)

Операция Substitute (Подстановка) возвращает новое выраже-ние полученное путем подстановки на место указанной переменной некоторого другого выражения Последнее должно быть подготов-лено и скопировано (операциями Cut или Copy) в буфер обмена Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой перемен-ной путем замены ее на числовое значение

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

75

Differentiate (Дифференцировать по переменной)

Нахождение символьного значения производной minus одна из са-мых распространенных задач в аналитических вычислениях Опера-ция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз Ниже показано применение операции дифференцирования

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычисле-

ниях minus вычисление интегралов (или нахождение первообразных) для аналитически заданной функции Для этого используется опе-рация Integrate (Интегрировать по переменной) Она возвращает символьное значение неопределенного интеграла по указанной кур-сором ввода переменной Выражение в состав которого входит пе-ременная является подынтегральной функцией

Здесь показан пример символьного интегрирования по пере-

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

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

Expand to Series (Разложить в ряд)

Операция Expand to Series(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной пе-ременной с заданным по запросу числом членов ряда п (число опре-деляется по степеням ряда) По умолчанию задано n = 6

76

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

Здесь представлено применение этой операции для разложе-ния функции sin(x)x Минимальная погрешность получается при малых х

Символьные операции нередко можно комбинировать для ре-шения сложных задач

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction (Разложить на элемен-

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

Как видно из представленных примеров применение этой

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

423 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции) которая имеет свое подме-ню со следующими операциями

Transpose (Транспонировать) minus получить транспонированную матрицу

Invert (Обратить) minus создать обратную матрицу

77

Determinant (Определитель) minus вычислить детерминант (опре-делитель) матрицы

Приведем примеры

424 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования создающий подменю со следующими возможностями

Fourier Transform (Преобразование Фурье) minus выполнить пря-мое преобразование Фурье относительно выделенной переменной

Inverse Fourier Transform (Обратное преобразование Фурье) minus выполнить обратное преобразование Фурье относительно выделен-ной переменной

Laplace Transform (Преобразование Лапласа) minus выполнить прямое преобразование Лапласа относительно выделенной пере-менной (результат minus функция от переменной s)

Inverse Laplace Transform (Обратное преобразование Лапласа) minus выполнить обратное преобразование Лапласа относительно выде-ленной переменной (результат minus функция от переменной t)

Z Transform (Z-преобразование) minus выполнить прямое Z-преоб-разование выражения относительно выделенной переменной (ре-зультат minus функция от переменной z)

Inverse Z Transform (Обратное Z-преобразование) minus выполнить обратное Z-преобразование относительно выделенной переменной (результат minus функция от переменной n)

По строкам показано применение соответственно преобразова-ния Фурье Лапласа и Z-преобразования а по столбцам minus исходная

78

функция ее интегральное преобразование и обратное преобразова-ние (выражения стоящего во втором столбце)

В меню Symbolics находится команда Evaluation Style при исполнении которой на экран выводится диалоговое окно позволя-ющее установить вид вывода результатов при работе с символьным процессором MathCAD

В группе переключателей Show envaluation steps (Стиль эво-люции) можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним Кроме то-го можно установить опции Show Comments для вставки коммента-риев и задать вывод результирующего выражения вместо исходного Evaluate in Place

43 Палитра символьных преобразований SmartMath

431 Назначение системы SmartMath

SmartMath minus фактически экспертная система ускоряющая вы-

числения в тех случаях когда это возможно При запущенной си-стеме SmartMath процессор численных операций приступая к вы-

79

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

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вы-числений и преобразований Система SmartMath более полно ис-пользует ядро символьных операций чем символьные вычисления из подменю позиции Symbolics главного меню и снимает некоторые ограничения на их выполнение Например возможно использование в преобразуемых выражениях функций пользователя Еще важнее то что результаты символьных преобразований выполняемых си-стемой SmartMath автоматически меняются при изменении исход-ных символьных данных

Система SmartMath в сущности является частью программных средств MathCAD реализующих линейные программы символьных вычислений

432 Операторы символьного вывода

Вначале для визуализации результатов символьных преобра-зований был введен специальный символ minus удлиненная горизон-тальная стрелка rarr Ее можно вызвать нажатием клавиш Ctrl+ (точка) или вызовом из палитр математических символов (для вво-да отношений и символьных операций) Шаблон этого знака имеет вид где на месте черного прямоугольника вводится подвергае-мое символьному преобразованию исходное выражение

Указанный символ можно рассматривать как простой оператор символьного вывода Если задать исходное выражение и вывести курсор из формульного блока с ним то система помещает результат его символьных преобразований после стрелки (оператора символь-ного вывода) Это и есть первый этап работы с системой SmartMath

В версию системы MathCAD 70 PRO введен еще один опера-тор ndash расширенный оператор символьного вывода Он задается нажатием клавиш Ctrl+Shift+ (точка) или выбором из палитры символьных операций Этот оператор имеет вид В первый шаблон-прямоугольник вводится исходное выражение а во второй ndash директивы символьных преобразований Задаются эти директивы или вводом соответствующих ключевых слов или из палитры сим-вольных операций

80

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

433 Состав директив системы SmartMath и их применение

При вводе стрелки rarr после выражения фактически (по умол-

чанию) над ним исполняется операция Simplify (Упростить) Но что подразумевается под этим ясно далеко не всегда даже несмотря на то что многие символьные операции система выполняет вполне очевидно например вычисление интеграла или производной в сим-вольном виде

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов помещенных на панели Symbolic ко-

торая вызывается кнопкой с панели инструментов Math (табл 22)

Таблица 22

Symbolic (символы)

Команда Функция Пример 1 2 3

Символьное вычисление

Символьное вычисление с ключевым словом

81

Продолжение табл 22

1 2 3

Modifier Дополнительные модификаторы

assume minus вводное слово для приведенных далее определений real minus для var=real означает вещественное значение var RealRange minus для var=RealRange(ab) означает принадлеж-ность вещественной var к интервалу [аb] trig minus задает направление тригонометрических преобразований

float Численное вычисление

complex Комплексное вычисление

assume

Символьное вычисление с некоторыми предположениями

solve

Решение уравнения (системы уравне-ний) относительно переменной (переменных)

simplify Упрощение выражений

substitute Замена переменной

factor Разложение на множители

expand Перемножение степеней и произведений

coeffs Определение коэффициентов полинома

collect

Группировка слагаемых по степеням переменной

series Разложение в ряд Тейлора или Лорана

parfac Разложение на элементарные дроби

82

Окончание табл 22

1 2 3

fourier Преобразование Фурье

invfourier Обратное преобра-зование Фурье

lарlасе Преобразование Лапласа

invlaplace Обратное преобразование Лапласа

ztrans Z-преобразование

invztrans Обратное Z-преобразование

MT Транспонирование матрицы

M-1 Нахождение обратной матрицы

|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными бук-

вами (кроме Modifier первая буква в этом слове должна быть прописной)

Блоки системы SmartMath имеют следующие отличительные свойства

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

несколько директив minus имеют конструкцию схожую с конструкцией программных

блоков Как нетрудно заметить директива упрощения simplify не име-

ет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения перемен-ной х и указания числа членов ряда Директивы преобразования

83

Лапласа (laplace) и решения уравнений (solve) требуют одного па-раметра minus указания имени переменной (в нашем случае х) С помо-щью директивы solve можно решать и системы уравнений minus тогда ее параметр будет вектором неизвестных

Выполнение матричных операций в символьной форме особой специфики не имеет

44 Оптимизация

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

Признаком оптимизации выражения является появление после него красной звездочки Кроме того щелкнув правой кнопкой мы-ши и выбрав из контекстного меню команду Show Popup можно наблюдать появление окна с оптимизированным выражением

Особый выигрыш оптимизация может дать при многократном

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

84

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

51 Линейные алгебраические уравнения

Уравнение вида 0ax b с заданным базовым множеством Gx a из Ga b из Gb называется линейным уравнением

Этапы решения с помощью MathCAD 1 Ввести уравнение (знак = вводится с помощью комбина-

ции [Ctrl++]) 2 Выделить курсором переменную относительно которой

должно быть решено уравнение 3 Выбрать команду Solve (Вычислить) подменю Variable (Пе-

ременные) меню Symbolics (Символы) При решении линейных уравнений (без параметров) или дроб-

ных уравнений которые сводятся к линейным MathCAD находит все существующие решения Однако при этом следует правильно интерпретировать сообщения выдаваемые системой

511 Единственное решение уравнения

В качестве решения MathCAD выдает число minus это означает что уравнение однозначно разрешимо (однозначное решение ли-нейного уравнения над множеством действительных чисел которое одновременно является областью определения этого уравнения)

512 Решение отсутствует

Рассмотрим другой пример

85

После выполнения описанных выше действий для нахождения решения MathCAD выдает сообщение о том что решение не найдено

Проанализировав данное уравнение приходим к выводу что выданное MathCAD сообщение означает что решений нет L=

MathCAD выдает сообщение laquoРешение не найденоraquo даже если уравнение имеет laquoформальное решениеraquo которое не принадлежит области определения (см примеры ниже)

513 Многозначность

Если в качестве решения MathCAD выдает имя переменной это означает что множество решений уравнения совпадает с областью определения Однако такие понятия как множество решений уравне-ния и область определения отсутствуют в MAthCAD и он не выписы-вает область определения Вы можете найти область определения решая с помощью MathCAD систему неравенств или уравнений

Такой результат выданный MathCAD после выполнения дей-ствий по решению уравнения означает что любое значение x из ба-зового множества удовлетворяет этому уравнению те L=R

514 Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Перемен-ные) меню Symbolics (Символы) выдает множество решений L = 6

86

Решение 6 копируем в буфер а затем выделяем маркером пе-ременную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены пере-менной значением 6

Рассмотрим пример

Здесь также правильное решение множество решений совпа-

дает с областью допустимых значений L = D Только следует учесть что D=R11

Рассмотрим другой пример

Последнее уравнение условно эквивалентно уравнению 2x = 4

Решение уравнения MathCAD 2 Формальное решение x = 2 не вхо-дит в область допустимых значений MathCAD выдает правильное сообщение

52 Квадратные уравнения и алгебраические уравнения высших порядков

Уравнение P(x) = 0 называется алгебраическим уравнением

n-го порядка если P(x) представляет собой полином степени n при n = 2 данное уравнение называется квадратным уравнением

87

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

521 Квадратное уравнение

Команда Solve (Вычислить) подменю Variable (Переменные)

меню Symbolics (Символы) дает решение в виде вектора L = minus2 minus4

Аналогичный результат можно получить используя директи-

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

Другой способ решения заключается в использовании коман-ды Factor (Фактор) меню Symbolics (Символы) для разложения по-линома на множители в соответствии с теоремой Виета

Отметим что при иррациональных и комплексных решениях

команда Factor (Фактор) меню Symbolics (Символы) не работает Но MathCAD находит и такие решения при использовании команды Solve

б)

в)a)

88

522 Квадратные уравнения с комплексными коэффициентами

При вводе уравнения с комплексными коэффициентами следу-ет вводить для i 1i для -i -1i для 2i 2i ни в коем случае не вводить laquoraquo

53 Уравнения более высокого порядка

MathCAD может решать уравнения вплоть до порядка 4 (даже символьно) Если возможно частичное разложение на множители то разрешимы уравнения и более высокого порядка Кубические уравнения

Уравнения четвертого порядка Уравнения седьмого порядка

б)а)

89

54 Иррациональные уравнения (уравнения с радикалами)

Корни (радикалы) могут вычисляться в MathCAD либо с по-

мощью знака корня (клавиши [Ctrl+]) либо как степени (клавиша [^] с дробными показателями Знак квадратного корня вводится нажатием клавиши [] Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор) Последовательность дей-ствий при решении уравнений с радикалами та же что и при реше-нии рассмотренных ранее уравнений

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

Радикалы определены не везде в действительной области Это обстоятельство приводит к необходимости находить область опре-деления прежде чем решать само уравнение Данная проблема справедливо игнорируется MathCAD поскольку он не может знать во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение Выход вы можете самостоятельно найти область определения воспользовавшись при этом возможно-стями MathCAD связанными с решениями неравенств

Вторая проблема возникающая при решении уравнений с ра-дикалами имеет принципиальный характер Функция x2 (как и лю-бая другая функция с четным показателем) на является инъективной (проблема главных значений) В связи с этим возведение в квадрат обеих частей уравнения содержащего квадратные корни не являет-ся эквивалентным преобразованием Как всегда при применении к обеим частям уравнения неинъективного преобразования увеличи-вается множество решений В результате в него могут войти laquoфик-тивныеraquo решения Как ни удивительно MAthCAD сам производит проверку решений на laquoфиктивностьraquo

Классический случай решения уравнения с радикалами

MathCAD распознает laquoфиктивныеraquo решения (которые могут воз-никнуть в результате неэквивалентного преобразования laquoвозведение в квадратraquo) и выдает верное сообщение Решение не найдено L =

90

В приведенных ниже примерах демонстрируется способность MathCAD находить область определения иррационального уравне-ния путем решения неравенств

Уравнения с радикалами третьей степени как и уравнения с комплексными коэффициентами не представляют для MathCAD никакой сложности

55 Уравнения с параметрами

При решении уравнений с параметрами MathCAD ведет себя по-разному в зависимости от того каким образом производятся символьные вычисления minus с помощью символьного знака равенства или команд меню Symbolics

91

В данном примере использование палитры символьных преоб-разований позволяет решить уравнение (solve) и упростить резуль-тат (simplify)

56 Экспоненциальные и логарифмические уравнения

Уравнение в котором независимая переменная входит в аргу-

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

Способ решения с помощью MathCAD такой же как и для других типов уравнений

Экспоненциальные уравнения во множестве действительных

чисел не создают дополнительных сложностей в том смысле что их область определения совпадает со множеством действительных чи-сел а логарифмирование представляет собой инъективное отобра-жение

Если при решении экспоненциального уравнения возникают

проблемы их как правило можно устранить посредством вспомо-гательного логарифмирования В крайнем случае можно обратиться к численным методам (см нелинейные уравнения и системы урав-нений в разд 510)

Значительно больше сложностей возникает при решении лога-рифмических уравнений

92

Область определения этих уравнений если рассматривать их во множестве действительных чисел как правило не совпадает с действительной числовой прямой MathCAD рассматривает лога-рифмические уравнения в комплексной области те не учитывая область определения

В данном примере показано что MathCAD иногда находит

решения (и даже действительные) там где их быть не может (про-блемы с комплексным логарифмом) Но нахождение области опре-деления позволяет прийти к верному решению

Насколько полезным может быть предварительное нахожде-ние области определения показывает следующий пример

93

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

множество решений L=

57 Тригонометрические уравнения

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

Для тангенса (и котангенса) этого главного значения доста-точно посредством периодического продолжения atan(x)+kp где k ndash целое представить все решения При решении уравнений с тан-генсами и котангенсами возникает также вполне разрешимая про-блема связанная с тем что данные функции определены не во всех точках числовой прямой

Данный пример показывает что вышеуказанное ограничение не

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

94

Вместо этого возникает другая сложность обратные функции asin(x) и acos(x) значениями которых являются главные значения обратных отображений не дают всех решений в рамках одного пе-риода (2p)

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

95

Данный пример демонстрирует пределы возможности MathCAD Решение напрямую не дает никаких результатов

Проведя дополнительные преобразования нам все-таки удает-ся найти решение

58 Неравенства

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

Неравенства как и уравнения можно решать либо с использо-ванием символьного знака равенства либо отметив переменную следом курсора посредством выполнения команды Solve (Вычис-лить) подменю Variable (Переменные) меню Symbolics (Символы) В разных неравенствах могут быть использованы различные знаки неравенств

Знаки laquoбольшеraquo и laquoменьшеraquo могут вводиться непосредственно с клавиатуры Все остальные знаки можно вводить с помощью па-нели Evaluation (Вычисления) либо сочетанием клавиш

96

Линейные неравенства и неравенства с дробно-рациональ-

ными функциями не составляют сложности для MathCAD

Неравенства с параметрами удобно анализировать с использо-

ванием знака символьного равенства если значения параметра ограничены некоторыми условиями

При решении неравенств содержащих трансцендентные

функции возможности MathCAD ограничены

В данном примере MathCAD не может решить неравенство

при использовании символьного процессора На помощь приходят

97

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

59 Системы линейных уравнений

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция lsolv(AB) Она решает си-стему линейных алгебраических уравнений вида A X B выдавая решение ndash вектор X А ndash матрица коэффициентов размерности n n В ndash вектор свободных членов размерности n X ndash вектор неизвест-ных пока решений

Эквивалентной для MathCAD формой представления систем

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

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения) Он удобен тем что при его использовании уравнения записываются не в матричной а в обычной форме а также тем что позволяет решать нелинейные

98

уравнения и вводить ограничительные условия для определяемого решения Блок решения применяется как для нахождения численно-го решения так и для отыскания решения в символьном виде

Синтаксис Блока решения Given Уравнения Ограничительные условия Find(v1v2vn) minus возвращает значение одной или ряда переменных для точного решения vi minus переменные которые надо найти i = 1 hellip n

Последовательность действий при численном решении

Задаем начальные (стартовые) значения для искомых пере-

менных Заключаем уравнения в блок решения начинающийся ключевым

словом Given и заканчивающийся ключевым словом Find (v1v2 vn) Если после слова Find (v1v2vn) ввести знак равенства [=]

MathACD выдаст численное решение При символьном решении не надо вводить начальные значе-

ния а после ключевого слова Find (v1v2vn) вместо знака равен-ства следует ввести символьный знак равенства (с помощью комби-нации [Ctrl+] или соответствующей пиктограммы панели Evaluation)

Существует еще одно важное отличие между блоком решения

и использованием матричных операций Если определитель матри-

99

цы коэффициентов равен нулю матричные методы оказываются непригодными В таком случае система не имеет решений или раз-решима неоднозначно Если же применить блок решения MathCAD распознает неоднозначность и выдает решение в параметрической форме

510 Нелинейные уравнения и системы уравнений

Многие уравнения например трансцендентные и системы из

них не имеют аналитических решений Однако они могут решаться численными методами с заданной погрешностью (не более значе-ния заданного системной переменной (TOL) Для простейших урав-нений вида F(x) = 0 решение находится с помощью функции

Rооt (Выражение Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем точности при котором выражение дает 0

Функция реализует вычисления итерационным методом при-чем можно задать начальное значение переменной Это особенно полезно если возможно несколько решений Тогда выбор решения определяется выбором начального значения переменной Пример ниже иллюстрирует технику применения функции root для вычис-ления корней кубического полинома

Как известно кубическое уравнение обязательно имеет хотя

бы один кубический корень х1 Он найден вначале функцией root Два других корня могут оказаться и комплексными Функция root

100

может отыскивать и такие корни Для поиска второго корня х2 первый исключается делением F(x) на (хminusх1) Соответственно для поиска третьего корня х3 F(X) делится и на (хminusх2)

Эту процедуру можно распространить и на поиск корней по-

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

5101 Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию polyroots(V) Она воз-вращает вектор корней многочлена (полинома) степени п коэффи-циенты которого находятся в векторе V имеющем длину равную n + 1

Заметим что корни полинома могут быть как вещественными

так и комплексными числами Не рекомендуется пользоваться этой функцией если степень полинома выше пятой-шестой так как то-гда трудно получить малую погрешность вычисления корней

При решении систем нелинейных уравнений используется специальный вычислительный блок открываемый служебным сло-вом директива Given и имеющий следующую структуру

101

Given Уравнения Ограничительные условия Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций Find(vl v2 vn) minus возвращает значение одной или ряда пере-

менных для точного решения Minerr(vl v2 vn) minus возвращает значение одной или ряда пе-

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

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

При использовании функции

Minerr для решения систем нелиней-ных уравнений надо проявлять из-вестную осторожность и обязательно предусматривать проверку решений

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

102

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ

61 Решение одиночного дифференциального

уравнения Для численного решения одиночного дифференциального

уравнения в MathCAD имеется функция Odesolve с помощью кото-рой может быть решена как задача Коши для обыкновенного диф-ференциального уравнения так и граничная задача Эта функция входит в состав блока решения и является его заключительным ключевым словом

Odesolve x b step ndash возвращает функцию которая является

решением дифференциального уравнения Используется в блоке с оператором Given

x ndash переменная интегрирования действительное число b ndash конечная точка отрезка интегрирования step ndash величина шага по переменной интегрирования (необяза-

тельный аргумент) Замечания 1 Уравнение должно быть линейным относитель-

но старшей производной 2 Число заданных начальных или граничных условий внутри

блока должно быть равно порядку уравнения 3 При записи уравнения для обозначения производных функ-

ции используйте специальные кнопки с панели Math или (штрих) minus [Ctrl+F7] для знака равенства = [Ctrl+=] (в том числе и для допол-нительных условий)

4 Конечная точка должна быть больше начальной 5 Не допускаются начальные и граничные условия смешанно-

го типа 5f a f a

6 Искомая функция в блоке должна быть обязательно с аргу-ментом f x

103

62 Численное решение задачи Коши для дифференциальных уравнений и систем

Для численного решения задачи Коши дифференциальных

уравнений и их систем могут быть использованы функции 1 2 rkfixed y x x n F ndash возвращает матрицу решений системы

уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

1 2 rkadapt y x x n F ndash ищет решение с переменным шагом

(там где решение меняется медленнее шаг увеличивается а в обла-сти быстрого изменения решения шаг функции уменьшается) Воз-вращается решение с равным шагом Функция работает быстрее чем rkfixed

1 2 Bulstoer y x x n F ndash дает более точное решение (методом

Bulirsch-Stoer) Аргументы вышеуказанных функций y ndash вектор начальных условий 1 2x x ndash границы интервала для поиска решения

n ndash количество точек на интервале F x y ndash вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе диффе-ренциальных уравнений первого порядка

104

В результате работы указанных функций рассчитывается мат-

рица количество столбцов которой равно порядку уравнения +1 (или сумме порядков уравнений в системе +1) а количество строк равно параметру n Первый столбец содержит значения независи-мой переменной второй ndash значение функции третий ndash для диффе-ренциальных уравнений 2-го порядка ndash значение производной искомой функции (если решается система двух уравнений 1-го по-рядка то третий столбец будет содержать значения второй функ-

105

ции) Для выделения решений (функций или их производных) мож-но воспользоваться стандартным оператором вывода столбцов мат-рицы Mlt gt

Если матрица правых частей дифференциальных уравнений почти вырождена то такие системы называются жесткими В этом случае решения возвращаемые функцией rkfixed будут неустойчи-выми и для решения таких систем необходимо применять функции Stiffb Stiffr где 1 2 Stiffb y x x n F J ndash ищет решение дифференци-

ального уравнения или системы дифференциальных уравнений ме-тодом Bulirsch-Stoer

1 2 Stiffr y x x n F J ndash ищет решение дифференциального

уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же как и при решении хорошо обусловленных систем дифференциальных уравнений Дополни-тельный аргумент ndash матрица J размером 1n n первый столбец

которой содержит частные производные dF dx остальные столбцы и строки представляют собой матрицу Якоби dF dy

106

0 0 0

0

1 1 1

0

0

n

n

n n n

n

F F F

x y y

F F F

x y yJ x y

F F F

x y y

Пример решения жесткой системы дифференциальных урав-нений

Для отыскания решения системы дифференциальных уравне-

ний только в конечной точке используются функции bulstoer rkadapt stiffb stiffr

Набор параметров для этих функций 1 2 maxbulstoer y x x acc F k save

1 2 maxrkadapt y x x acc F k save

1 2 maxstiffb y x x acc F k save

1 2 maxstiffr y x x acc F k save

107

Первые три параметра и пятый F этих функций те же что и

для функции Rkadapt Дополнительные параметры acc ndash параметр контролирующий точность решения (реко-

мендуется асс = 0001) maxk ndash максимальное число промежуточных точек в которых

ищется решение save ndash минимально допустимый интервал между точками в

которых ищется решение

63 Решение граничных задач для обыкновенных дифференциальных

уравнений

Если для дифференциального уравнения n-го порядка k гра-ничных условий заданы в начальной точке 1x а n k граничных

условий ndash в конечной точке 2x то такая задача называется краевой В MathCAD реализованы две функции позволяющие численно найти недостающие условия в точках 1x и 2x

631 Двухточечная краевая задача

Задача решается в два этапа Сначала с помощью функции sbval находятся недостающие начальные значения а затем приме-няется одна из вышеописанных функций для решения стандартной задачи Коши на отрезке

1 2 sbval V x x xf F load score ndash ищет недостающие началь-

ные условия в точке 1x V ndash вектор начальных приближений для искомых начальных

значений в точке 1x 1x 2x ndash граничные точки интервала F x y ndash вектор-столбец из n элементов содержит правые ча-

сти дифференциальных уравнений 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точке 1x некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

2score x y ndash вектор-столбец размерности вектора V содер-

жащий разность между начальным условием в точке 2x и значени-ем искомого решения в этой точке

108

Теперь решаем задачу традиционным методом

632 Краевая задача с условиями внутри интервала

На первом этапе используется функция ( 1 2 1 2 balfit V V x x xf 1 2 )F load load score ndash ищет недостающие начальные условия

в точках х1 и х2 сшивая решения выходящие из этих точек в точке xf

109

1 2V V ndash векторы начальных приближений для искомых на-чальных значений в точках х1 и х2

х1 х2 ndash граничные точки интервала 2 1 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точках х1 х2 некоторые из значений ndash констан-ты другие неизвестны и будут найдены в процессе решения

2 2 2load x V ndash вектор-столбец из n элементов содержит

начальные значения в точке х2 некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

score xf y ndash вектор-столбец размерности n содержащий раз-

ность между решениями начинающимися в точках х1 и х2 в точке xf

110

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ

71 Одномерная линейная аппроксимация

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

При кусочно-линейной интерполяции или аппроксимации вычи-сления дополнительных точек выполняются по линейной зависимости Графически это означает просто соединение узловых точек отрезками прямых для чего используется следующая функция linterp VX VY x

Для заданных векторов VX и VY узловых точек и заданного ар-гумента х эта функция возвращает значение функции при ее линей-ной аппроксимации При экстраполяции используются отрезки пря-мых с наклоном соответствующим наклону крайних отрезков при линейной интерполяции например

111

72 Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная ин-

терполяция оказывается довольно грубой Для целей экстраполяции функция linterp не предназначена и за пределами области определе-ния может вести себя непредсказуемо

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

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

cspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии в опорных точках к ку-бическому полиному

pspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии к опорным точкам пара-болической кривой

lspline VX VY ndash воз-

вращает вектор VS вторых производных при прибли-жении к опорным точкам прямой Наконец четвертая

функция int erp VS VX VY x ndash возвращает значение у (х) для за-

данных векторов VS VX VY и заданного значения x

112

Таким образом сплайн-аппроксимация проводится в два эта-па На первом с помощью функций cspline pspline или Ispline отыс-кивается вектор вторых производных функции у(х) заданной векто-рами VX и VY ее значений (абсцисс и ординат) Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с по-мощью функции interp

73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D графиков имеется возможность осуществления двумерной сплайн-интерполяции Это позволяет существенно повысить представительность сложных гра-фиков SD-функций в том числе контурных

113

Интерполяция функции двух переменных проводится также в два этапа

1 Вычисляется вектор VS вторых производных в опорных точках с помощью функций

cspline Mxy Mz

pspline Mxy Mz

lspline Mxy Mz

Здесь Mxy ndash матрица размера 2n строки которой определя-

ют по диагонали x y координаты прямоугольной сетки Mz ndash

матрица размера n n значений функции в узлах вышеопределен-ной сетки

2 Вычисление с помощью функции int erp VS Mxy Mz V

Здесь V minus вектор координат x y

Показаны графики функции двух переменных после проведе-ния двумерной сплайн-интерполяции и без нее

114

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ

81 Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х) Задача регрессии заключается в получении параметров этой функ-ции такими чтобы функция приближала облако исходных точек (заданных векторами VX и VY ) с наименьшей среднеквадратичной погрешностью

Чаще всего используется линейная регрессия при которой функция у(х) имеет вид у(х) = a + bx и описывает отрезок прямой К линейной регрессии можно свести многие виды нелинейной ре-грессии при двупараметрических зависимостях у(х)

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций

corr VX VY ndash возвращает скаляр ndash коэффициент корреляции

Пирсона int ercrpt VX VY ndash возвращает значение параметра а (смеще-

ние линии регрессии по вертикали) slope VX VY ndash возвращает значение параметра b (наклона

линии регрессии)

115

82 Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной

регрессии общего вида При ней заданная совокупность точек при-ближается функцией вида

1 2 1 1 2 2 F x K K Kn K F x K F x KnFn x

Таким образом функция регрессии является линейной комби-нацией функций 1 2 F x F x Fn x причем сами эти функции

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

Для реализации линейной регрессии общего вида использует-ся функция inf l it VX VY F Эта функция возвращает вектор

коэффициентов линейной регрессии общего вида K при котором среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек если их координаты хранятся в векторах VX и VY оказы-вается минимальной Вектор F должен содержать функции

1 2 F x F x Fn x записанные в символьном виде

Расположение координат точек исходного массива может быть любым но вектор VX должен содержать координаты упорядочен-ные в порядке их возрастания а вектор VY ndash ординаты соответ-ствующие абсциссам в векторе VX

116

83 Функции для одномерной и многомерной полиномиальной регрессии

Функция для обеспечения полиномиальной регрессии при про-

извольной степени полинома регрессии regress VX VY n введена

в новую версию MathCAD Она возвращает вектор VS запрашиваемый функцией int erp VS VX VY x содержащий коэффициенты многочлена n-й

степени который наилучшим образом приближает laquoоблакоraquo точек с координатами хранящимися в векторах VX и VY

Для вычисления коэффициентов полинома регрессии исполь-зуется функция submatrix

На практике не рекомендуется делать степень аппроксимиру-ющего полинома выше четвертой-шестой поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий поли-ном коэффициенты которого вычисляются по всей совокупности заданных точек те глобально Иногда полезна другая функция по-линомиальной регрессии дающая локальные приближения отрез-ками полиномов второй степени ndash loess VX VY span Эта функция

возвращает используемый функцией int erp VS VX VY x вектор

VS дающий наилучшее приближение данных (с координатами то-чек в векторах VX и VY ) отрезками полиномов второй степени Ар-гумент span gt 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение ndash 075)

117

Чем больше span тем сильнее сказывается сглаживание данных При больших span lt эта функция приближается к 2regress VX VY

MathCAD позволяет выполнять также многомерную регрес-сию самый типичный случай которой ndash приближение трехмерных поверхностей Их можно характеризовать массивом значений высот z соответствующих двумерному массиву Мху координат точек (х у) на горизонтальной плоскости

Новых функций для этого не задано Используются уже описанные функции в несколько иной форме

Regress Mxy Vz n ndash возвращает вектор запрашиваемый функ-

цией int erp VS Mxy Vz V для вычисления многочлена п-й степени который наилучшим образом приближает точки множества Мху и Vz Мху ndash матрица т times 2 содержащая координаты x и y

Vz ndash m-мерный вектор содержащий z-координат соответ-ствующих m точкам указанным в Мху

118

loess Mxy Vz span аналогична loess VX VY span но в

многомерном случае int erp VS Mxy Vz V возвращает значение z по заданным

векторам VS (создается функциями regress или loess) и Мху Vz и V (вектор координат х и у заданной точки для которой находится z)

84 Функция для нелинейной регрессии

общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора K параметров произвольной функции 1 2 F x K K Kn при котором обеспечивается минимальная

среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек

Для проведения нелинейной регрессии общего вида использу-ется функция genfit VX VY VS F Эта функция возвращает вектор

K параметров функции F дающий минимальную среднеквадратич-ную погрешность приближения функцией 1 2F x K K Kn ис-

ходных данных F должен быть вектором с символьными элементами содер-

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

119

ментов вектора K необходимые для решения системы нелинейных уравнений регрессии итерационным методом

85 Функции сглаживания данных

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

medsmooth VY n ndash для вектора с m действительными числами

возвращает m-мерный вектор сглаженных данных по методу сколь-

120

зящей медианы параметр n задает ширину окна сглаживания (n должно быть нечетным числом меньшим m)

ksmooth VX VY b ndash возвращает n-мерный вектор сглаженных

VY вычисленных на основе распределения Гаусса здесь VX и VY ndash n-мерные векторы действительных чисел параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в не-сколько раз превышать интервал между точками по оси х)

sup smooth VX VY ndash возвращает n-мерный вектор сглажен-

ных VY вычисленных на основе использования процедуры линей-ного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k здесь VX и VY ndash n-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возрастания

86 Функция предсказания

Весьма интересной является функция предсказания predikt data k N где data ndash вектор данных k ndash число последних

точек существующих данных на основе которых происходит расчет предсказываемых точек N ndash число точек в которых необходимо предсказать данные Она по ряду заданных равномерно располо-женных точек позволяет рассчитать некоторое число N последую-

121

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

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

122

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ

Вплоть до появления 7-й версии системы MathCAD возможно-сти программирования в них были крайне ограниченными Факти-чески MathCAD позволяла реализовать лишь линейные программы в основе которых лежит понятие функции Функция if и ранжиро-ванные переменные в отдельных случаях могли заменить условные выражения и циклы но с серьезными ограничениями Отсутствова-ла возможность задания завершенных программных модулей

Эти возможности в расширенном варианте появились в MathCAD 70 Pro Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке) включаемой кнопкой на панели Math

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

Эти подпрограммы-функции составляются так же как и опре-деления функций (табл 23) Рассмотрим простой пример вычисле-ния суммы Sum(n) = 1 + 2 + 3 + + n

Задайте сначала имя функции Sum вслед за которым введите список параметров (n) и оператор присваивания =

Введите начальное значение s 0 и отметьте его целиком Стрелка служит оператором присваивания в теле программы вво-дится клавишей (открывающая фигурная скобка) или выбором кнопки со стрелкой с панели

Создайте новую строку программы (вставка вертикальной черты) с помощью кнопки Add Line клавиша (закрывающая квадратная скобка) На экране появится вертикальная черта и пустая ячейка

Выполните щелчок на кнопке for чтобы ввести оператор цикла Перед символом принадлежности введите переменную i а после него ndash промежуток изменения переменной 1n В находящей-ся ниже ячейке введите присваивание s s+i Программа готова

123

Таблица 23 Команды панели Symbolic (символы)

Команда Функция Пример

Add Line Добавляет новую строку поднад (зависит от выделения) текущей строкой

Присваивание значения локальной переменной

if

Условный оператор (оператор ветвления) if условие должно стоять после if а оператор который исполняется если выполнено заданное условие ndash перед if

otherwise Обозначает оператор который должен быть исполнен если условие оператора if не выполняется

for

Цикл for за ключевым словом for следует переменная-счетчик а после символа принадлежности вводится промежуток изменения этой переменной Внутренние операторы цикла сдвинуты немного вправо

while

Цикл while внутренние операторы цикла будут исполняться до тех пор пока будет истинным условие следующее за ключевым словом while Пример показывает применение цикла для нахождения нулей функции методом касательных Ньютона

break

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

continue Служит для преждевременного завершения текущей итерации цикла сам цикл при этом продолжается

retutn Преждевременное завершение программы указанное в ячейке значение будет возвращено

on error Если при вычислении выражения expr2возникла ошибка вычисляется выражение expr1

124

Условный оператор if и оператор otherwise Рассмотрим пример программного блока вычисляющего фак-

ториал с использованием рекурсии

В данном примере 1 возвращается только если n = 0 или n = 1

Обратите внимание на задание нескольких условий ndash со знаком плюс каждое условие в скобках В остальных случаях учитывая формулу n=n(n minus 1) вызывается fakt(n minus 1) и умножается на n С помощью функции error можно вывести сообщение об ошибке при непра-вильном вводе аргумента

Для демонстрации работы цикла for рассмотрим ту же задачу но вычисление факториала осуществим с помощью цикла

Если n = 0 или n = 1 возвращается 1 в противном случае с по-мощью цикла for вычисляется произведение n=123n Вычис-ленное последним значение p возвращается автоматически

В следующем примере с помощью алгоритма Евклида опреде-ляется наибольший общий делитель Для реализации алгоритма используется цикл с ключевым словом while

125

91 Прерывание цикла с помощью операторов break и continue Оператор return

Первый пример ndash реализация метода касательных Ньютона

для определения нулей функции На основе начального значения x вычисляется новое улучшенное значение x расположенное ближе к искомому нулю функции При этом итерации повторяются до тех пор пока значение функции не станет меньше заданной точности (в примере 10minus6)

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

Кроме ключевого слова break имеется ключевое слово

continue с похожей функцией В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору continue прерывает выполнение только текущей итерации

126

92 Ключевое слово continue Ключевое слово continue используется для выявления всех ну-

лей функции на заданном интервале При этом в примере производится разбиение интервала на n

равных подынтервалов и ищутся те из них на которых функция ме-няет знак При обнаружении такого подынтервала вызывается функция реализующая метод касательных Ньютона с начальным значением находящимся в середине подынтервала

Обратите внимание по завершении работы программы выда-

ется вектор значений Ниже приводится программа вычисляющая коэффициенты

Фурье функции причем в результате выдается матрица значений нулевая по счету строка содержит коэффициенты Аn а первая ndash ко-эффициенты Bn Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn и первый ndash для Bn

127

128

ЛАБОРАТОРНЫЕ РАБОТЫ

Методические указания Порядок выполнения работы 1 Получите у преподавателя задание на выполнение очеред-

ной работы (вариант и дополнительные указания) и уясните цель 2 Разработайте структуру и алгоритм работы программы 3 Реализуйте алгоритм в виде текста на языке Maple 4 Продемонстрируйте работу программы преподавателю и

при наличии замечаний сделайте необходимые поправки 5 Подготовьте и сдайте отчет о работе Требования к оформлению отчета

По каждой выполненной лабораторной работе составляется отчет который должен содержать

minus титульный лист с названием учебного заведения и кафедры учебной дисциплины указанием номера работы фамилии исполни-теля и фамилии преподавателя принявшего работу

minus тему цель работы и развернутое лабораторное задание с от-ражением сведений о конкретном варианте

minus при необходимости minus краткое пояснение принципов метода и алгоритма решения задачи

minus текст программы minus фактические результаты исполнения программы minus вывод о работоспособности программы с объяснением при-

чин обнаруженных некорректностей в работе

129

Лабораторная работа 1 Тема Решение нелинейных уравнений

Лабораторные задания 1 Разработать программу вычисления корня нелинейного

уравнения с некоторой точностью одним из четырех методов поло-винного деления (ПД) касательных (К) хорд (Х) хорд и касатель-ных (ХК)

2 Решить эти же уравнения используя встроенные функции MathCAD

3 Сравнить полученные результаты

Методические указания С методами решения можно ознакомиться в [1minus3] Построить графики функций и отделить корень

Варианты заданий

Метод решения Задания

Метод хорд

Вариант 1 1 sin 035x x 2 3 23 9 8 0x x x

Вариант 5

1 12 cos 0368 0x x 2 3 3 1 0x x Вариант 9

1 ctg 3 0x x 2 3 201 06 15 0x x x Вариант 13

1 2 4sin 0x x 2 3 201 04 2 0x x x Вариант 17

1 lg 7 2 6 0x x 2 3 203 09 08 0x x x

Метод половинного деления

Вариант 2

1 2 5 3 0x x 2 22 log 1x x

Вариант 61 exp 2 2 1 0x x 2 tg 2 4x x x

Вариант 10 1 arctg 1 2 0x x 2 4 3 23 4 12 1 0x x x

Вариант 14

1 2 5xe x 2 3l g 1 1x o x

Вариант 18 1 lg 1 1x x 2 4 218 6 0x x

130

Окончание

Метод

касательных

Вариант 3

1 3ln 1 0x x 2 3 22 2 0x x

Вариант 7

1 2 1xx 2 3 23 9 10 0x x x Вариант 11

1 121 1x x 2 3 2 2 0x x

Вариант 151 cos 0x x 2 3 3 1 0x x

Вариант 19 1 2 lnx x 2 3 204 06 18 0x x x

Метод хорд и касательных

Вариант 4

1 2tg 047 02x x 2 3 22 3 12 5 0x x x Вариант 8

1 lg 12 0x x 2 3 23 24 3 0x x x Вариант 12

1 2ctg105 0x x 2 3 23 1 0x x Вариант 16

1 3 cos 1 0x x 2 3 22 9 6 0x x Вариант 20

1 2 21x

x e 2 3 23 8 0x x

131

Лабораторная работа 2 Тема Решение систем Лабораторные задания 1 Решить линейную систему классическим методом Гаусса

или одним из его модифицированных методов 2 Решить линейную систему методом Крамера используя со-

ответствующие пакеты 3 Решить нелинейные системы уравнений методами итераций

и Ньютона 4 Решить эти же системы используя встроенные функции 5 Результаты

Методические указания С методами решения можно ознакомиться в [1minus3 5 6] Построить графики функций и определить область существо-

вания корня Варианты заданий

1 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 1

3 2 4

2 3 6

2 3 4

х х х х

х х х х

х х х х

х х х х

sin 1 12

2 cos 2

x y

x y

2

2 2

tg 04

06 2 1

0 0

xy x

x y

x y

2 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 6

2 3 8

3 2 2 4

2 3 2 8

х х х х

х х х х

х х х х

х х х х

сos 1 05

cos 3

x y

x y

2 2

sin 16 0

1

0 0

x y x

x y

x y

3 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 4 5

2 2 3 1

3 2 2 1

4 3 2 5

х х х х

х х х х

х х х х

х х х х

sin 2 2

cos 1 07

x y

y x

3 2

2 2

tg 01

2 1

xy x

x y

4 1 3 4

1 3 4

1 2 4

1 2 3

3 4 5

2 3 4

3 2 5 12

4 3 5 5

х х х

х х х

х х х

х х х

2 sin 05 1

cos 15

x y

x y

2 2

sin 12 02

1

x y x

x y

132

Продолжение

5 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

3 5 7 12

3 5 7 0

5 7 3 4

7 3 5 16

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

x y

y x

3 2

2 2

tg 03

09 2 1

xy x

x y

6 1 2 3 4

1 2 3

1 2 4

2 3

5 3 4 20

3 2 9

5 7 10 9

3 5 1

х х х х

х х х

х х х

х х

сos 05 08

sin 2 16

x y

y x

2 2

sin 13 0

1

x y x

x y

7 1 2 3 4

1 2 4

2 3 4

1 2 3 4

2 5 8

3 6 9

2 2 5

4 7 6 0

х х х х

х х х

х х х

х х х х

sin 1 13

sin 1 08

x y

x y

3

2

2 2

tg

08 2 1

xy x

x y

8 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 4

3 3 3 2 6

3 2 6

3 3 6

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

y x

x y

2 2

sin 15 01

1

x y x

x y

9 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 7

2 5

2 1

3 3 10

х х х х

х х х х

х х х х

х х х х

сos 05 2

sin 2 1

x y

y x

3

2

2 2

tg

07 2 1

xy x

x y

10 1 2 4

1 2 3

2 3 4

1 2 3 4

4 2 9

3 4 7

3 2 4 12

2 3 0

х х х

х х х

х х х

х х х х

sin 2 15

cos 2 05

x y

y x

2 2

sin 12 01

1

x y x

x y

11 1 2 3 4

1 2 4

1 3 4

1 2 3 4

2 1

2 3 2

3 3

2 2 2 5 6

х х х х

х х х

х х х

х х х х

sin 1 12

cos 2 2

y x

x y

2

2 2

tg 02

06 2 1

xy x

x y

12 1 2 3 4

2 3 4

1 2 4

1 2 3

2 0

2 2

3 1

3 2 0

х х х х

х х х

х х х

х х х

сos 1 05

cos 3

y x

y x

2 2

sin 15 01

1

x y x

x y

133

Окончание

13 1 2 4

1 2 3 4

1 3 4

1 2 4

5 9

3 3 4 7

3 2 16

4 0

х х х

х х х х

х х х

х х х

сos 1 07

sin 2 2

x y

y x

2

2 2

tg 04

08 2 1

xy x

x y

14 1 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 9

2 8

2 5

2 1

х х х

х х х х

х х х х

х х х х

2 sin 05 1

cos 15

y x

y x

2 2

sin 12 01

1

x y x

x y

15 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 6 2 2 12

3 5 7 12

3 5 7 0

5 7 3 4

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

y x

x y

2

2 2

tg 01

09 2 1

xy x

x y

16 1 2

1 2 3 4

1 2 3 4

1 2 3 4

5 2

2 3 2 4

3 2 6

3 3 6

х х

х х х х

х х х х

х х х х

сos 05 08

sin 2 16

x x

x y

2 2

sin 14

1

x y x

x y

17 1 2 4

1 2 3 4

1 2 3 4

1 2 3 4

4 2

2 3 1

2 3 6

2 3 4

х х х

х х х х

х х х х

х х х х

sin 1 13

sin 1 08

y x

y x

2

2 2

tg 01

05 2 1

xy x

x y

18 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

5 3 4

2 3 2 6

2 2 3 8

3 2 2 4

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

x y

y x

2 2

sin 11 01

1

x y x

x y

19 1 2 3 4

1 2 3 4

1 3 4

1 2 3 4

4 2 4 3

2 1

3 3

2 2 2 5 6

х х х х

х х х х

х х х

х х х х

2 cos 05

sin 2 1

x y

x y

2 2

tg

2 1

x y xy

x y

20 1 3 4

2 3 4

1 2 4

1 2 3

2 2 1

2 2

1

3 2 0

х х х

х х х

х х х

х х х

sin 2 15

cos 2 05

y x

x y

2 2

sin 1

075

x y xy

x y

134

Лабораторная работа 3 Тема Работа с многочленами Лабораторные задания 1 Исследовать заданные функции на непрерывность найти их

экстремумы 2 Разложить заданную функцию одного переменного в ряд в

окрестности указанной точки 0x до n-го порядка 3 Преобразовать ряд в многочлен который разложить по сте-

пеням х а Построить графики заданной функции и получивше-

гося многочлена 4 Уметь находить коэффициенты при заданных степенях

старшие и младшие степени корни из многочлена и интервалы дей-ствительных корней многочлена раскладывать в ряд функции мно-гих переменных

Варианты заданий

Номер варианта

Функция n 0x

1 siny x arcsinu xy 10 1

2 cosy x u xy 8 minus1

3 lny x zu xy 9 3

4 tgy x zu y x 6 minus2

5 arcsiny x expu z xy 10 minus07

6 arccosy x lnu x y z 9 08

7 exp 2y x expu x zy 6 17

8 3 4 5y x x u th x y z 8 minus066

9 05log 1y x u ch x y z 5 15

10 05 2y sh x 2 2 2x y z 10 05

11 03 4y ch x 2 2 2x y z 7 minus045

12 13arctgy x 2 2 21 u x y z 5 03

13 1 exp 1y x x 2 2 2ln u x x y z 10 minus14

14 3 cos 1y x x 2 2tg u z x y 12 09

135

Окончание

Номер варианта

Функция n 0x

15 2 1 sin 7 3y x x ctgu x y z 9 055

16 2tgy x 22 z x y 6 08

17 2ln 1y x 2 2 21 cosu x y z 10 01

18 2 21 1y x x 2 2 21 sinu x y z 8 0

19 2 21 1y x x 2tgu x z 9 0

20 2 2sin 1y x x u cth x y z 10 036

136

Лабораторная работа 4 Тема Интерполяция и экстраполяция функций Цель построение интерполяционных многочленов по равно-

и неравноотстоящим узлам вычисление значений функций в ука-занных точках

Лабораторные задания 1 Построить интерполяционные многочлены Лагранжа Нью-

тона по равно- и неравноотстоящим узлам а также первые и вторые интерполяционные формулы Ньютона Гаусса и Бесселя

2 Выполнить линейную квадратичную кубическую и четвер-того порядка сплайн-аппроксимацию

Методические указания С методами построения многочленов можно ознакомиться

в [1minus3]

Варианты заданий

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

0298

0303

0310

0317

0323

0330

0339

150

155

160

165

170

175

180

325578

317639

312180

304819

2098755

2091950

283598

1

7

13

19

02006 03645

144 182

02654 03325

146 177

03127 03222

154 185

02746 03033

149 172

043

048

055

062

070

075

078

0115

0120

0125

0130

0135

0140

0145

163597

173234

187686

203345

222846

235973

253687

2

8

14

20

04984 073482

01144 0142

04998 08375

01004 0148

04256 08751

01157 0152

04057 08599

0105 0150

137

Окончание

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

011 015 021 029 035 041 047

150 155 160 165 170 175 180

15132 17422 20393 23994 28160 32812 37875

3 9

15

18

0112 0481 143 175 0128 0462 156 1751 0104 0439 148 1782 0103 04661 1523 1885

002 008 012 017 023 030 035

0375 0380 0385 0390 0395 0400 0405

102316 109590 121483 114725 130120 140976 139642

4

10

16 5

0021 036 0365 0406 024 0348 0379 0427 005 0321 0384 0403 0057 0337 0371 0413

068 073 080 088 093 099 106

185 190 195 200 205 210 215

43198 48689 54653 59653 64817 69554 71258

6

11

17

12

066 105 182 214 069 11 188 211 071 103 173 201 0682 0983 194 221

138

Лабораторная работа 5 Тема Разложение функций в ряд Фурье

Лабораторные задания 1 Разложить заданную функцию в ряд Фурье по системе ор-

тонормированных функций 2 Построить в одной системе координат графики функции и

некоторых частичных сумм ряда Фурье

Методические указания С методами решения можно ознакомиться в [1minus3 5minus7]

Варианты заданий

Номер варианта Функция у(х) Система функций

1 expx x Гегенбауэра

2 23 5 11x x Эрмита

3 sin 2 6x Лагерра

4 cos 5 x Лежандра

5 21 3x Якоби

6 2 21 1x x Чебышева 1-го рода

7 2 21 1x x Чебышева 2-го рода

8 1 cos x Гегенбауэра9 1 sin x Эрмита10 cosx x Лагерра11 sinx x Лежандра12 cos x x Якоби

13 sin x x Чебышева 1-го рода

14 exp x x Чебышева 2-го рода

15 6x Гегенбауэра16 1 x Эрмита17 1 Лагерра18 2cos x Лежандра

19 2sin x Якоби

20 122 1x Чебышева 1-го рода

21 122 1x Чебышева 2-го рода

139

Лабораторная работа 6 Тема Решение дифференциальных уравнений Лабораторные задания 1 Решить дифференциальное уравнение методами Эйлера

Рунге-Кутта Милна Адамса и простроить графики решений считая начальные условия нулевыми

2 Решить дифференциальное уравнение методами системы MathCAD и сравнить результаты решений

Методические указания Принять шаг равным 01 в качестве отрезка на котором ищет-

ся решение взять отрезок [01] С методами решения можно ознакомиться в [1minus3 5 6 8] Варианты заданий

Но-мер вари-анта

Уравнение у= f(x)

Но-мер вари-анта

Уравнение у= f(x)

1 21 02 siny y x y 11 cos 05y x y x y

2 2cos 1 05y x x y 12 2cos 1 06y x y y

3 21 04 sin 15y y x y 13 2cos 2 03y y x y

4 cos 15y x y x y 14 1 sin 05 2y x y y x

5 2cos 15 01y y x y 15 21 06sin 125y x y

6 cos 2 15y x y x y

16 1 01 2 sin 2y y x x y

7 2cos 1254 01y y x y

17 21 08 sin 2y y x y

8 cos 15 15y x y x y

18 1 sin 2 03 2y x y y x

9 2cos 175 05y y x y

19 1 1 sin 2y x y y x

10 2cos 08 03y x y y 20 21 22sin 15y x y

140

Лабораторная работа 7

Тема Интегральные преобразования Цель вычисление интегральных преобразований

Лабораторное задание От заданных функций найти прямое и обратное преобразова-

ние Фурье Лапласа Гильберта и Меллина

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

ознакомиться в [1minus3 5minus7] Так как не все заданные функции записа-ны в таблицы интегральных преобразований то необходимо соста-вить для них соответствующие интегральные суммы

Варианты заданий

Номер варианта Функция Номер варианта Функция

1 x 11 2 0

0 0

x

x

2 1 0 1

2 1

0 0 2

x

x x

x x

12 2x

3 1 0 1

0 0 1

x x

x x

13 2 0 2

0 0 2

x x

x x

4 sin 0

0 0

x x

x

14 0

0 0

x x

x

5 cos 0

0 0

x x

x

15 3x

6 1 0 1

3 1

0 0 2

x x

x x

x x

16 3 0 1

3 1

0 0 9

x x

x

x x

7 2 0

0 0

x x

x

17

1 1 1

0 1 1

x

x x

8 3 0

0 0

x x

x

18

1 1

0 1 1

x x

x x

9 exp x 19 2 1 1

0 1 1

x x

x x

10 exp 0

0 0

x x

x

20 3 1 1

0 1 1

x x

x x

141

САМОСТОЯТЕЛЬНЫЕ РАБОТЫ

Самостоятельная работа 1 1 Вычислите для каждого значения 1 5 7x следующие

функции

3 62 5

1y

x x

2

21

2

x

y e

2arctg

2

xy

Рекомендуется использовать операцию векторизации (MathPalette матричные операции) Измените количество значащих цифр выводимых на экран после десятичной точки на 6

2 Решите двумя способами (матричным и с помощью функ-

ции lsolve) систему линейных уравнений

2 0

2 3 1

5 1

x y z

x y z

x y z

Справку по использованию функции lsolve найдите в справоч-ной системе MathCAD

3 Смените нижнюю границу индексации массивов на 1 Вы-ведите решение системы уравнений из п 2 в виде вектора-столбца и поэлементно

4 Скопируйте первую из формул п 1 и замените в ней первое подкоренное выражение в знаменателе на sin x а второй операнд

в знаменателе ndash на ctg2

x

Присвойте полученное выражение но-

вой переменной G (удалив у) 5 Вставьте в документ текстовую область laquoПостроение про-

стейшего графикаraquo 6 Определите функцию sin cos 1f x x x

7 Постройте график функции f x (воспользуйтесь быстрым

построением графиков)

142

Самостоятельная работа 2 1 Задайте вектор 1V состоящий из трех элементов 231 и

вектор 2V ndash 417

2 Выполните следующие операции 1 3V 1 2V V 1 2V V 1 2V V просуммируйте элементы 1V транспонируйте вектор 2V

вычислите норму вектора 1V используя операцию векторизации вычислите sin 1V и посчитайте норму получившегося вектора

3 Задайте матрицу М с размерностью 2 3 транспонируйте ее 4 Создайте единичную матрицу Е размерности 5 5 вычис-

лите ее след 5 Создайте две квадратные матрицы 1M и 2M размерности

3 3 перемножьте их у полученной матрицы вычислите определи-тель выведите на экран второй столбец и поэлементно третью строку

6 Сложите матрицы 1M и 2M (матрица MM ) для получен-ной матрицы вычислите exp MM

7 Объедините матрицу MM и вектор 1V отсортируйте полу-ченную матрицу по первым столбцу и строке

8 Вычислите собственные значения любой из введенных мат-риц размерности 3 3 а также собственный вектор принадлежащий второму собственному значению

143

Самостоятельная работа 3 1 Задайте ранжированную переменную х меняющуюся от 0

до 2 с шагом 01 определите функцию 2sin 2f x x x построй-

те ее график

2 Определите изменение целого индекса i от 0 до 15 10ix i

2sin 2i i iy x x постройте график функции i iy x

3 Постройте график функции 2 2g x y x y где перемен-

ные x и y меняются от minus5 до 5 4 Изобразите сферу Ее параметрическое представление имеет

вид

8 0 0

cos sin

sin sin

cos

R

x R

y R

z R

Число точек 30N

5 Анимация Измените определение радиуса сферы

cosR f FrameF Постройте анимационный график (число

кадров равно 20 число кадров в секунду minus 3 Просмотрите на плеере получившуюся анимацию

ВНИМАНИЕ Перед построением анимации не забудьте от-ключить АВТОМАСШТАБ

6 Постройте графики функций заданных полярно

115 0 2

31 sin 2

2

sin 31 1

2

NN

r

r

144

7 Изобразите пространственную кривую

340 1 cos

3 sin

3

i

i

i

N i N x iN

y iN

z iN

8 Увеличьте число точек N повторите построение предыду-щего графика поэкспериментируйте меняя различные параметры отображения графика

145

Самостоятельная работа 4 1 Используя команды меню Symbolic вычислите в символь-

ном виде

1 sin

dx

x 1

cosm

n

na

2 Разложите по степеням sin 5x Посчитайте производную

от полученного выражения Постройте график функции и ее пред-ставлений в виде ряда включающих 2 члена разложения 5 членов разложения и 10 членов разложения

3 Вычислите коэффициенты полинома по степеням х и у

2 2 2 25 6 7 8 9 10x y x y xy xy x y

4 Используя интегральное преобразование Лапласа (и обрат-ное преобразование Лапласа) решите в символьном виде диффе-ренциальное уравнение

sind

y t ky t tdt

5 Используя палитру символьных преобразований найдите точку в которой функция двух переменных имеет экстремум

sind

y t ky t tdt

6 Вычислите в символьном виде интеграл предположив что с minus действительное число с gt 0

0

expx ct dt

7 Используя оператор символьного вывода и блок Givenhellip Find решите в символьном виде систему уравнений

2

2

400 2 2 0

200 200 0

y x x b x

y x

146

8 Вычислите предел от функции tg x при х стремящемся к

2 minus обыкновенный слева и справа 9 Исследуйте аналитически функцию f x определите точки

максимума и минимума точки перегиба постройте графики f x

f x и f x

2

2

1

xf x

x

147

Самостоятельная работа 5 1 Найдите решения систем уравнений (если они существуют)

а) 2

23 1

2 2

yx

x y

б) 2

2

0

1 0

x

e y

x y

с помощью блоков GivenhellipFind GivenhellipMinner Проверьте все ли решения найдены

2 Решите на отрезке [0 3] задачу Коши

0 051

x

x

ey y

e

используя функцию odersolve (в блоке с Given) и функцию rkfixed Выведите значение полученного решения в точке x = 3 3 Решите задачу Коши для дифференциального уравнения

0 0 3 0 1 0 1y y y y y

на отрезке [01] используя функцию odersolve (в блоке с Given) и функцию rkadapt

4 Решите систему дифференциальных уравнений

2 3 0 0 0 5

2 0 2 0 1

x x y x x

y x y y y

на отрезке [0 3] Выведите значения искомых функций и их произ-водных в точке с координатой х =15

5 Решите краевую задачу для дифференциального уравнения

10 0 0 0 8 1

2y yy y y y

на отрезке [0 8] выведите значение функции и ее производных в конечной точке отрезка

6 Для примера из п 5 вычислите значение функции только в конечной точке Используйте специально предназначенные для это-го формы функций bulstoer rkadapt stiffb stiffr

7 Найдите корни многочлена

3 22 20 2 100y x x x x

с помощью функций root и poltroots (Обратите внимание на значе-ние системной переменной)

148

Самостоятельная работа 6 1 Составьте программу вычисляющую константу фигуриру-

ющую в легенде об изобретателе шахмат Изобретатель попросил дать ему в награду определенное количество зерна положив на

первую клетку одно зернышко ( 1 12 те 02 ) на вторую minus два зер-

нышка ( 2 12 ) на третью minus четыре ( 3 12 ) и тд (на новой клетке зе-рен в 2 раза больше чем на предыдущей) Найдите общее число зе-рен составляющих награду изобретателя Вычислите их массу приняв за массу одного зерна 03 грамма Переведите полученный результат в тонны Вы знаете это число А MathCAD знает

2 Модифицируйте программу предусмотрев выход из нее ес-

ли число зерен больше триллиона ( 1210 ) 3 Составьте программу-функцию вычисляющую по заданным

длинам сторон треугольника a b c три величины периметр тре-угольника его площадь и радиус вписанной окружности

1

2s p p a p b p c

12p a p b p c

rp

где p minus полупериметр Предусмотрите в программе оценку существования треуголь-

ника с заданными длинами сторон a b c и выдачу результата об ошибке если треугольник с указанными сторонами не существует

4 Составьте программу-функцию вычисляющую n коэффи-циентов разложения функции f x заданной на отрезке L L в

ряд Фурье minus те параметрами являются f n L 5 Используя построенную в п 4 функцию вычислите при-

ближение рядом Фурье ступенчатой функции заданной на 11

0 если 1 0

1 если 0 1

xf x

x

Рассмотрите приближения для разных n (например 3n и 40n ) Постройте график функции f x и ее приближений рядами

Фурье с различным числом членов разложения

149

Самостоятельная работа 7 1 Введите матрицу координат точек плоскости

х 01 5 11 05 34 27 19 4 47 у 10 13 5 7 3 45 6 25 15

Постройте линейную и сплайновую интерполяцию для данно-

го laquoоблакаraquo точек Постройте функции линейной полиномиальной и обобщенной регрессии для этих же точек

2 С помощью функции rnd введите 50 случайных чисел из от-резка [0 2] Постройте функции сглаживания данных (с помощью различных встроенных функций)

3 С помощью функции predict предскажите поведение функ-ции sin 2f x x на [2 4] если предположить что она задана

на отрезке 0 2 Изменится ли предсказанное поведение если в

качестве исходных данных взять функцию определенную на [0 ]

150

СПИСОК ЛИТЕРАТУРЫ 1 Демидович Б П Основы вычислительной математики

Б П Демидович И А Марон М Лань 2011 minus 672 с 2 Фаддеев Д К Вычислительные методы линейной алгебры

Д К Фаддеев В Н Фаддеева М Лань 2002 736 с 3 Вержбицкий В М Численные методы учеб пособие для

вузов В М Вержбицкий minus 2-е изд испр minus М ООО Изд дом laquoОНИКС 21 векraquo 2005 minus 400 с

4 Вержбицкий В М Численные методы Математический анализ и обыкновенные дифференциальные уравнения В М Верж-бицкий minus М Высш шк 2001 minus 382 с

5 Воробьева Г Н Практикум по численным методам Г Н Во-робьева А Н Данилова minus М Высш шк 1990 minus 208 с

6 Кудрявцев Л Д Краткий курс математического анализа учеб для вузов Л Д Кудрявцев minus М Наука Гл ред физ-мат лит 2005 minus 736 с

151

Учебное издание

Черушева Татьяна Вячеславовна Зверовщикова Наталья Васильевна

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

В трех частях

Часть 1

Редактор Т В Веденеева Компьютерная верстка Р Б Бердниковой

Подписано в печать 9122015 Формат 60times84116 Усл печ л 883 Тираж 50

Заказ 1069

Издательство ПГУ

440026 Пенза Красная 40 Телфакс (8412) 56-47-33 е-mail iicpnzguru

  • Пустая страница
Page 3: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

3

СОДЕРЖАНИЕ

ПРЕДИСЛОВИЕ 5 1 РАБОТА В СРЕДЕ MATHCAD 6

11 Интерфейс пользователя 6 12 Входной язык системы MathCAD Типы данных 13 13 Ввод и редактирование данных 20 14 Настройка MathCAD для работы 33

2 ОПЕРАТОРЫ MATHCAD 39 21 Векторные и матричные операторы 39 22 Векторные и матричные функции 40 23 Функции возвращающие специальные характеристики матриц 41 24 Дополнительные матричные функции 41 25 Функции сортировки для векторов и матриц 42

3 ГРАФИКА MATHCAD 43 31 Двухмерные графики в декартовой системе координат 43 32 Двухмерные графики в полярной системе координат 50 33 Построение графика функции z = f(x y) в виде поверхности в декартовой системе координат 52 34 Форматирование трехмерных графиков 55 35 Кривая в пространстве 57 36 Векторные и градиентные поля 58 37 Поверхности полученные вращением кривых вокруг осей 59 38 Анимация в MathCAD 60

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ 64 41 Возможности символьного процессора MathCAD 64 42 Команды меню Symbolics 65 43 Палитра символьных преобразований SmartMath 78 44 Оптимизация 83

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ 84 51 Линейные алгебраические уравнения 84 52 Квадратные уравнения и алгебраические уравнения высших порядков 86 53 Уравнения более высокого порядка 88 54 Иррациональные уравнения (уравнения с радикалами) 89 55 Уравнения с параметрами 90 56 Экспоненциальные и логарифмические уравнения 91 57 Тригонометрические уравнения 93 58 Неравенства 95 59 Системы линейных уравнений 97 510 Нелинейные уравнения и системы уравнений 99

4

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ 102

61 Решение одиночного дифференциального уравнения 102 62 Численное решение задачи Коши для дифференциальных уравнений и систем 103 63 Решение граничных задач для обыкновенных дифференциальных уравнений 107

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ 110

71 Одномерная линейная аппроксимация 110 72 Одномерная сплайн-интерполяция и сплайн-аппроксимация 111 73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация 112

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ 114 81 Функции для линейной регрессии 114 82 Функция для линейной регрессии общего вида 115 83 Функции для одномерной и многомерной полиномиальной регрессии 116 84 Функция для нелинейной регрессии общего вида 118 85 Функции сглаживания данных 119 86 Функция предсказания 120

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ 122

91 Прерывание цикла с помощью операторов break и continue Оператор return 125 92 Ключевое слово continue 126

ЛАБОРАТОРНЫЕ РАБОТЫ 128 САМОСТОЯТЕЛЬНЫЕ РАБОТЫ 141 СПИСОК ЛИТЕРАТУРЫ 150

5

ПРЕДИСЛОВИЕ

Интегрированная компьютерная система MathCAD (Mathema-tical Computer Aided Design) является одной из самых распростра-ненных в мире программных сред предназначенных для решения широкого круга математических задач Программа MathCAD позво-ляет моделировать в электронном документе научно-технические расчеты в форме близкой к общепринятому в математике виду MathCAD имеет мощный математический аппарат в виде библиоте-ки встроенных программ реализующих множество математических алгоритмов Система поддерживает как численные так и аналити-ческие операции В ней можно работать без программирования В MathCAD есть собственные текстовый формульный и графиче-ский редакторы возможность использования трехмерной графики

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

6

1 РАБОТА В СРЕДЕ MATHCAD

11 Интерфейс пользователя

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

Рис 1

111 Главное меню системы

Вторая строка окна системы ndash главное меню Назначение его команд приведено на рис 2

Рис 2

7

Рассмотрим эти команды File (Файл) ndash работа с файлами сетью Интернет и электронной

почтой Ниспадающее меню содержит команды стандартные для

Windows-приложений Edit (Правка) ndash редактирование документов Ниспадающее меню также содержит команды стандартные

для Windows-приложений Большинство из них доступны только в случае если в документе выделены одна или несколько областей (текст формула график и тд)

View (Обзор) ndash изменение средств обзора Toolbars (Панели инструментов) ndash позволяет отображать или

скрывать панели инструментов Standart (Стандартная) Formatting (Форматирования) Math (Математика)

Status bar (Строка состояния) ndash включение или отключение отображения строки состояния системы

Ruler (Линейка) ndash установка мерной линейки Regions (Границы) ndash делает видимыми границы областей (тек-

стовых графических формул) Zoom (Масштаб) ndash увеличивает или уменьшает размер доку-

мента при изменении масштаба Refresh (Обновить) [Ctrl+R] ndash обновление содержимого экрана Animate (Анимация) ndash команда позволяющая создать анимацию Playback (Проигрыватель) ndash воспроизведение анимации хра-

нящейся в файле с расширением AVI Preferences (Настройки) ndash одна из вкладок всплывающего окна

(General) позволяет задать некоторые параметры работы програм-мы не влияющие на вычисления другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet

Insert (Вставка) ndash команды этого меню позволяют помещать в MathCAD-документ графики функции гиперссылки компоненты и встраивать объекты

Format (Формат) ndash изменение формата объектов Equation (Уравнение) ndash форматирование формул и создание

собственных стилей для представления данных Result (Результат) ndash позволяет задать формат представления

результатов вычислений Text (Текст) ndash форматирование текстового фрагмента (шрифт

размер начертание)

8

Paragraf (Абзац) ndash изменение формата текущего абзаца (от-ступы выравнивание)

Tabs (Табуляция) ndash задание позиций маркеров табуляции Style (Стиль) ndash оформление текстовых абзацев Properties (Свойства) ndash вкладка Display (Отображение) поз-

воляет задать цвет фона для наиболее важных текстовых и графиче-ских областей вставленный в документ рисунок ( Insert Picture ) позволяет заключить его в рамку вернуть ему первоначальный размер

Вкладка Calculation (Вычисление) позволяет для выделенной формулы включить и отключить вычисление в последнем случае в правом верхнем углу области формулы появляется маленький чер-ный прямоугольник и формула превращается в комментарий

Graf (График) позволяет менять параметры отображения графиков

Separate regions (Разделить области) ndash позволяет раздвигать перекрывающиеся области

Align regions (Выровнять области) ndash выравнивает выделенные области по горизонтали или по вертикали

HeadersFooters (Колонтитулы) ndash создание и редактирование колонтитулов

Repaganite Now (Перенумерация страниц) ndash производит раз-бивку текущего документа на страницы

Math (Математика) ndash управление процессом вычислений в MathCAD существует два режима вычислений автоматический и ручной В автоматическом режиме результаты вычислений полно-стью обновляются при каком-либо изменении в формуле

Automatic Calculation (Автоматическое вычисление) ndash позво-ляет переключать режимы вычислений

Calculate (Вычислить) ndash при ручном режиме вычислений поз-воляет пересчитать видимую часть экрана

Calculate Worksheet (Просчитать документ) ndash пересчет всего документа целиком

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

Options (Параметры) ndash позволяет задавать параметры вычис-лений

9

Symbolik (Символика) ndash выбор операций символьного процес-сора

Window (Окно) ndash управление окнами системы Help (Справка) ndash работа со справочной базой данных о системе MathCAD Help (Справка по MathCAD) ndash содержит три вклад-

ки Содержание ndash справка упорядочена по темам Указатель ndash предметный указатель Поиск ndash находит нужное понятие при вводе его в форму

Resource Center (Центр ресурсов) ndash информационный центр содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials) быструю справку в виде примеров из раз-личных областей математики (Quicksheets and Reference tables)

Tip of the Day ndash всплывающие окна-подсказки с полезными со-ветами (возникают при загрузке системы)

Open Book (Открыть книгу) ndash позволяет открыть справочник системы MathCAD

About MathCAD (О программе MathCAD) ndash информация о вер-сии программы авторских правах и пользователе

Каждая позиция главного меню может быть сделана активной Для этого достаточно указать на нее курсором ndash стрелкой мыши и нажать ее левую клавишу Можно также нажать клавишу F10 и ис-пользовать клавиши перемещения вправо и влево Затем выбор фиксируется нажатием клавиши ввода Enter Если какая-либо пози-ция главного меню делается активной она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций Перемещение по списку подменю и выбор нужной операции производятся аналогично тому как это описано для главного меню

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

Третью строку окна системы занимает панель инструментов

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

Рис 3

10

Кнопки операций с файлами Документы системы MathCAD являются файлами Файлы

можно создавать загружать (открывать) записывать и распечаты-вать на принтере Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок

New Worksheet (Создавать) ndash создание нового документа с очисткой окна редактирования

Open Worksheet (Открыть) ndash загрузка ранее созданного доку-мента из диалогового окна

Save Worksheet (Cохранить) ndash запись текущего документа с его именем

Печать и контроль документов

Print Worksheet (Печать) ndash распечатка документа на принтере Print Preview (Просмотр) ndash предварительный просмотр доку-

мента Check Speling (Проверка) ndash проверка орфографии документа

Кнопки операций редактирования Во время подготовки документов их приходится редактиро-

вать те видоизменять и дополнять с помощью следующих кнопок Cut (Вырезать) ndash перенос выделенной части документа в бу-

фер обмена с очисткой этой части документа Copy (Копировать) ndash копирование выделенной части докумен-

та в буфер обмена с сохранением выделенной части документа Paste (Вставить) ndash перенос содержимого буфера обмена в ок-

но редактирования на место указанное курсором мыши Undo (Отменить) ndash отмена предшествующей операции редак-

тирования Три последние операции связаны с применением буфера об-

мена Он предназначен для временного хранения данных и их пере-носа из одной части документа в другую либо для организации об-мена данными между различными приложениями

Кнопки размещения блоков

Документы состоят из различных блоков текстовых фор-мальных графических и тд Блоки просматриваются системой ин-

11

терпретируются и исполняются Просмотр идет справа налево и снизу вверх

ndash Align Across (Выровнять по горизонтали) ndash блоки вы-равниваются по горизонтали

ndash Align Down (Выровнять вниз) ndash блоки выравниваются по вертикали располагаясь сверху вниз

Пиктограммы этих кнопок изображают блоки и указанные ва-рианты их размещения

Кнопки операций с выражениями

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

Следующие группы кнопок являются специфичными именно для системы MathCAD (рис 4)

Рис 4

ndash Insert Function (Вставить функции) ndash вставка функции из списка появляющегося в диалоговом окне

ndash Insert Unit (Вставить единицы) ndash вставка единиц измере-ния

ndash Calculate (Пересчитать) ndash вычисление выделенного вы-ражения

ndash Insert Giperlink (Включение гиперссылки) ndash обеспечивает создание гиперссылки

ndash Component Wizard (Мастер компонентов) ndash открывает окно Мастера дающего удобный доступ ко всем компонентам си-стемы

ndash Run Math Connex (Запуск системы Math Connex) ndash за-пуск системы для стимулирования блочнозаданных устройств

Кнопки управления ресурсами

ndash Resource Center (Центр ресурсов) ndash дает доступ к центру ресурсов (см рис 4)

MathCAD 2000 Professional

12

ndash Help (Справка) ndash дает доступ к ресурсам справочной базы данных системы

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

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами

Style ndash Переключатель выбора стилей Font ndash Переключатель выбора набора символов Point Size ndash Переключатель выбора размеров символов Bold ndash Установка жирных символов Italik ndash Установка наклонных символов Underline ndash Установка подчеркнутых символов Left Align ndash Установка левостороннего выравнивания Center Align ndash Установка выравнивания по центру Right Align ndash Установка правостороннего выравнивания До тех пор пока не начат набор элементов документа часть

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

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

113 Наборные математические панели инструментов

Для ввода математических знаков в MathCAD используются

удобные перемещаемые наборные панели со знаками (рис 5) Они служат для вывода заготовок ndash шаблонов математических знаков (цифр знаков арифметических операций матриц знаков интегра-лов производных и тд) Для вывода панели Math необходимо вы-полнить команду View Toolbar Math Наборные панели появ-ляются в окне редактирования документов при активизации

13

соответствующих пиктограмм ndash первая линия пиктограмм управле-ния системой Используя общую наборную панель можно вывести или все панели сразу или только те что нужны для работы Для установки с их помощью необходимого шаблона достаточно поме-стить курсор в желаемое место окна редактирования (красный кре-стик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона установив на него курсор мыши и нажав ее ле-вую клавишу

Рис 5

Многие функции и операции которые вставляются в документ

с помощью наборных математических панелей могут быть поме-щены в документ с помощью laquoбыстрых клавишraquo При этом работа в системе MathCAD становится более продуктивной Рекомендуем запомнить сочетания клавиш хотя бы для некоторых наиболее часто употребляемых команд

12 Входной язык системы MathCAD Типы данных

MathCAD обладает специализированным входным языком

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

14

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

121 Алфавит MathCAD 2000 PRO

Алфавит входного языка системы определяет совокупность символов и слов которые используются при задании команд необ-ходимых для решения интересующего пользователя класса задач Алфавит системы MathCAD содержит

minus строчные и прописные латинские буквы minus строчные и прописные греческие буквы minus арабские цифры от 0 до 9 minus системные переменные minus операторы minus имена встроенных функций minus спецзнаки minus строчные и прописные буквы кириллицы (при работе с ру-

сифицированными документами) К укрупненным элементам языка относятся типы данных опе-

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

Для ввода греческих букв можно использовать панель набор-ных знаков Greek включаемую кнопкой на панели Math Кроме того в MathCAD предусмотрена возможность набора греческих букв с помощью клавиш Для этого достаточно набрать соответ-ствующую английскую букву и нажать комбинацию клавиш [Ctrl+G]

122 Числовые константы

Константами называют поименованные объекты хранящие некоторые значения которые не могут быть изменены В качестве имени числовых констант используются их числовые значения В системе MathCAD используются и числовые константы значени-ями которых являются числа с разной системой исчисления деся-тичные восьмеричные или шестнадцатеричные

15

Числовые константы задаются с помощью арабских цифр де-сятичной точки (а не запятой) и знака ndash (минус) Например

123 ndash целочисленная десятичная константа 123 ndash десятичная константа с дробной частью

5123 10 ndash десятичная константа с мантиссой 123 и поряд-ком ndash5

Порядок числа вводится умножением мантиссы на 10 в степе-ни определяющей порядок Знак умножения при выводе числа на экран меняется на привычную математическую точку а операция возведения в степень (с применением спецзнака ^) отображается пу-тем представления порядка в виде надстрочного элемента Десятич-ные числа имеют основание 10 Диапазон их возможных значений лежит в пределах от 10 ^ 307 до 10 ^ 307 (это машинная бесконеч-ность и машинный нуль)

Система MathCAD может работать с восьмеричными и шест-надцатеричными числами Восьмеричные числа имеют основание 8 так что один их разряд может иметь значения от 0 до 7 Такие числа в конце отмечаются латинской буквой O (от слова octal ndash восьме-ричное) Шестнадцатеричные числа имеют основание 16 и их раз-ряд может иметь значения

HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный при-знак в виде буквы h или H (от слова hexagonal ndash шестнадцатерич-ное) Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal ndash десятичное) Если число шестнадцатеричное начинается с буквы (например ABCО) то си-стема будет путать его с возможным именем переменной Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (нуль)

123 Комплексные числа

Большинство вычислений система выполняет как с действи-тельными так и с комплексными числами которые обычно пред-ставляются в алгебраическом виде Re ImZ Z i Z или

Re ImZ Z j Z Здесь ReZ minusдействительная часть комплексного числа Z ImZ ndash его мнимая часть а символы i или j обозначают мни-

16

мую единицу те корень квадратный из ndash1 Такое представление характерно для системы MathCAD Однако система не всегда знает какой символ применить для обозначения мнимой единицы Поэто-му перед использованием любых операций с комплексными числа-ми полезно вначале определить i или j как мнимую единицу (те присвоить им значение квадратного корня из ndash1)

124 Строковые константы

Строковая константа ndash это строка заключенная в кавычки например laquoMy nameraquo В строковую константу могут входить один или несколько символов либо слов

125 Переменные

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

Идентификатор начинается только с буквы например X 1X Идентификатор не должен содержать пробелов Нельзя использо-вать для идентификаторов буквы русского языка Идентификаторы не могут совпадать с именами встроенных или определенных поль-зователем функций

126 Системные переменные

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

17

Таблица 1

Системные переменные

Объект Клавиши Назначение

π Alt+Ctrl+P Число пи (314)

е E Основание натурального логарифма (272)

Ctrl+Z Системная бесконечность (10^307)

Процент (001)

TOL Погрешность численных методов (0001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Ширина столбцов (в символах) для операто-ра WRITEPRN (8)

PRNPRECISSION Число десятичных знаков используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

127 Операторы

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

128 Встроенные функции

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

18

Элементарные встроенные математические функции

Элементарные функции представим в табл 27 Таблица 2

Тригонометрические функции

sin( )z Синус cos( )z Косинус tan( )z Тангенс sec( )z Секанс csc( )z Косеканс cot( )z Котангенс

Таблица 3

Гиперболические функции

sinh( )z Гиперболический синус cosh( )z Гиперболический косинус tanh( )z Гиперболический тангенс sech( )z Гиперболический секанс csch( )z Гиперболический косеканс coth( )z Гиперболический котангенс

Таблица 4

Обратные тригонометрические функции

sin( )A z Обратный тригонометрический синус cos( )A z Обратный тригонометрический косинус tan( )A z Обратный тригонометрический тангенс

Таблица 5

Обратные гиперболические функции

sinh( )A z Обратный гиперболический синус cosh( )A z Обратный гиперболический косинус tanh( )A z Обратный гиперболический тангенс

Таблица 6

Показательные и логарифмические функции

exp( )z Экспоненциальная функция ln( )z Натуральный логарифм (по основанию e) log( )z Десятичный логарифм (по основанию 10)

Таблица 7

Функции комплексного аргумента

Re( )z Выделение действительной части z Im( )z Выделение мнимой части z Arg( )z Вычисление аргумента (фазы)

19

Специальные встроенные математические функции

Функции Бесселя К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя являю-щиеся решениями некоторых дифференциальных уравнений второ-го порядка (табл 8)

Таблица 8 Список функций Бесселя

0J x Функция Бесселя первого рода нулевого порядка 0I x Модифицированная функция Бесселя первого рода нулевого порядка 0Y x Функция Бесселя второго рода нулевого порядка

0K x Модифицированная функция Бесселя второго рода нулевого порядка

1J x Функция Бесселя первого рода первого порядка 1I x Модифицированная функция Бесселя первого рода первого порядка 1Y x Функция Бесселя второго рода первого порядка 1K x Модифицированная функция Бесселя второго рода первого порядка Jn n x Функция Бесселя первого рода n-го порядка In n x Модифицированная функция Бесселя первого рода n-го порядка Yn n x Функция Бесселя второго рода n-го порядка Kn n x Модифицированная функция Бесселя второго рода n-го порядка

Гамма-функция В системе MathCAD предусмотрено вычис-

ление гамма-функции G(z) Она широко применяется и в статисти-ческих расчетах В них используется также функция ошибок erf(x) называемая еще интегралом вероятности

Дополнительные неактивные функции При загрузке сим-вольного процессора система распознает ряд дополнительных спе-циальных функций например таких как в табл 9

Таблица 9 Дополнительные неактивные функции

FresnelC x Интеграл Френеля С(х) FresnelS x Интеграл Френеля S(x)

Ci x Интегральный косинус Si x Интегральный синус Ei x Интегральная показательная функция

dilog x Дилогарифм erf z Интеграл ошибок для комплексного аргумента z

lnPsi x d dx Go x пси-функция

Psi n x n-я производная пси-функции

20

Функции с условиями сравнения

Функции приведены в табл 10 Таблица 10

Числовые функции с условиями сравнения

( )ceil х Наименьшее целое большее или равное x ( )Floor х Наибольшее целое большее или равное x

mod( )х Остаток от деления xy со знаком x ( )angel х Положительный угол с осью x для точки с координатами (xy)

( )Ф х Функция Хевисайда ndash единичного скачка (дает 0 при 0x и 1 в противном случае)

d m n Функция именуемая символом Кронекера возвращающая 1 при m = n и 0 в противном случае

129 Функция условных выражений

Для создания условных выражений более широкие возможно-сти дает функция if

if (Условие Выражение 1 Выражение 2)

Если в этой функции условие выполняется то будет вычис-ляться выражение 1 в противном случае ndash выражение 2

1210 Математические выражения

Функции могут входить в математические выражения напри-мер в выражении

2ln 1Y x

где Y ndash переменная 1 и 2 ndash числовые константы знаки laquoraquo и laquo+raquo ndash операторы ln(x) ndash встроенная функция с аргументом х При выпол-нении символьных операций переменные π и e используются только в символьном виде К примеру число 2π равно 628314hellip и выводится как 2π а не как приближенное численное значение

13 Ввод и редактирование данных

131 Ввод и редактирование формул и текста

В MathCAD-документе курсор ввода имеет вид красного кре-стика Этот крестик указывает в каком месте рабочего листа будет

21

произведено следующее действие Установив указатель мыши в нужном месте документа и выполнив щелчок вы перемещаете туда крестик (можно использовать стрелки а не мышь) Указатель в виде крестика может принимать другие формы

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

этот голубой курсор можно только с помощью клавиш-стрелок Если при перемещении красного курсора-крестика вы вторг-

лись в область формулы курсор автоматически принимает форму голубого курсора формул

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

Если вам не нравится взаимное распо-ложение областей в документе его можно изменить

ndash установите курсор-крестик на пустом месте документа

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

ndash установите курсор на одну из выделен-ных областей (курсор примет вид черной руки)

ndash удерживая нажатой левую клавишу мыши переместите выделенные области в требуемое место

При вводе текстовой области (клавиша []) курсор-крестик имеет вид вертикальной

красной черты При этом текстовая область окружена черной рамкой

Если вы уже вводите текст забыв создать текстовую область (те MathCAD воспринимает введенный текст как формулу) то до-статочно нажать клавишу пробела и MathCAD преобразует форму-лу в текст Преобразование в обратном направлении невозможно

Остановимся подробнее на свойствах голубого курсора фор-мул Для этого рассмотрим пример Предположим что MathCAD не

22

известна функция cosh (гиперболический косинус) и нам необхо-димо ввести определение

2

x xe ef x

Введем последовательность символов

^ ^ 2f x e x e x

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

Однако в MathCAD предусмотрены более экономичные мето-ды редактирования и ввода С помощью клавиши пробела можно увеличить область выделения ndash у голубого курсора появляется го-ризонтальный след Отмеченный следом курсора фрагмент форму-лы как бы подразумевается заключенным в скобки

Введенную выше формулу можно ввести по-другому

^ ^ 2f x e x Пробел e x Пробел Пробел Пробел

След курсора позволяет снабжать фрагменты формул мнимы-ми скобками таким образом что последующая математическая опе-рация относится ко всему выражению отмеченному следом курсо-ра те заключенному в мнимые скобки

Часто бывает необходимым все-таки заключение в скобки не-которой части введенного выражения Для этого достаточно выде-лить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу [] (апостроф) Обычно курсор со сле-дом при вводе формул имеет вид уголка направленного вправо (след направлен влево от курсора) предлагая вправо ввести необхо-димые значения А что делать если вы пропустили какую-то часть формулы или необходимо подправить выражение и дописать кое-что слева Для этого можно воспользоваться клавишей [Ins]

Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода В режиме вставки след курсора направлен впра-во и вводимые символы появляются слева от курсора

23

При редактировании формул случаются ошибки На этот слу-чай в меню Edit имеется команда Undo отменяющая последнее дей-ствие Того же результата можно достичь воспользовавшись соот-ветствующей кнопкой панели инструментов Standart или комби-нацией клавиш [Alt+Backspace]

Для удаления отдельных чисел или фрагментов формул ис-пользуется клавиша [Backspace] ndash если курсор находится в режиме ввода и клавиша [Del] ndash если курсор находится в режиме вставки Для удаления больших частей формул удобнее воспользоваться мышью выделив соответствующий фрагмент (протащить по нему мышь с нажатой левой кнопкой) и нажав клавишу [Del]

В MathCAD существует возможность разбивки больших вы-ражений на строки если выражение состоит из нескольких слагае-мых Для этого

minus выполните щелчок на операнде который по вашему мне-нию следует перенести на следующую страницу

minus увеличьте след курсора в режиме вставки таким образом чтобы отметить всю правую часть формулы

minus нажмите клавишу Backspace Стоящий перед курсором знак laquo+raquo будет удален При этом обе части формулы заключаются в скобки

minus нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки)

Если же там где оканчивается строка находится знак вычита-ния то необходимо удалить символ разности minus минус minus и произвести перевод строки При этом MathCAD превратит разность в сумму что сделает результат неправильным Но погрешность можно компенси-ровать присвоив первому слагаемому во второй строке знак laquoraquo

Если вы по ошибке удалили знак умножения и осуществили перенос строки то результат будет неправильным поскольку MаthCAD заменит умножение сложением Разбивка на строки не может применяться для выражений результаты вычислений кото-рых получены в символьном виде

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

Обычные переменные отличаются от системных тем что они должны быть предварительно определены пользователем В каче-стве оператора присваивания используется знак Если перемен-ной присваивается начальное значение с помощью оператора та-кое присваивание называется локальным

24

С помощью знака (три горизонтальные черточки) который

вводится клавишей [~] (тильда) можно обеспечить глобальное при-сваивание те оно может производиться в любом месте документа Для вывода результата или для контроля значений переменных ис-пользуется обычный знак равенства = (если выводится численный результат) или знак символьного равенства (стрелка) если вы-числения производятся в символьном виде Для ввода стрелки мож-но использовать клавиши [Ctrl+] или соответствующую кнопку наборной панели Symbolic

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

25

133 Определение функций пользователя

При определении функций пользователя так же как и при определении переменных могут быть использованы знаки локаль-

ного и глобального присвоения При этом с использованием знака глобального присваивания функ-ция может быть определена в лю-бом месте документа

Синтаксис определения функции

_ arg1arg 2arg Name Func N Выражение

Здесь _Name Func ndash имя функции arg1arg 2arg N ndash аргу-менты функции Выражение ndash любое выражение содержащее до-ступные системе операторы и функции с операндами и аргумента-ми указанными в списке параметров

134 Ранжирование переменных

Ранжированные переменные ndash особый класс переменных который в системе MathCAD зачастую заменяет управляющие структуры называемые циклами Эти переменные имеют ряд фик-сированных значений с определенным шагом меняющихся от начального значения до конечного

Ранжированные переменные характеризуются именем и ин-дексом каждого своего элемента Например Name Nbegin Nend

где Name ndash имя переменной Nbegin ndash ее начальное значение Nend ndash конечное значение ndash символ указывающий на изменение переменной в заданных пре-делах (он вводится знаком точки с запя-той ) Если Nbegin Nend то шаг изменения переменной будет +1 в про-тивном случае ndash ( 1 )

26

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

Step заданный шаг переменной

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

Любое выражение с ранжиро-ванными переменными после знака равенства инициирует таблицу вы-

вода Полезно учитывать некоторые свойства таблиц вывода minus число строк в них не может быть больше 50 minus числа в таблицах можно задавать в требуемом формате с по-

мощью операций задания формата чисел minus при использовании в таблице единиц размерности все дан-

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

jX выводится обычная таблица вывода

X выводится вектор если число его элементов меньше 10 X выводится таблица вывода со слайдером если число эле-

ментов вектора больше 10 В таблице вывода можно и вставлять числовые значения и

корректировать их Индексированные переменные образующиеся в результате за-

дания ранжированных переменных могут применяться в последу-ющих формульных блоках

Однако при этом необходимо соблюдать соответствие результа-тов (конечных и промежуточных) векторному типу этих переменных Необходимо помнить что ранжированная переменная minus это вектор

Обратите внимание что в приведенном примере ранжирован-ная переменная i принимает значения 1 2 3 и 4 А вектор g опреде-ленный через ранжированную переменную i содержит 5 элементов

27

Это связано с тем что по умолчанию началом отсчета индексов в MathCAD является нуль

135 Массивы (векторы матрицы)

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

Индексация элементов массивов Порядковый номер эле-мента который является его адресом называется индексом

Нижняя граница индексации задается значе-нием системной переменной ORIGIN которая может принимать значение 0 или 1 Для смены начала индексации можно прямо в документе присвоить переменной ORIGON соответствующее значение или сделать это через позицию Math

главного меню подменю Options используя вкладку Build-In Variables (Встроенные переменные)

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

числовые значения элементов они раз-личны по типу и при использовании да-дут разные результаты при векторных и матричных операциях Для ввода векторов и матриц можно

использовать кнопку панели набор-ных математических элементов Matrix

28

которая в свою очередь включается нажатием соответствующей кнопки на панели Math Но гораздо проще использовать сочетание клавиш [Ctrl+M] Оба вышеуказанных действия приводят к появле-нию диалогового окна Insert Matrix в котором необходимо указать число строк и столбцов для вводимой матрицы (вектора)

В результате в документе появляется шаблон матрицы который можно заполнить требуемыми данными Пере-ход от символа к символу внутри шаблона совершается с помощью клавиши Tab (Табуляция)

Массив можно определить и вручную поэлемент-но Для указания нижнего индекса используется клави-

ша [ (квадратная скобка) Если индекс двойной (у матрицы) то ин-дексы вводятся через запятую

Заполнение массивов может быть организовано с помощью ранжированных переменных и функций пользователя

136 Операторы системы MathCAD

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструи-рования математических выражений В табл 1113 приведены раз-личные операторы системы MathCAD

29

Таблица 11 Арифметические операторы

Оператор Ввод Назначение оператора X Y X Y Локальное присваивание X значения Y

X Y X Y Глобальное присваивание X значения Y X X Вывод значения X

X X Смена знака X X Y X Y Суммирование X с Y X Y X Y Вычитание из X значения Y

X Y X Y Умножение X на Y X Y X Y Деление X на Y

YX ^X Y Возведение X в степень Y

X X Вычисление квадратного корня из X X X Вычисление факториала

Z | Z Вычисление модуля комплексного Z

Z Z ldquo Вычисление комплексно-сопряженного с Z числа () lsquo Ввод пары круглых скобок с шаблоном ( ( Ввод открывающей скобки ) ) Ввод закрывающей скобки

nX X n Ввод нижнего индекса n nX X Ctrl n Ввод верхнего индекса n

Таблица 12 Расширенные арифметические операторы

Оператор Ввод Назначение оператора $ Вычисление суммы

Вычисление произведения

f Вычисление производной b

a

amp Вычисление определенного интеграла

Применение расширенных операторов значительно облегчает решение математических задач

Таблица 13 Операторы отношения (логические операторы)

Оператор Ввод Назначение оператора X Y X Y X больше Y X Y X Y X меньше Y X Y X Ctrl Y X больше или равно Y

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

X Y X Ctrl Y X не равно Y X Y X Ctrl Y X равно Y

30

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

137 Программные операторы в MathCAD

В системе MathCAD можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами Это реализуется использованием встроенных программных операторов похожих на используемые в различных языках программирования (рис 6) Как видно на рис 7 и 8 где вычисляется факториал про-граммный модуль в системе MathCAD превратился в самостоятель-ный блок причем при необходимости выполнить несколько опера-торов их объединяют жирной вертикальной чертой

Рис 6 Рис 7 Рис 8

Модуль может вести себя как безымянная функция без пара-

метров но возвращающая результат ndash первый пример Программ-ный модуль может выполнять и роль тела функции пользователя с именем и параметрами ndash второй пример

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

Add Line ndash создает и при необходимости расширяет жирную вертикальную линию справа от которой в шаблонах задается запись программного блока

31

ndash символ локального присваивания (в теле модуля) if ndash условный оператор for ndash оператор задания цикла с фиксированным числом повто-

рений while ndash оператор задания цикла действующего до тех пор по-

ка выполняется некоторое условие otherwise ndash оператор иного выбора (обычно применяется с if) break ndash оператор прерывания continue ndash оператор продолжения return ndash оператор возврата on error ndash оператор обработки ошибок Оператор добавления линии Add Line выполняет функции

расширения программного блока Расширение фиксируется удлине-нием вертикальной черты программных блоков или их древовид-ным расширением Благодаря этому в принципе можно создавать сколь угодно большие программы

Оператор внутреннего присваивания выполняет функ-ции внутреннего локального присваивания Например выражение

123x присваивает переменной x значение 123 Локальный харак-тер присваивания означает что такое значение х сохраняет только в теле программы За пределами тела программы значение перемен-ной х может быть неопределенным либо равно значению которое задается вне программного блока операторами локального = или глобального присваивания

Условный оператор if является оператором для создания условных выражений Он задается в виде

Выражение if Условие Если условие выполняется то возвращается значение выраже-

ния Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise

Оператор цикла for служит для организации циклов с задан-ным числом повторений Он записывается в виде

for Var NminhellipNmax

Эта запись означает что выражение помещенное в распо-ложенный ниже заменитель будет выполняться для значений переменной Var меняющихся от Nmin до Nmax с шагом +1 Пере-менную счетчика Var можно использовать в исполняемом выра-жении

32

Оператор цикла while служит для организации циклов дей-ствующих до тех пор пока выполняется некоторое условие Этот оператор записывается в виде

while Условие

Выполняемое выражение записывается на место расположен-ного ниже заполнителя

Оператор иного выбора otherwise обычно используется сов-местно с оператором if Это поясняет следующая программная кон-струкция

1 0

1

if xf x

otherwise

Здесь f x получает значение 1 если 0x и ndash1 во всех

остальных случаях Оператор прерывания break вызывает прерывание работы про-

граммы всякий раз когда он встречается Чаще всего он использу-ется совместно с оператором условного выражения if и операторами циклов while и for обеспечивая переход в конец тела цикла

Оператор продолжения continue используется для продолже-ния работы после прерывания программы Он также чаще всего ис-пользуется совместно с операторами задания циклов while и for обеспечивая возвращение в точку прерывания и продолжение вы-числений

Оператор возвращения return прерывает выполнение про-граммы и возвращает значение операнда стоящего следом за ним Например конструкция

0 0return if x

будет возвращать значение 0 при любом 0x Оператор и функция обработки ошибок позволяют создавать

конструкции обработчиков ошибок Этот оператор задается в виде

_1 _ 2Выражение on error Выражение

Здесь если при выполнении _1Выражения возникает ошибка то выполняется _ 2Выражение Для обработки ошибок полезна так-

же функция error S которая будучи помещенной в программный

модуль при возникновении ошибки выводит всплывающую под-сказку с надписью хранящейся в символьной переменной S

33

Программный модуль в сущности является функцией но опи-санной с применением упомянутых программных средств Она воз-вращает значение определяемое последним оператором (если не предусмотрено иное с помощью оператора return) Это значит что после такого модуля выделенного как целый блок можно поста-вить знак равенства для вывода результата его работы (см рис 8) В блоке могут содержаться любые операторы и функции входного языка системы Для передачи в блок значений переменных можно использовать переменные документа которые ведут себя в блоке как глобальные переменные

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

14 Настройка MathCAD для работы

141 Настройка параметров вычислений

Для настройки параметров вычислений необходимо выбрать команду Options (Параметры) меню Math (Математика) При этом на экране появится диалоговое окно (Свойства) содержащее сле-дующие вкладки

Built-In Variabls (Встроенные переменные) ndash позволяет уста-новить значения встроенных системных переменных влияющих на точность вычислений и параметры некоторых функций системы

Calculation (Вычисление) ndash эта вкладка содержит две опции задающие режим автоматических вычислений и оптимизации вы-ражений перед вычислением

Display (Отображение) ndash позволяет форматировать вид сим-волов отображающих основные операторы системы (умножение деление локальное и глобальное присваивание и др)

34

Unit System (Система единиц) ndash позволяет выбрать систему единиц для размерных величин SI MKS CGS Us и None (не ис-пользуется ни одна из этих систем)

Dimensions (Размерность) ndash позволяет изменить формат раз-мерных величин (на вкладке содержится их перечень) Для этого надо laquoвключитьraquo опцию Display Dimensions (Просмотр размерно-стей)

Остановимся подробнее на изучении параметров вкладки Built-In Variabls (Встроенные переменные) Здесь можно изменить значения системных констант и переменных К ним относятся

Array Origin (ORIGIN) ndash начальное значение для индексов Например трехмерный вектор v при ORIGIN=0 (по умолчанию) имеет компоненты v0 v1 v2

Convergence Tolerance (TOL) ndash допустимое отклонение MathCАD использует эту переменную при различных численных расчетах таких как вычисление определенных интегралов и при решении уравнений с использованием функций root и polyroots По умолчанию TOL=10minus3

Constraint Tolerance (CTOL) ndash задает точность вычислений при использовании блока решений уравнений и систем Блок начинается со слова Given и заканчивается словами Find Minerr и др По умол-чанию CTOL = 10minus3

Seed value for random numbers ndash определяет интервал от 0 до указанного в поле значения из которого функция rnd(x) генери-рует x случайных чисел Возможность менять этот интервал позво-ляет получать разные последовательности случайных чисел

35

Presision (PRNPRESISION) ndash задает точность числовых значений которые помещаются в файл создаваемый функцией WRITEPRN

Column Width (PRNCOLWIDTH) ndash задает ширину столбца (в символах) при создании файлов с помощью функции WRITEPRN

Кнопка Restore Defaults (Восстановить по умолчанию) позво-ляет вернуть стандартно установленные в системе MathCAD пара-метры вычислений (те те что установлены по умолчанию) если внесенные вами изменения в системные переменные вас не устраи-вают Значения переменных по умолчанию указаны справа от по-лей предназначенных для ввода

142 Форматирование результатов вычислений

MathCAD представляет результаты вычислений в определен-

ном формате Этот формат включает в себя например число знаков после запятой величину начиная с которой используется экспонен-циальное представление чисел символ i или j для представления мнимой единицы и многое другое Чтобы задать формат представ-ления результатов вычислений надо выбрать команду Result (Ре-зультат) меню Format (Формат) В результате на экране появится диалоговое окно Result Format содержащее несколько вкладок

На вкладке Number format (Формат числа) находятся Поле Number of decimal places (Число десятичных знаков)

в котором задается количество отображаемых знаков после запятой (по умолчанию ndash 3)

36

Опция Show trailing zeroz (Показывать конечные нули) если установлена эта опция все числа будут отображаться с тем количе-ством знаков после запятой которое указано в поле Number of decimal places даже если без этого можно обойтись В этом случае число 5 будет иметь вид 5000 а число 0 ndash 0000

Поле Exponential threshold (Порог экспоненты) здесь необ-ходимо задать целое число n Оно указывает что числа x для кото-

рых справедливы неравенства 10nx и 110 nx представляются

в экспоненциальной форме Числу n можно присваивать значения от 0 до 15 по умолчанию 3n MathCAD производит вычисления с точностью 15 знаков после запятой

Опция Show exponents in engeneering format (Показывать экс-поненты в инженерном формате) всегда представляет число в экспоненциальном формате если показатель степени больше 3 или меньше 3 выделяя при этом 3 целых и 3 десятичных разряда В противном случае число отображается в явном виде например число 2233446 при включении опции будет выглядеть как

3223344 10 Список Format (Формат) ndash позволяет выбрать формат пред-

ставления чисел Выделим среди указанных в списке формат Decimal ndash при его выборе результат никогда не представляется в экспоненциальной форме Остальные форматы могут представлять числа в экспоненциальной форме Более подробно с видами форма-тов можно познакомиться нажав кнопку Справка

На вкладке Tolerance (Допуск) находятся поля Complex threshold (Комплексный порог) и Zero threshold (Нулевой порог)

Целое число n заданное в поле Complex threshold указывает что комплексные числа z для которых справедливо неравенство

Re Im 10 nz z представляются как чисто мнимые Числа для

которых Im Re 10 nz z ndash как действительные При вычисле-

ниях MathCAD не пренебрегает даже незначительной мнимой Чис-лу n можно присваивать значения от 0 до 63 по умолчанию 10n

Целое число n заданное в поле Zero threshold указывает что

числа x для которых справедливо неравенство 10 nx принимают-

ся равными 0 Числу n можно присваивать значения от 0 до 307 по

умолчанию 15n Для комплексных чисел у которых Re 10 nz

действительная часть принимается равной нулю то же самое спра-

37

ведливо и для мнимой части Значение заданное в поле Zero threshold действительно для всего документа

Вкладка Display Options содержит следующие поля и опции Matrix display style (Стиль отображения матриц) ndash выпада-

ющий список позволяет установить отображение матриц в стан-дартном математическом виде ndash Matrix в виде таблицы ndash Table либо предоставляет выбрать стиль представления матриц системе MathCAD ndash Automatic

При этом если матрица содержит менее 10 строк и столбцов она представляется в стандартном виде матрицы в противном слу-чае ndash в виде таблицы с полосами прокрутки По умолчанию уста-новлена опция Automatic

Опция Expand nested arrays (Развернуть вложенные массивы) ndash позволяет явно вывести элементы матрицы представляющие в свою очередь матрицы

Поле Imaginary value (Мнимая единица) ndash позволяет определить символ который будет использоваться для обозначения мнимой едини-цы (i или j)

В поле списка Radix (Система) ndash можно выбрать десятичную двоичную восьмеричную

или шестнадцатеричную систему счисления Вкладка Unit display (Отображение единиц измерения) со-

держит две опции Format Units (Формат единиц) ndash включает отоб-ражение единиц измерения Simplify units when possible ndash включает упрощение единиц измерения (если это возможно)

38

Окно Result Format можно открыть двойным щелчком на чис-ле представляющем собой результат вычислений

Если вы хотите увидеть точное значение некоторого числа не изменяя его формата выделите это число и нажмите клавиши [Ctrl+Shift+N] В строке состояния вы увидите данное число с 15 зна-ками после запятой

Если вы хотите применять выполненные установки и в других документах вам необходимо открыть соответствующий файл шаб-лона с расширением MCT из папки TEMPLATE и произвести в нем нужные изменения Кроме того вы можете сохранить текущий до-кумент как шаблон

39

2 ОПЕРАТОРЫ MATHCAD

21 Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD со-держит ряд операторов (табл 14) и функций Введем следующие обозначения для векторов ndash V для матриц ndash M и для скалярных ве-личин ndash Z

Таблица 14 Векторные и матричные операторы

Оператор Ввод Назначение оператора 1 2V V 1 2V V Сложение двух векторов V1 и V2 1 2V V 1 2V V Вычитание двух векторов V1и V2

V V Смена знака у элементов вектора V M M Смена знака у элементов матрицы M

V Z V Z Вычитание из вектора V скаляра Z Z V V Z Z V V Z Умножение вектора V на скаляр Z

MZ MZ MZ MZ Умножение матрицы M на вектор V 1 2V V 1 2V V Умножение двух векторов V1 и V2

M V M V Умножение матрицы M на вектор V M1M2 M1M2 Умножение двух матриц M1 и M2

V Z V Z Деление вектора V на скаляр Z M Z M Z Деление матрицы M на скаляр Z

1M M ^ 1 Обращение матрицы M

Mn M ^ n Возведение матрицы M в степень n

V Вычисление квадратного корня из μV

M Вычисление определителя матрицы M TV V Ctrl Транспонирование вектора V TM M Ctrl Транспонирование матрицы M

1 2V V 1 2V Ctrl V Кросс-умножение двух векторов V1 и V2 V rdquo Получение комплексно-сопряженного вектора Mrdquo Получение комплексно-сопряженной матрицы Alt $ V Вычисление суммы элементов вектора V V -Ctrl Векторизация вектора V M -Ctrl Векторизация матрицы M

M n M ^ nCtrl Выделение n-го столбца матрицы M

nV V n Выделение n-го элемента вектора V

Mm n M m n Выделение элемента (m n) матрицы M

Под понятием laquoвекторизацияraquo подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы Это можно понимать и как возможность параллельных вычислений

40

Если А и В ndash векторы то АВ дает скалярное произведение этих векторов Но то же произведение под знаком векторизации со-здает новый вектор каждый j-й элемент которого есть произведение j-х элементов векторов А и В Векторизация позволяет использовать скалярные операторы и функции с массивами

22 Векторные и матричные функции

Векторные и матричные функции представлены в виде табл 15 16

Таблица 15 Векторные функции

lenght V Возвращает длину вектора

last V Возвращает индекс последнего элемента

max V Возвращает максимальный по значению элемент

min V Возвращает минимальный по значению элемент

Re V Возвращает вектор действительных частей вектора с комплексными элементами

Im V Возвращает вектор мнимых частей вектора с комплексными элементами

i j k

Полностью асимметричный тензор третьей размерности i j k должны быть целыми числами от 0 до 2 (или между gt ORIGIN и ORIGIN+2 если ORIGINne0) Результат равен 0 если любые два аргумента равны 1 ndash если три аргумента являются четной перестановкой (0 1 2) и минус 1 если три аргумента являются перестановкой (0 1 2) кратной 2 и некратной 4

Таблица 16 Матричные функции

Augment (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие оди-наковое число строк (объединение идет laquoбок о бокraquo)

identity (n) Создает единичную квадратную матрицу размером nn

stack (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие одинаковое число столбцов располагая М1 над М2

Submatrix (A ir jr ic jc) Возвращает субматрицу состоящую из всех элементов содержащихся в строках с ir по jr и столбцов с ic по jc (irJjr и icJjc)

diag (V) Создает диагональную матрицу элемент главной диагонали которой ndash вектор V

matrix (m n f) Матрицу в которой (i j)-й элемент содержит f(i j) где i = 0 1 hellip m и j = 0 1 hellip n

Re (M) Возвращает матрицу действительных частей матрицы М с комплексными элементами

Im (M) Возвращает матрицу мнимых частей матрицы М с комплексными элементами

41

23 Функции возвращающие специальные характеристики матриц

Эти функции представлены в виде табл 17

Таблица 17

Функции возвращающие специальные характеристики матриц

сols(M) Возвращает число столбцов матрицы М rows (M) Возвращает число строк матрицы М rank (M) Возвращает ранг матрицы М

tr (M) Возвращает след (сумму диагональных элементов) квадратной матрицы М

mean (M) Возвращает среднее значение элементов массива М median (M) Возвращает медиану элементов массива М

cond1 (M) Возвращает число обусловленности матрицы вычисленное в норме L1

cond2 (M) Возвращает число обусловленности матрицы вычисленное в норме L2

conde (M) Возвращает число обусловленности матрицы вычисленное в норме евклидова пространства

condi (M) Возвращает число обусловленности матрицы основанное на равномерной норме

norm1 (M) Возвращает L1 норму матрицы М norm2 (M) Возвращает L2 норму матрицы М norme (M) Возвращает евклидову норму матрицы М normi (M) Возвращает неопределенную норму матрицы М

24 Дополнительные матричные функции Такие функции представлены в виде табл 18

Таблица 18

Дополнительные матричные функции

eigenvals (M) Возвращает вектор содержащий собственные значения матрицы М

eisenvec (M Z) Для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

eigenvecs (M)

Возвращает матрицу столбцами которой являются собствен-ные векторы матрицы М (порядок расположения собствен-ных векторов соответствует порядку собственных значений возвращаемых функцией eigenvals)

42

Окончание табл 18

genvals (M N) Возвращает вектор обобщенных собственных значений v соответствующий решению уравнения M x = vi ndash N minus x (матрицы М и N должны быть вещественными)

genvals (M N) Возвращает матрицу столбцы которой содержат нормированные обобщенные собственные векторы

+ lu (M) Выполняет треугольное разложение матрицы М P M = L U L и U minus соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные одного порядка

+ qr (A) Дает разложение матрицы A A = Q R где Q minus ортогональная матрица и R minus верхняя треугольная матрица

+ svd (A)

Дает сингулярное разложение матрицы А размером n times m A = = U S middotVT где U и V minus ортогональные матрицы размерностей mmiddotm и n times n соответственно S minus диагональная матрица на диагонали которой расположены сингулярные числа матрицы А

+ svds (A) Возвращает вектор содержащий сингулярные числа матрицы А размером m times n

Egeninv (A)

Возвращает матрицу левую обратную к матрице А LmiddotA=E где E ndash единичная матрица размером n times n L ndash прямоугольная матрица размером n times m A ndash прямоугольная матрица размером m times n

25 Функции сортировки для векторов и матриц

Функции сортировки представлены в табл 19

Таблица 19

Функции сортировки для векторов и матриц

Vsort Сортировка элементов векторов в порядке возрастания их значений

Vreverse Перестановка элементов (после sort) в обратном порядке

Mcsort n Перестановка строк матрицы М таким образом чтобы отсортированным оказался n-й столбец

Mrsort n Перестановка строк матрицы М таким образом чтобы отсортированной оказалась n-я строка

43

3 ГРАФИКА MATHCAD

31 Двухмерные графики в декартовой системе координат

MathCAD позволяет легко строить двух- и трехмерные гисто-граммы двухмерные графики в декартовых и полярных координа-тах трехмерные графики поверхностей линии уровня поверхно-стей изображения векторных полей пространственные кривые Существует три способа построения графиков в системе MathCAD

minus можно воспользоваться позицией Главного меню Insert вы-брав команду Graph и в раскрывающемся списке minus тип графика

minus выбрать тип графика на наборной панели Graph которая включается кнопкой на панели Math

minus воспользоваться быстрыми клавишами (они предусмотрены не для всех типов графиков)

Рассмотрим более подробно команды меню Insert Graph наборной панели Math

X-Y Plot (X-Y Зависимость) клавиша [] Служит для по-строения графика функции y = f(x) в виде связанных друг с другом пар координат (xi yi) при заданном промежутке изменения для i

Polar Plot (Полярные координаты) клавиши [Ctrl+7] Служит для построения графика функции r(q) заданной в полярных координатах где полярный радиус r зависит от полярного угла q

Surface Plot (Поверхности) клавиши [Ctrl+2] Служит для представления функции z = f(x y) в виде поверхности в трехмерном пространстве При этом должны быть заданы векторы значений xi и yj а также определена матрица вида Aij = f(xi yj) Имя матрицы A указывается при заполнении рамки-шаблона С помощью этой ко-манды можно строить параметрические графики

Contour Plot (Контурный график) Строит диаграмму ли-ний уровня функции вида z=f(xy) те отображает точки в которых данная функция принимает фиксированное значение z = const

3D Scatter Plot (3D Точечный) Служит для точечного пред-ставления матрицы значений Aij или отображения значений функ-ции z=f(xy) в заданных точках Эта команда может также использо-ваться для построения пространственных кривых

3D Bar Plot (3D Диаграммы) Служит для представления матрицы значений Aij или отображения значений функции z = f(x y) в виде трехмерной столбчатой диаграммы

44

Vector Field Plot (Поле векторов) Служит для представле-ния двухмерных векторных полей V=(Vx Vy) При этом компоненты векторного поля Vx и Vy должны быть представлены в виде матриц С помощью этой команды можно построить поле градиента функ-ции f(x y)

3D Plot Wizard (вызов мастера для быстрого построения трех-мерного графика) При выборе этой команды возникает ряд всплы-вающих окон в которых требуется выбрать параметры построения трехмерного графика (задаются тип трехмерного графика стиль его изображения цветовая гамма) График по умолчанию строится на промежутке от minus5 до +5 (по обеим переменным)

311 График функции у = f(x)

При выполнении команды Insert Graph Plot (или нажать соответствующую кнопку наборной панели) в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика (Клавиша [])

В ячейке расположенной под осью абсцисс указывается неза-висимая переменная x Ее следует определить заранее как перемен-ную принимающую значения из промежутка (ранжированная пере-менная)

В ячейке рядом с осью ординат необходимо задать функ-

цию f x график которой мы хотим построить Если эта функция

была определена заранее то в ячейку достаточно ввести f x в

противном случае следует ввести изображаемую функцию в явном виде (например cos x )

После ввода x и f x в графической области появятся еще че-

тыре ячейки которые не обязательно заполнять MathCAD автома-

45

тически находит подходящие значения для xmin xmax ymin ymax Если же предлагаемые MathCAD значения вас не устраивают вы можете задать свои

В MathCAD существует возможность строить график функ-ции не задавая предварительно промежуток изменения независи-мой переменной По умолчанию этот промежуток принимается рав-ным 1010

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

312 Кривые на плоскости заданные параметрически

Уравнения x f t y y t где f t и y t непрерывны

при t из a b устанавливающие зависимость декартовых коорди-

нат x y точки плоскости от значения параметра t определяют на

плоскости кривую заданную в параметрической форме

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

независимой переменной x под осью абсцисс необходимо задать индексированную переменную xi а рядом с осью ординат необхо-димо соответственно указать yi

46

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

313 Редактирование графиков в декартовой системе координат

Если вас не устраивает внешний вид построенных графиков вы можете его изменить выделив график (выполнив на нем щелчок так чтобы вокруг него появилась рамка) и воспользовавшись ко-мандой - Format Graph X Y Plot или выполнив на графике щелчок правой кнопкой мыши и выбрав команду Format из выпа-дающего контекстного меню (можно выполнить также двойной щелчок левой кнопкой мыши) В результате на экране появится диалоговое окно Formatting Currently Selected X-Y Plot позволяю-щее изменить вид графика

Данное диалоговое окно содержит несколько вкладок X-Y Axes (форматирование осей) Traces (тип линий графиков) Labels (подписи) Defaults (по умолчанию)

Первая из вкладок позволяет форматировать оси координат Log Scale (Логарифмическая шкала) ndash задает логарифмические

оси в этом случае границы графика должны задаваться положи-тельными числами

Grid Lines (Вспомогательные линии) ndash задает отображение сетки из параллельных осям линий

47

Numbered (Нумерация) ndash задает отображение подписи к мар-кировкам на осях

Autoscale (Автомасштаб) ndash задает автоматическое нахожде-ние подходящих границ для осей Но если вы сами зададите в соот-ветствующих ячейках минимальные и максимальные значения xmin xmax ymin ymax именно эти значения будут использоваться для опре-деления границ графика

Show Markers (Показать метки) ndash если установить эту опцию то в графической области появятся четыре дополнительные ячейки для создания красных линий маркировки соответствующих двум специальным значениям x и двум специальным значениям y

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Axes Style (Вид осей) ndash группа кнопок этой области позволяет выбрать следующие варианты представления осей Boxed (Ограни-ченная область) Crossed (Пересечение) ndash оси пересекаются в точке с координатами (00) None (Без границ) Флажок Equal Scales (Равный масштаб) позволяет задать одинаковый масштаб для обеих осей

Форматирование оси графика можно произвести выполнив на ней двойной щелчок

Для изменения типа линий графиков необходимо активизиро-вать вкладку Traces (След)

Legend Lable (Имя в легенде) ndash каждой кривой можно поста-вить в соответствие некоторый текст называемый легендой Леген-да отображается в нижней части графической области а рядом с каждой легендой отображается тип линии соответствующей кривой

Symbol (Символ) ndash позволяет выбрать символ для каждой точ-ки кривой (плюс крестик кружок и др)

48

Line (Линия) ndash можно выбрать один из следующих типов ли-ний solid (сплошная) dash (штриховая) dot (точечная) или dadot (штрихпунктирная) Это поле списка доступно в случае если в поле Type (Тип) выбран элемент lines

Color (Цвет) ndash задается цвет представления кривой на экране Type (Тип) ndash позволяет выбрать один из семи видов графика в

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

Weight (Вес) ndash позволяет задавать толщину линий графика В нижней части вкладки Traces расположены опции Hide

Arguments (Скрыть аргументы) ndash эта опция по умолчанию отклю-чена В этом случае под именем функции рядом с осью ординат ука-зывается текущий тип линий Если установить данную опцию ука-зание типа линий исчезнет

Hide Legend (Скрыть легенду) ndash по умолчанию легенда не

отображается Если вы хотите отобразить под графиком текст ле-генды его надо перед этим ввести в поле Legend Lable (Имя в леген-де) и подтвердить ввод выполнив щелчок на кнопке Применить Вкладка Labels (Метки) позволяет ввести заголовок графика и подписи для осей

49

В подменю Graph (Графика) меню Format (Формат) содер-жатся кроме прочих следующие команды

Trace (След) ndash при перемещении в области графика указателя

мыши при нажатой левой кнопке в полях X-Value (значение X) Y-Value (значение Y) диалогового окна X-Y Trace отображаются ко-ординаты точки на которую указывает курсор Если установлена опция Track Data Points (След точек данных) то курсор-крестик бу-дет перемещаться вдоль графика функции и вы сможете считывать текущее значение аргумента x и соответствующее значение функ-ции y=f(x) Координаты текущей точки можно скопировать в буфер с помощью кнопок Copy X (Копировать Х) Copy Y (Копировать Y)

Zoom (Изменение масштаба) ndash с помощью этой команды можно увеличить фрагмент графика предварительно выделив его протаскиванием мыши с нажатой левой клавишей После отпус-кания клавиши координаты углов выделенной области будут отображены в полях окна X-Y Zoom С помощью кнопки Zoom (Масштаб +) фрагмент можно увеличить с помощью кнопки Unzoom (Масштаб ndash) отменить выделение фрагмента а с помощью кнопки Full View (Обзор) ndash восстановить первоначальный вид графика Если вы увеличили фрагмент графика то при щелчке на кнопке OK в документе будет отображаться только этот фрагмент

50

32 Двухмерные графики в полярной системе координат

321 Построение полярных графиков

Для построения полярного графика необходимо выполнить

команду Insert Graph Polar Plot При этом в документ поме-щается графическая область с двумя незаполненными ячейками для построения графика (клавиши [Ctrl +7])

В нижнюю ячейку вводится полярный угол q Его следует определить заранее как переменную принимающую значения из промежутка (ранжированная переменная)

В левую ячейку вводится полярный радиус r q или Re r q и Im r q

Функция r q либо задается заранее ли-

бо ее определение вводится непосред-ственно в ячейку

График в полярных координатах можно построить и посредством команды

X Y Plot Только в этом случае необхо-димо дополнительно задать следующие функции х(q) = r(q)cos(q) и y(q) = r(q)sin(q) а в ячейках для абсцисс и ординат указать соответственно х(q) и y(q)

Если для некоторых углов q функ-ция не определена (не существует радиу-са с действительным значением он принимает чисто мнимые значе-ния) то MathCAD отображает на графике только действительные значения радиуса Но с помощью функций Re и Im можно предста-вить на одной круговой диаграмме графики как действительной так и мнимой части функции r q

322 Форматирование полярных графиков

Если вы хотите отредактировать график в полярных координа-тах необходимо выделить график (щелчком левой кнопки мыши) и выполнить команду Format Graph Polar Plot или выполнить

51

двойной щелчок на выделенном графике При этом откроется окно Formatting Currently Selected Polar Plot (Форматирование полярного графика) Это окно содержит те же вкладки что и для графиков в декартовой системе координат

Вкладка Polar Axes содержит следующие элементы Log Scale (Логарифмическая шкала) ndash используется для созда-

ния логарифмической r-оси Grid Lines (Вспомогательные линии) ndash отображает сетку ли-

ний соответствующих равенствам constr и constq Numbered (Нумерация) ndash линии constr и constq снабжа-

ются подписями Show Markers (Показать метки) ndash с помощью этой опции

можно снабдить график двумя дополнительными пунктирными окружностями constr Для этого надо ввести нужные значения радиуса в появившиеся ячейки Кроме того справа от графика ука-зываются минимальный и максимальный радиусы можно увеличить или уменьшить график введя в эти ячейки собственные значения

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Остальные значения параметров на этой вкладке и на других вкладках те же самые что и в случае команды - X Y Plot

52

33 Построение графика функции z = f (x y) в виде поверхности в декартовой

системе координат

Для построения графика поверхности можно воспользоваться двумя способами

Если вам надо только посмотреть общий вид поверхности то MathCAD предоставляет возможность быстрого построения подобных графиков Для этого достаточно определить функцию f x y и выполнить команду Insert

Graph Surface Plot или нажать со-ответствующую кнопку наборной пане-ли Graph (сочетание клавиш [Ctrl+7]) В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции MathCAD автоматически построит гра-фик поверхности Независимые переменные x и y принимают значе-ния из промежутка 5 5 При необходимости этот промежуток мо-

жет быть уменьшен или увеличен Для этого необходимо выделить график и воспользоваться командой 3 Format Graph D Plot или щелкнуть правой кнопкой мыши по выделенному графику и в кон-текстном меню выбрать команду Format В появившемся окне 3 D Plot Format на вкладке Quick Plot Data можно установить другие параметры изменения независимых переменных x и y

53

Для построения графика поверхно-сти в определенной области изменения независимых переменных или с кон-кретным шагом их изменения необхо-димо сначала задать узловые точки ix и

jy в которых будут определяться зна-

чения функции После (а можно и до) этого надо определить функцию f x y график которой хотите постро-

ить Затем необходимо сформировать

матрицу значений функции в виде i j i jA f x y

Теперь после выполнения команды Insert Graph Surface Plot в появившейся графической области достаточно ввести имя матри-цы (без индексов)

Если вы хотите чтобы узловые точки были расположены че-рез равные промежутки воспользуйтесь формулами

Для построения графика линий

уровня данной функции необходимо по-ступать так же как это было описано вы-ше только вместо команды (Поверхно-сти) следует выбрать команду Contour Plot (Контурный)

Аналогично с помощью команды 3 D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции с помощью команды

54

3 D Scatter Plot (3D Точечный) ndash трехмерный точечный график а с помощью команды 3 D Patch Plot (3D Лоскутный) ndash трех-мерный график поверхности в виде несвязанных квадратных пло-щадок ndash плоскостей уровня для каждой точки данных параллель-ных плоскости XY

Если поверхность задана параметрически это означает что все три координаты x y и z заданы как функции от двух параметров u и v Сначала необходимо задать векторы значений параметров iu и jv Затем необходимо определить матрицы значений функций ко-

ординат x u v y u v и z u v

После выбора команды Surface Plot в MathCAD-документе появится гра-фическая область В свободной ячейке внизу области надо указать в скобках имена (без аргументов и индексов) трех матриц ndash x y z

А А

55

34 Форматирование трехмерных графиков

Если вас не устраивает внешний вид созданного трехмер-ного графика вы можете изменить его выполнив команду

3 Format Graph D Plot или выполнив двойной щелчок мышкой на графической области В результате на экране появится диалого-вое окно 3 D Plot Format позволяющее изменять параметры отоб-ражения графика Мы рассмотрим здесь основные опции Разо-браться во всех тонкостях управлением видом графика вы можете самостоятельно построив график и поэкспериментировав выбирая те или иные опции

Диалоговое окно 3 D Plot Format содержит несколько вкладок Некоторые из них мы рассмотрим более подробно а для других minus опишем лишь их функциональное назначение

На вкладке General (Общие свойства) вы можете в области View задать направление взгляда наблюдателя на трехмерный график Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости XY Значение в поле Tilt задает угол наклона ли-нии взгляда к плоскости XY Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз равное цифре указанной в поле

ndash в области Axes Style (Стиль оси) задать вид осей выбрав се-лекторную кнопку Perimetr (Периметр) или Corner (Угол)

В первом случае оси всегда находятся на переднем плане При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A00 матрицы A

56

ndash в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями а опция Show border (Границы) позволяет заключить график в прямо-угольную рамку

ndash в области Plot 1 (Plot 2) Display as (Графикнесколько графи-ков отобразить как) имеются селекторные кнопки для представле-ния графика в других видах (контурный точечный векторное поле и др)

Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат

Посредством опций области Grids (Сетки) можно отобразить на графике линии описываемые равенствами x y z = const

Если установлены опции Show Numbers (Нумерация) отобра-жаются метки на осях и подписи к ним

При этом рядом с осями Ox и Oy указываются не значения уз-ловых точек xi yj а значения индексов i и j в то время как ось Oz размечается в соответствии с промежутком которому принадлежат элементы матрицы значений Ai j

Если установлена опция Auto Grid (Автосетка) программа самостоятельно задает расстояние между соседними отметками на осях Вы можете сами указать число линий сетки если отключите указанную опцию

Если установлена опция Auto Scale (Автошкала) то MathCAD сам определяет границы построения графика и масштабы по осям Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value (Ми-нимум) и Maximum Value (Максимум)

57

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options) вид цвет и толщину дополнительных линий на графике (область Line Options) наносить на график точки данных (опция Draw Points области Point Options) менять их вид размер и цвет

Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения laquoустановитьraquo несколько источников света выбрав для них цвет освещения и определив его направление

Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей ограничивающих область построения цвет нанесение сетки определение ее цвета и толщины прорисовка границ плоскостей

На вкладке Special (Специальная) можно изменять параметры построения специфичные для различных типов графиков

Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности графика а также указать направление смены окраски (вдоль оси Ox Oy или Oz) Включение опции Enable Fog (Наличие Тумана) делает график нечетким слегка размытым (полупрозрачным) При включении оп-ции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя

Вкладка Quick Plot Data обсуждалась ранее в начале раздела

35 Кривая в пространстве Трехмерные точечные графики можно использовать для по-

строения изображения пространственных кривых Пространствен-ные кривые задаются как правило в виде (x(t)y(t)z(t)) где t пред-ставляет собой непрерывный действительный параметр

58

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

и соединяющие их линии необходимо сначала определить три вектора координат ndash xi yi zi

Пространственная кривая создается командой 3 Insert D Graph Scatter Plot Можно использовать наборную панель Graph выбрав соответствующую пикто-грамму Для соединения точек необходимо на вкладке Appearance окна форматирова-ния графиков указать опцию Line

36 Векторные и градиентные поля

Команда Insert Graph Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx vy)

При этом векторное поле необходимо вначале определить как вектор-функцию двух координат ndash x и y Затем задаются векторы значений узловых точек x и y С помощью этих векторов компонен-ты векторного поля vx(xy) и vy(xy) генерируются в виде матриц значений vxi j и vyi j

59

Подобным образом можно построить градиентное поле ска-лярной функции f(x y)

Градиентное поле для функции двух переменных представляет собой двумерное векторное поле

Как и в остальных случаях внешний вид изображения вектор-ного поля можно легко изменить выполнив двойной щелчок в об-ласти графика и изменив требуемые опции в открывшемся диалого-вом окне 3 D Plot Format

37 Поверхности полученные вращением кривых вокруг осей

Интересные объемные фигуры мож-

но получить вращая некоторую кривую вокруг той или иной оси Построение этих фигур вращения сродни параметрически заданным поверхностям

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

60

38 Анимация в MathCAD

Для создания анимации строим график функции командой - X Y Plot из подменю Graph меню Insert Для анимации задается

промежуток изменения целочисленного параметра FRAME (по умолчанию от 0 до 9)

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

61

Теперь для создания анимации необходимо выполнить следу-ющие действия

1 Выбрать команду Animate из меню View При этом появится диалоговое окно Animate

2 Заключить построенный график в маркировочный прямо-угольник

3 Задать минимальное и максимальное значения параметра FRAME (поля From и To)

4 Задать в поле At количество воспроизводимых кадров в се-кунду

5 Выполнить щелчок на кнопке Animate При этом в диалого-вом окне вы увидите анимационные кадры

6 Чтобы воспроизвести анимацию щелкнуть на кнопке Play в появившемся окне Playback (Проигрыватель)

7 Чтобы внести изменения в анимацию выполнить щелчок на кнопке открытия меню в окне Playback

62

8 С помощью команды Save As можно сохранить анимацию в файле с расширением AVI

Встраивание анимации в MathCAD-до-кумент производится с помощью Windows Explorer Для этого необходимо

1 Запустить Windows Explorer 2 Выполнить в окне Windows Explorer

щелчок на имени AVI-файла 3 Перетащить AVI-файл в соответ-

ствующий MathCAD-документ 4 Воспроизвести анимацию можно посредством двойного

щелчка в графической области Анимацию можно также воспроизвести выполнив двойной

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

1 Выбрать команду Object из меню Insert 2 Установить опцию Создать из файла 3 Выбрать нужный AVI-файл с помощью кнопки Обзор 4 Установить опции Связь и В виде значка после чего выпол-

нить щелчок на кнопке OK

63

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба может привести к скачкообразному изменению размеров графика хотя на деле он должен меняться без скачков с дискретностью определяемой только изменением FRAME = 1 2 3 и тд

64

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ

41 Возможности символьного процессора MathCAD

Системы компьютерной алгебры снабжаются специальным

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

Ядро символьного процессора системы MathCAD minus несколько упрощенный вариант ядра известной системы символьной матема-тики Maple V фирмы Waterloo Maple Software у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение благодаря чему MathCAD стала (начиная с версии 30) системой символьной математики

Введение в систему MathCAD символьных вычислений прида-ет ей качественно новые возможности которые отсутствовали у прежних версий системы Куда важней что символьные вычисле-ния выполняются в конечном счете столь же просто (для пользова-теля) как скажем вычисление квадрата х

Символьные вычисления в MathCAD могут быть реализованы тремя способами

minus с использование команд подменю позиции Symbolics (Сим-волика) главного меню

minus с использованием команд панели Symbolic включаемой

кнопкой на математической панели инструментов (Начиная с версии MathCAd 40 для активных символьных вычислений при-меняется термин SMARTMATH представляющий комбинацию слов smart и MathCAD что в буквальном смысле означает умный MathCAD)

minus с использованием команды Optimization позиции главного меню Math

65

42 Команды меню Symbolics

Операции относящиеся к работе символьного процессора со-держатся в подменю позиции Symbolics (Символика) главного меню

Чтобы символьные операции выполня-лись процессору необходимо указать над ка-ким выражением эти операции должны произ-водиться те надо выделить выражение Для ряда операций следует не только указать выра-жение к которому они относятся но и наме-тить переменную относительно которой вы-полняется та или иная символьная операция

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

Следует отметить некоторые особенности при работе с коман-дами меню Symbolics

Для символьных вычислений выражения необходимо указы-вать явно Например недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл Это существенное ограничение о котором надо всегда помнить Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath которая описывается в дальнейшем главное в том что для вывода символьных вычислений в этом слу-чае используется оператор

Иногда результат вычислений содержит встроенные в систему специальные математические функции в этом случае результат по-мещается в буфер обмена Используя команду Paste или клавишу F4 можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат

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

66

Если операция невыполнима ndash система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изме-нений)

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

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

421 Операции с выделенными выражениями

Функции представлены в табл 20

Таблица 20

Операции с выделенными выражениями

Evaluate (Вычислить)

Преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

Упростить выделенное выражение с выполнением таких операций как сокращение подобных слагаемых приведение к общему знаменателю использование основных тригонометрических тождеств и тд

Expand (Разложить по степеням)

Раскрыть выражение [например для (Х + Y) (Х minus Y) по-лучаем X 2minus Y 2]

Factor (Разложить на множители)

Разложить число или выражение на множители [например Х 2 minus Y 2 даст (Х + Y) (Х minus Y)]

Collect (Разложить по подвыражению)

Собрать слагаемые подобные выделенному выражению которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение полиномиальное относительно выбранного выражения)

Polynomial Coefficients (Полиномиальные коэффициенты)

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

67

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами Evaluate Symbolically [Shift+F9](Вычислить в символах) minus вы-

полнить символьное вычисление выражения Floating Point Evaluation (С плавающей точкой) minus выполнить

арифметические операции в выражении с результатом в форме чис-ла с плавающей точкой

Complex Evaluation (В комплексном виде) minus выполнить преоб-разование с представлением в комплексном виде

Команда Evaluate Symbolically тут наиболее важная Назначе-ние других команд очевидно они нужны если результат требуется получить в форме комплексного или действительного числа К примеру если вы хотите вместо числа p получить 3141 ис-пользуйте команду Floating Point Evaluation В режиме символь-ных вычислений результат может превосходить машинную беско-нечность системы При этом число точных значащих цифр результата практически не ограничено (или точнее говоря зависит от емкости ОЗУ)

Символьная операция Evaluate Symbolically [Shift+F9] (Вычис-лить) обеспечивает работу с математическими выражениями со-держащими встроенные в систему функции и представленными в различном виде полиномиальном дробно-рациональном в виде сумм и произведений производных и интегралов и тд Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде Она возможна над матрицами с символьными элементами Производные и определен-ные интегралы символьные значения которых вычисляются долж-ны быть представлены в своей естественной форме

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью minus 20 знаков после запятой Для перехода в такой режим вычислений нужно числовые констан-ты в вычисляемых объектах задавать с обязательным указанием де-сятичной точки например 100 или 30 а не 10 или 3 Этот признак является указанием на проведение вычислений такого типа

На рисунке ниже показаны типовые примеры действия опера-ции Evaluate Symbolically

68

Здесь слева показаны исходные выражения подвергаемые

символьным преобразованиям а справа результат этих преобразо-ваний

Операция Evaluate Symbolically одна из самых мощных Как видно из рисунка она позволяет в символьном виде вычислять сум-мы (и произведения) рядов производные и неопределенные инте-гралы выполнять символьные и численные операции с матрицами

Simplify (Упростить)

Символьная операция Simplify (Упростить) minus одна из самых важных Эта операция позволяет упрощать математические выра-жения содержащие алгебраические и тригонометрические функции а также выражения со степенными многочленами (полиномами)

Упрощение означает замену более сложных фрагментов вы-ражений на более простые Приоритет тут отдается простоте функ-ций К примеру функция tan x считается более сложной чем

функции sin x и cos x Поэтому tan x упрощается так что по-

лучает представление через соотношение этих функций что не-сколько неожиданно так как в некоторых пакетах символьной ма-тематики например Derive ситуация иная они заменяют отношение sin cosx x функцией tan x

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений При-ведем примеры применения операции Simplify

69

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

Однако команда Simplify применительно к вычислениям опре-деленных интегралов делает гораздо больше minus она ищет аналитиче-ское выражение для интеграла Более того она способна делать это и при вычислении кратных интегралов пределы которых minus функции

Операцию Simplify можно использовать и для вычисления сумм и произведений символьных последовательностей Результат операции как и следовало ожидать получается в символьной форме (если она существует)

Приведенные примеры могут создать впечатление что

MathCAD справляется со всеми производными интегралами сум-мами и произведениями с помощью операции Simplify К сожале-нию это далеко не так Нередко система не справляется с кажущи-мися простыми справочными примерами Надо помнить что символьный процессор системы MathCAD обладает заметно уре-

70

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

В результате преобразований могут появляться специальные функции minus как встроенные в систему (функции Бесселя гамма-функция интеграл вероятности и др) так и ряд функций дополни-тельно определенных при загрузке символьного процессора (инте-гральные синус и косинус интегралы Френеля эллиптические ин-тегралы и др) Последние нельзя использовать при создании математических выражений

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в из-

вестном смысле противоположно действию операции Simplify Под-вергаемое преобразованию выражение расширяется с использова-нием известных (и введенных в символьное ядро) соотношений например алгебраических разложений многочленов произведений углов и тд Разумеется расширение происходит только в том случае когда его результат однозначно возможен Иначе нельзя считать что действие этой операции противоположно действию операции Simplify К примеру операция Simplify преобразует сумму квадратов синуса и косинуса в 1 тогда как обратное преобразование много-значно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные свести алгебраические выражения представленные в сжатом виде к выражениям в развернутом виде и тд Приведем примеры действия операции Expand Expression

Последний пример показывает что результатом операции мо-

жет быть специальная математическая функция которая считается более сложным выражением чем порождающее ее выражение

71

С виду однако выражения со специальными математическими функ-циями обычно выглядят гораздо проще чем исходные выражения

Factor (Разложить на множители)

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

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

Collect (Разложить по подвыражению)

Операция Collect (Разложить по подвыражению) обеспечива-

ет замену указанного выражения выражением скомплектованным по базису указанной переменной если такое представление воз-можно В противном случае появляется окно с сообщением о невоз-можности комплектования по указанному базису

Эта команда особенно удобна когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции

72

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

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

Polynomial Coefficients

(Полиномиальные коэффициенты)

Операция Polynomial Coefficients (Полиномиальные коэффи-циенты) в ранних версиях MathCAD отсутствующая служит для вычисления коэффициентов полинома

Операция применяется если заданное выражение ndash полином (степенной многочлен) или оно может быть представлено таковым относительно выделенной переменной Результатом операции явля-ется вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

422 Операции с выделенными переменными

Следующая группа символьных операций (табл 21) выпол-

няется с выражениями требующими указания переменной по от-ношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно поскольку указание в нем на пере-менную является одновременно и указанием на само выражение Если выражение содержит другие переменные то они рассматри-ваются как константы

73

Таблица 21 Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

Заменить указанную переменную содержимым буфера обмена

Differentiate (Дифференцировать переменную)

Дифференцировать все выражение содержащее выделенную переменную по отношению к этой переменной (остальные переменные рассматриваются как константы)

Integrate (Интегрировать по переменной)

Интегрировать все выражение содержащее выделенную переменную по этой переменной

Expand to Series (Разложить в ряд)

Найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной

Convert to Partial Fraction (Разложить на эле-ментарные дроби)

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

Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х то операция Solve (Решить) возвращает символьные значения ука-занной переменной х при которых F(x) = 0 Это очень удобно для решения алгебраических уравнений например квадратных и куби-ческих или для вычисления корней полинома Примеры решения квадратного уравнения и нахождения комплексных корней полино-ма четвертой степени

Ранее отмечалось что усложнение уравнения например пере-ход от квадратного уравнения к кубическому может вызвать и су-

74

щественное усложнение результата Тогда система представляет решение в более компактном виде (но без общепринятой математи-ческой символики) и предлагает занести его в буфер обмена

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

Более того форма представления результата в таком случае отличается от принятой в системе MathCAD (например в качестве знака деления используется косая черта для возведения в степень minus составной знак и тд) Это сделано ради компактности представ-ления результатов вычислений

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

Substitute (Заменить переменную)

Операция Substitute (Подстановка) возвращает новое выраже-ние полученное путем подстановки на место указанной переменной некоторого другого выражения Последнее должно быть подготов-лено и скопировано (операциями Cut или Copy) в буфер обмена Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой перемен-ной путем замены ее на числовое значение

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

75

Differentiate (Дифференцировать по переменной)

Нахождение символьного значения производной minus одна из са-мых распространенных задач в аналитических вычислениях Опера-ция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз Ниже показано применение операции дифференцирования

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычисле-

ниях minus вычисление интегралов (или нахождение первообразных) для аналитически заданной функции Для этого используется опе-рация Integrate (Интегрировать по переменной) Она возвращает символьное значение неопределенного интеграла по указанной кур-сором ввода переменной Выражение в состав которого входит пе-ременная является подынтегральной функцией

Здесь показан пример символьного интегрирования по пере-

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

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

Expand to Series (Разложить в ряд)

Операция Expand to Series(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной пе-ременной с заданным по запросу числом членов ряда п (число опре-деляется по степеням ряда) По умолчанию задано n = 6

76

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

Здесь представлено применение этой операции для разложе-ния функции sin(x)x Минимальная погрешность получается при малых х

Символьные операции нередко можно комбинировать для ре-шения сложных задач

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction (Разложить на элемен-

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

Как видно из представленных примеров применение этой

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

423 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции) которая имеет свое подме-ню со следующими операциями

Transpose (Транспонировать) minus получить транспонированную матрицу

Invert (Обратить) minus создать обратную матрицу

77

Determinant (Определитель) minus вычислить детерминант (опре-делитель) матрицы

Приведем примеры

424 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования создающий подменю со следующими возможностями

Fourier Transform (Преобразование Фурье) minus выполнить пря-мое преобразование Фурье относительно выделенной переменной

Inverse Fourier Transform (Обратное преобразование Фурье) minus выполнить обратное преобразование Фурье относительно выделен-ной переменной

Laplace Transform (Преобразование Лапласа) minus выполнить прямое преобразование Лапласа относительно выделенной пере-менной (результат minus функция от переменной s)

Inverse Laplace Transform (Обратное преобразование Лапласа) minus выполнить обратное преобразование Лапласа относительно выде-ленной переменной (результат minus функция от переменной t)

Z Transform (Z-преобразование) minus выполнить прямое Z-преоб-разование выражения относительно выделенной переменной (ре-зультат minus функция от переменной z)

Inverse Z Transform (Обратное Z-преобразование) minus выполнить обратное Z-преобразование относительно выделенной переменной (результат minus функция от переменной n)

По строкам показано применение соответственно преобразова-ния Фурье Лапласа и Z-преобразования а по столбцам minus исходная

78

функция ее интегральное преобразование и обратное преобразова-ние (выражения стоящего во втором столбце)

В меню Symbolics находится команда Evaluation Style при исполнении которой на экран выводится диалоговое окно позволя-ющее установить вид вывода результатов при работе с символьным процессором MathCAD

В группе переключателей Show envaluation steps (Стиль эво-люции) можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним Кроме то-го можно установить опции Show Comments для вставки коммента-риев и задать вывод результирующего выражения вместо исходного Evaluate in Place

43 Палитра символьных преобразований SmartMath

431 Назначение системы SmartMath

SmartMath minus фактически экспертная система ускоряющая вы-

числения в тех случаях когда это возможно При запущенной си-стеме SmartMath процессор численных операций приступая к вы-

79

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

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вы-числений и преобразований Система SmartMath более полно ис-пользует ядро символьных операций чем символьные вычисления из подменю позиции Symbolics главного меню и снимает некоторые ограничения на их выполнение Например возможно использование в преобразуемых выражениях функций пользователя Еще важнее то что результаты символьных преобразований выполняемых си-стемой SmartMath автоматически меняются при изменении исход-ных символьных данных

Система SmartMath в сущности является частью программных средств MathCAD реализующих линейные программы символьных вычислений

432 Операторы символьного вывода

Вначале для визуализации результатов символьных преобра-зований был введен специальный символ minus удлиненная горизон-тальная стрелка rarr Ее можно вызвать нажатием клавиш Ctrl+ (точка) или вызовом из палитр математических символов (для вво-да отношений и символьных операций) Шаблон этого знака имеет вид где на месте черного прямоугольника вводится подвергае-мое символьному преобразованию исходное выражение

Указанный символ можно рассматривать как простой оператор символьного вывода Если задать исходное выражение и вывести курсор из формульного блока с ним то система помещает результат его символьных преобразований после стрелки (оператора символь-ного вывода) Это и есть первый этап работы с системой SmartMath

В версию системы MathCAD 70 PRO введен еще один опера-тор ndash расширенный оператор символьного вывода Он задается нажатием клавиш Ctrl+Shift+ (точка) или выбором из палитры символьных операций Этот оператор имеет вид В первый шаблон-прямоугольник вводится исходное выражение а во второй ndash директивы символьных преобразований Задаются эти директивы или вводом соответствующих ключевых слов или из палитры сим-вольных операций

80

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

433 Состав директив системы SmartMath и их применение

При вводе стрелки rarr после выражения фактически (по умол-

чанию) над ним исполняется операция Simplify (Упростить) Но что подразумевается под этим ясно далеко не всегда даже несмотря на то что многие символьные операции система выполняет вполне очевидно например вычисление интеграла или производной в сим-вольном виде

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов помещенных на панели Symbolic ко-

торая вызывается кнопкой с панели инструментов Math (табл 22)

Таблица 22

Symbolic (символы)

Команда Функция Пример 1 2 3

Символьное вычисление

Символьное вычисление с ключевым словом

81

Продолжение табл 22

1 2 3

Modifier Дополнительные модификаторы

assume minus вводное слово для приведенных далее определений real minus для var=real означает вещественное значение var RealRange minus для var=RealRange(ab) означает принадлеж-ность вещественной var к интервалу [аb] trig minus задает направление тригонометрических преобразований

float Численное вычисление

complex Комплексное вычисление

assume

Символьное вычисление с некоторыми предположениями

solve

Решение уравнения (системы уравне-ний) относительно переменной (переменных)

simplify Упрощение выражений

substitute Замена переменной

factor Разложение на множители

expand Перемножение степеней и произведений

coeffs Определение коэффициентов полинома

collect

Группировка слагаемых по степеням переменной

series Разложение в ряд Тейлора или Лорана

parfac Разложение на элементарные дроби

82

Окончание табл 22

1 2 3

fourier Преобразование Фурье

invfourier Обратное преобра-зование Фурье

lарlасе Преобразование Лапласа

invlaplace Обратное преобразование Лапласа

ztrans Z-преобразование

invztrans Обратное Z-преобразование

MT Транспонирование матрицы

M-1 Нахождение обратной матрицы

|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными бук-

вами (кроме Modifier первая буква в этом слове должна быть прописной)

Блоки системы SmartMath имеют следующие отличительные свойства

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

несколько директив minus имеют конструкцию схожую с конструкцией программных

блоков Как нетрудно заметить директива упрощения simplify не име-

ет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения перемен-ной х и указания числа членов ряда Директивы преобразования

83

Лапласа (laplace) и решения уравнений (solve) требуют одного па-раметра minus указания имени переменной (в нашем случае х) С помо-щью директивы solve можно решать и системы уравнений minus тогда ее параметр будет вектором неизвестных

Выполнение матричных операций в символьной форме особой специфики не имеет

44 Оптимизация

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

Признаком оптимизации выражения является появление после него красной звездочки Кроме того щелкнув правой кнопкой мы-ши и выбрав из контекстного меню команду Show Popup можно наблюдать появление окна с оптимизированным выражением

Особый выигрыш оптимизация может дать при многократном

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

84

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

51 Линейные алгебраические уравнения

Уравнение вида 0ax b с заданным базовым множеством Gx a из Ga b из Gb называется линейным уравнением

Этапы решения с помощью MathCAD 1 Ввести уравнение (знак = вводится с помощью комбина-

ции [Ctrl++]) 2 Выделить курсором переменную относительно которой

должно быть решено уравнение 3 Выбрать команду Solve (Вычислить) подменю Variable (Пе-

ременные) меню Symbolics (Символы) При решении линейных уравнений (без параметров) или дроб-

ных уравнений которые сводятся к линейным MathCAD находит все существующие решения Однако при этом следует правильно интерпретировать сообщения выдаваемые системой

511 Единственное решение уравнения

В качестве решения MathCAD выдает число minus это означает что уравнение однозначно разрешимо (однозначное решение ли-нейного уравнения над множеством действительных чисел которое одновременно является областью определения этого уравнения)

512 Решение отсутствует

Рассмотрим другой пример

85

После выполнения описанных выше действий для нахождения решения MathCAD выдает сообщение о том что решение не найдено

Проанализировав данное уравнение приходим к выводу что выданное MathCAD сообщение означает что решений нет L=

MathCAD выдает сообщение laquoРешение не найденоraquo даже если уравнение имеет laquoформальное решениеraquo которое не принадлежит области определения (см примеры ниже)

513 Многозначность

Если в качестве решения MathCAD выдает имя переменной это означает что множество решений уравнения совпадает с областью определения Однако такие понятия как множество решений уравне-ния и область определения отсутствуют в MAthCAD и он не выписы-вает область определения Вы можете найти область определения решая с помощью MathCAD систему неравенств или уравнений

Такой результат выданный MathCAD после выполнения дей-ствий по решению уравнения означает что любое значение x из ба-зового множества удовлетворяет этому уравнению те L=R

514 Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Перемен-ные) меню Symbolics (Символы) выдает множество решений L = 6

86

Решение 6 копируем в буфер а затем выделяем маркером пе-ременную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены пере-менной значением 6

Рассмотрим пример

Здесь также правильное решение множество решений совпа-

дает с областью допустимых значений L = D Только следует учесть что D=R11

Рассмотрим другой пример

Последнее уравнение условно эквивалентно уравнению 2x = 4

Решение уравнения MathCAD 2 Формальное решение x = 2 не вхо-дит в область допустимых значений MathCAD выдает правильное сообщение

52 Квадратные уравнения и алгебраические уравнения высших порядков

Уравнение P(x) = 0 называется алгебраическим уравнением

n-го порядка если P(x) представляет собой полином степени n при n = 2 данное уравнение называется квадратным уравнением

87

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

521 Квадратное уравнение

Команда Solve (Вычислить) подменю Variable (Переменные)

меню Symbolics (Символы) дает решение в виде вектора L = minus2 minus4

Аналогичный результат можно получить используя директи-

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

Другой способ решения заключается в использовании коман-ды Factor (Фактор) меню Symbolics (Символы) для разложения по-линома на множители в соответствии с теоремой Виета

Отметим что при иррациональных и комплексных решениях

команда Factor (Фактор) меню Symbolics (Символы) не работает Но MathCAD находит и такие решения при использовании команды Solve

б)

в)a)

88

522 Квадратные уравнения с комплексными коэффициентами

При вводе уравнения с комплексными коэффициентами следу-ет вводить для i 1i для -i -1i для 2i 2i ни в коем случае не вводить laquoraquo

53 Уравнения более высокого порядка

MathCAD может решать уравнения вплоть до порядка 4 (даже символьно) Если возможно частичное разложение на множители то разрешимы уравнения и более высокого порядка Кубические уравнения

Уравнения четвертого порядка Уравнения седьмого порядка

б)а)

89

54 Иррациональные уравнения (уравнения с радикалами)

Корни (радикалы) могут вычисляться в MathCAD либо с по-

мощью знака корня (клавиши [Ctrl+]) либо как степени (клавиша [^] с дробными показателями Знак квадратного корня вводится нажатием клавиши [] Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор) Последовательность дей-ствий при решении уравнений с радикалами та же что и при реше-нии рассмотренных ранее уравнений

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

Радикалы определены не везде в действительной области Это обстоятельство приводит к необходимости находить область опре-деления прежде чем решать само уравнение Данная проблема справедливо игнорируется MathCAD поскольку он не может знать во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение Выход вы можете самостоятельно найти область определения воспользовавшись при этом возможно-стями MathCAD связанными с решениями неравенств

Вторая проблема возникающая при решении уравнений с ра-дикалами имеет принципиальный характер Функция x2 (как и лю-бая другая функция с четным показателем) на является инъективной (проблема главных значений) В связи с этим возведение в квадрат обеих частей уравнения содержащего квадратные корни не являет-ся эквивалентным преобразованием Как всегда при применении к обеим частям уравнения неинъективного преобразования увеличи-вается множество решений В результате в него могут войти laquoфик-тивныеraquo решения Как ни удивительно MAthCAD сам производит проверку решений на laquoфиктивностьraquo

Классический случай решения уравнения с радикалами

MathCAD распознает laquoфиктивныеraquo решения (которые могут воз-никнуть в результате неэквивалентного преобразования laquoвозведение в квадратraquo) и выдает верное сообщение Решение не найдено L =

90

В приведенных ниже примерах демонстрируется способность MathCAD находить область определения иррационального уравне-ния путем решения неравенств

Уравнения с радикалами третьей степени как и уравнения с комплексными коэффициентами не представляют для MathCAD никакой сложности

55 Уравнения с параметрами

При решении уравнений с параметрами MathCAD ведет себя по-разному в зависимости от того каким образом производятся символьные вычисления minus с помощью символьного знака равенства или команд меню Symbolics

91

В данном примере использование палитры символьных преоб-разований позволяет решить уравнение (solve) и упростить резуль-тат (simplify)

56 Экспоненциальные и логарифмические уравнения

Уравнение в котором независимая переменная входит в аргу-

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

Способ решения с помощью MathCAD такой же как и для других типов уравнений

Экспоненциальные уравнения во множестве действительных

чисел не создают дополнительных сложностей в том смысле что их область определения совпадает со множеством действительных чи-сел а логарифмирование представляет собой инъективное отобра-жение

Если при решении экспоненциального уравнения возникают

проблемы их как правило можно устранить посредством вспомо-гательного логарифмирования В крайнем случае можно обратиться к численным методам (см нелинейные уравнения и системы урав-нений в разд 510)

Значительно больше сложностей возникает при решении лога-рифмических уравнений

92

Область определения этих уравнений если рассматривать их во множестве действительных чисел как правило не совпадает с действительной числовой прямой MathCAD рассматривает лога-рифмические уравнения в комплексной области те не учитывая область определения

В данном примере показано что MathCAD иногда находит

решения (и даже действительные) там где их быть не может (про-блемы с комплексным логарифмом) Но нахождение области опре-деления позволяет прийти к верному решению

Насколько полезным может быть предварительное нахожде-ние области определения показывает следующий пример

93

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

множество решений L=

57 Тригонометрические уравнения

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

Для тангенса (и котангенса) этого главного значения доста-точно посредством периодического продолжения atan(x)+kp где k ndash целое представить все решения При решении уравнений с тан-генсами и котангенсами возникает также вполне разрешимая про-блема связанная с тем что данные функции определены не во всех точках числовой прямой

Данный пример показывает что вышеуказанное ограничение не

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

94

Вместо этого возникает другая сложность обратные функции asin(x) и acos(x) значениями которых являются главные значения обратных отображений не дают всех решений в рамках одного пе-риода (2p)

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

95

Данный пример демонстрирует пределы возможности MathCAD Решение напрямую не дает никаких результатов

Проведя дополнительные преобразования нам все-таки удает-ся найти решение

58 Неравенства

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

Неравенства как и уравнения можно решать либо с использо-ванием символьного знака равенства либо отметив переменную следом курсора посредством выполнения команды Solve (Вычис-лить) подменю Variable (Переменные) меню Symbolics (Символы) В разных неравенствах могут быть использованы различные знаки неравенств

Знаки laquoбольшеraquo и laquoменьшеraquo могут вводиться непосредственно с клавиатуры Все остальные знаки можно вводить с помощью па-нели Evaluation (Вычисления) либо сочетанием клавиш

96

Линейные неравенства и неравенства с дробно-рациональ-

ными функциями не составляют сложности для MathCAD

Неравенства с параметрами удобно анализировать с использо-

ванием знака символьного равенства если значения параметра ограничены некоторыми условиями

При решении неравенств содержащих трансцендентные

функции возможности MathCAD ограничены

В данном примере MathCAD не может решить неравенство

при использовании символьного процессора На помощь приходят

97

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

59 Системы линейных уравнений

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция lsolv(AB) Она решает си-стему линейных алгебраических уравнений вида A X B выдавая решение ndash вектор X А ndash матрица коэффициентов размерности n n В ndash вектор свободных членов размерности n X ndash вектор неизвест-ных пока решений

Эквивалентной для MathCAD формой представления систем

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

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения) Он удобен тем что при его использовании уравнения записываются не в матричной а в обычной форме а также тем что позволяет решать нелинейные

98

уравнения и вводить ограничительные условия для определяемого решения Блок решения применяется как для нахождения численно-го решения так и для отыскания решения в символьном виде

Синтаксис Блока решения Given Уравнения Ограничительные условия Find(v1v2vn) minus возвращает значение одной или ряда переменных для точного решения vi minus переменные которые надо найти i = 1 hellip n

Последовательность действий при численном решении

Задаем начальные (стартовые) значения для искомых пере-

менных Заключаем уравнения в блок решения начинающийся ключевым

словом Given и заканчивающийся ключевым словом Find (v1v2 vn) Если после слова Find (v1v2vn) ввести знак равенства [=]

MathACD выдаст численное решение При символьном решении не надо вводить начальные значе-

ния а после ключевого слова Find (v1v2vn) вместо знака равен-ства следует ввести символьный знак равенства (с помощью комби-нации [Ctrl+] или соответствующей пиктограммы панели Evaluation)

Существует еще одно важное отличие между блоком решения

и использованием матричных операций Если определитель матри-

99

цы коэффициентов равен нулю матричные методы оказываются непригодными В таком случае система не имеет решений или раз-решима неоднозначно Если же применить блок решения MathCAD распознает неоднозначность и выдает решение в параметрической форме

510 Нелинейные уравнения и системы уравнений

Многие уравнения например трансцендентные и системы из

них не имеют аналитических решений Однако они могут решаться численными методами с заданной погрешностью (не более значе-ния заданного системной переменной (TOL) Для простейших урав-нений вида F(x) = 0 решение находится с помощью функции

Rооt (Выражение Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем точности при котором выражение дает 0

Функция реализует вычисления итерационным методом при-чем можно задать начальное значение переменной Это особенно полезно если возможно несколько решений Тогда выбор решения определяется выбором начального значения переменной Пример ниже иллюстрирует технику применения функции root для вычис-ления корней кубического полинома

Как известно кубическое уравнение обязательно имеет хотя

бы один кубический корень х1 Он найден вначале функцией root Два других корня могут оказаться и комплексными Функция root

100

может отыскивать и такие корни Для поиска второго корня х2 первый исключается делением F(x) на (хminusх1) Соответственно для поиска третьего корня х3 F(X) делится и на (хminusх2)

Эту процедуру можно распространить и на поиск корней по-

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

5101 Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию polyroots(V) Она воз-вращает вектор корней многочлена (полинома) степени п коэффи-циенты которого находятся в векторе V имеющем длину равную n + 1

Заметим что корни полинома могут быть как вещественными

так и комплексными числами Не рекомендуется пользоваться этой функцией если степень полинома выше пятой-шестой так как то-гда трудно получить малую погрешность вычисления корней

При решении систем нелинейных уравнений используется специальный вычислительный блок открываемый служебным сло-вом директива Given и имеющий следующую структуру

101

Given Уравнения Ограничительные условия Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций Find(vl v2 vn) minus возвращает значение одной или ряда пере-

менных для точного решения Minerr(vl v2 vn) minus возвращает значение одной или ряда пе-

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

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

При использовании функции

Minerr для решения систем нелиней-ных уравнений надо проявлять из-вестную осторожность и обязательно предусматривать проверку решений

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

102

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ

61 Решение одиночного дифференциального

уравнения Для численного решения одиночного дифференциального

уравнения в MathCAD имеется функция Odesolve с помощью кото-рой может быть решена как задача Коши для обыкновенного диф-ференциального уравнения так и граничная задача Эта функция входит в состав блока решения и является его заключительным ключевым словом

Odesolve x b step ndash возвращает функцию которая является

решением дифференциального уравнения Используется в блоке с оператором Given

x ndash переменная интегрирования действительное число b ndash конечная точка отрезка интегрирования step ndash величина шага по переменной интегрирования (необяза-

тельный аргумент) Замечания 1 Уравнение должно быть линейным относитель-

но старшей производной 2 Число заданных начальных или граничных условий внутри

блока должно быть равно порядку уравнения 3 При записи уравнения для обозначения производных функ-

ции используйте специальные кнопки с панели Math или (штрих) minus [Ctrl+F7] для знака равенства = [Ctrl+=] (в том числе и для допол-нительных условий)

4 Конечная точка должна быть больше начальной 5 Не допускаются начальные и граничные условия смешанно-

го типа 5f a f a

6 Искомая функция в блоке должна быть обязательно с аргу-ментом f x

103

62 Численное решение задачи Коши для дифференциальных уравнений и систем

Для численного решения задачи Коши дифференциальных

уравнений и их систем могут быть использованы функции 1 2 rkfixed y x x n F ndash возвращает матрицу решений системы

уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

1 2 rkadapt y x x n F ndash ищет решение с переменным шагом

(там где решение меняется медленнее шаг увеличивается а в обла-сти быстрого изменения решения шаг функции уменьшается) Воз-вращается решение с равным шагом Функция работает быстрее чем rkfixed

1 2 Bulstoer y x x n F ndash дает более точное решение (методом

Bulirsch-Stoer) Аргументы вышеуказанных функций y ndash вектор начальных условий 1 2x x ndash границы интервала для поиска решения

n ndash количество точек на интервале F x y ndash вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе диффе-ренциальных уравнений первого порядка

104

В результате работы указанных функций рассчитывается мат-

рица количество столбцов которой равно порядку уравнения +1 (или сумме порядков уравнений в системе +1) а количество строк равно параметру n Первый столбец содержит значения независи-мой переменной второй ndash значение функции третий ndash для диффе-ренциальных уравнений 2-го порядка ndash значение производной искомой функции (если решается система двух уравнений 1-го по-рядка то третий столбец будет содержать значения второй функ-

105

ции) Для выделения решений (функций или их производных) мож-но воспользоваться стандартным оператором вывода столбцов мат-рицы Mlt gt

Если матрица правых частей дифференциальных уравнений почти вырождена то такие системы называются жесткими В этом случае решения возвращаемые функцией rkfixed будут неустойчи-выми и для решения таких систем необходимо применять функции Stiffb Stiffr где 1 2 Stiffb y x x n F J ndash ищет решение дифференци-

ального уравнения или системы дифференциальных уравнений ме-тодом Bulirsch-Stoer

1 2 Stiffr y x x n F J ndash ищет решение дифференциального

уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же как и при решении хорошо обусловленных систем дифференциальных уравнений Дополни-тельный аргумент ndash матрица J размером 1n n первый столбец

которой содержит частные производные dF dx остальные столбцы и строки представляют собой матрицу Якоби dF dy

106

0 0 0

0

1 1 1

0

0

n

n

n n n

n

F F F

x y y

F F F

x y yJ x y

F F F

x y y

Пример решения жесткой системы дифференциальных урав-нений

Для отыскания решения системы дифференциальных уравне-

ний только в конечной точке используются функции bulstoer rkadapt stiffb stiffr

Набор параметров для этих функций 1 2 maxbulstoer y x x acc F k save

1 2 maxrkadapt y x x acc F k save

1 2 maxstiffb y x x acc F k save

1 2 maxstiffr y x x acc F k save

107

Первые три параметра и пятый F этих функций те же что и

для функции Rkadapt Дополнительные параметры acc ndash параметр контролирующий точность решения (реко-

мендуется асс = 0001) maxk ndash максимальное число промежуточных точек в которых

ищется решение save ndash минимально допустимый интервал между точками в

которых ищется решение

63 Решение граничных задач для обыкновенных дифференциальных

уравнений

Если для дифференциального уравнения n-го порядка k гра-ничных условий заданы в начальной точке 1x а n k граничных

условий ndash в конечной точке 2x то такая задача называется краевой В MathCAD реализованы две функции позволяющие численно найти недостающие условия в точках 1x и 2x

631 Двухточечная краевая задача

Задача решается в два этапа Сначала с помощью функции sbval находятся недостающие начальные значения а затем приме-няется одна из вышеописанных функций для решения стандартной задачи Коши на отрезке

1 2 sbval V x x xf F load score ndash ищет недостающие началь-

ные условия в точке 1x V ndash вектор начальных приближений для искомых начальных

значений в точке 1x 1x 2x ndash граничные точки интервала F x y ndash вектор-столбец из n элементов содержит правые ча-

сти дифференциальных уравнений 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точке 1x некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

2score x y ndash вектор-столбец размерности вектора V содер-

жащий разность между начальным условием в точке 2x и значени-ем искомого решения в этой точке

108

Теперь решаем задачу традиционным методом

632 Краевая задача с условиями внутри интервала

На первом этапе используется функция ( 1 2 1 2 balfit V V x x xf 1 2 )F load load score ndash ищет недостающие начальные условия

в точках х1 и х2 сшивая решения выходящие из этих точек в точке xf

109

1 2V V ndash векторы начальных приближений для искомых на-чальных значений в точках х1 и х2

х1 х2 ndash граничные точки интервала 2 1 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точках х1 х2 некоторые из значений ndash констан-ты другие неизвестны и будут найдены в процессе решения

2 2 2load x V ndash вектор-столбец из n элементов содержит

начальные значения в точке х2 некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

score xf y ndash вектор-столбец размерности n содержащий раз-

ность между решениями начинающимися в точках х1 и х2 в точке xf

110

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ

71 Одномерная линейная аппроксимация

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

При кусочно-линейной интерполяции или аппроксимации вычи-сления дополнительных точек выполняются по линейной зависимости Графически это означает просто соединение узловых точек отрезками прямых для чего используется следующая функция linterp VX VY x

Для заданных векторов VX и VY узловых точек и заданного ар-гумента х эта функция возвращает значение функции при ее линей-ной аппроксимации При экстраполяции используются отрезки пря-мых с наклоном соответствующим наклону крайних отрезков при линейной интерполяции например

111

72 Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная ин-

терполяция оказывается довольно грубой Для целей экстраполяции функция linterp не предназначена и за пределами области определе-ния может вести себя непредсказуемо

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

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

cspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии в опорных точках к ку-бическому полиному

pspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии к опорным точкам пара-болической кривой

lspline VX VY ndash воз-

вращает вектор VS вторых производных при прибли-жении к опорным точкам прямой Наконец четвертая

функция int erp VS VX VY x ndash возвращает значение у (х) для за-

данных векторов VS VX VY и заданного значения x

112

Таким образом сплайн-аппроксимация проводится в два эта-па На первом с помощью функций cspline pspline или Ispline отыс-кивается вектор вторых производных функции у(х) заданной векто-рами VX и VY ее значений (абсцисс и ординат) Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с по-мощью функции interp

73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D графиков имеется возможность осуществления двумерной сплайн-интерполяции Это позволяет существенно повысить представительность сложных гра-фиков SD-функций в том числе контурных

113

Интерполяция функции двух переменных проводится также в два этапа

1 Вычисляется вектор VS вторых производных в опорных точках с помощью функций

cspline Mxy Mz

pspline Mxy Mz

lspline Mxy Mz

Здесь Mxy ndash матрица размера 2n строки которой определя-

ют по диагонали x y координаты прямоугольной сетки Mz ndash

матрица размера n n значений функции в узлах вышеопределен-ной сетки

2 Вычисление с помощью функции int erp VS Mxy Mz V

Здесь V minus вектор координат x y

Показаны графики функции двух переменных после проведе-ния двумерной сплайн-интерполяции и без нее

114

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ

81 Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х) Задача регрессии заключается в получении параметров этой функ-ции такими чтобы функция приближала облако исходных точек (заданных векторами VX и VY ) с наименьшей среднеквадратичной погрешностью

Чаще всего используется линейная регрессия при которой функция у(х) имеет вид у(х) = a + bx и описывает отрезок прямой К линейной регрессии можно свести многие виды нелинейной ре-грессии при двупараметрических зависимостях у(х)

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций

corr VX VY ndash возвращает скаляр ndash коэффициент корреляции

Пирсона int ercrpt VX VY ndash возвращает значение параметра а (смеще-

ние линии регрессии по вертикали) slope VX VY ndash возвращает значение параметра b (наклона

линии регрессии)

115

82 Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной

регрессии общего вида При ней заданная совокупность точек при-ближается функцией вида

1 2 1 1 2 2 F x K K Kn K F x K F x KnFn x

Таким образом функция регрессии является линейной комби-нацией функций 1 2 F x F x Fn x причем сами эти функции

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

Для реализации линейной регрессии общего вида использует-ся функция inf l it VX VY F Эта функция возвращает вектор

коэффициентов линейной регрессии общего вида K при котором среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек если их координаты хранятся в векторах VX и VY оказы-вается минимальной Вектор F должен содержать функции

1 2 F x F x Fn x записанные в символьном виде

Расположение координат точек исходного массива может быть любым но вектор VX должен содержать координаты упорядочен-ные в порядке их возрастания а вектор VY ndash ординаты соответ-ствующие абсциссам в векторе VX

116

83 Функции для одномерной и многомерной полиномиальной регрессии

Функция для обеспечения полиномиальной регрессии при про-

извольной степени полинома регрессии regress VX VY n введена

в новую версию MathCAD Она возвращает вектор VS запрашиваемый функцией int erp VS VX VY x содержащий коэффициенты многочлена n-й

степени который наилучшим образом приближает laquoоблакоraquo точек с координатами хранящимися в векторах VX и VY

Для вычисления коэффициентов полинома регрессии исполь-зуется функция submatrix

На практике не рекомендуется делать степень аппроксимиру-ющего полинома выше четвертой-шестой поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий поли-ном коэффициенты которого вычисляются по всей совокупности заданных точек те глобально Иногда полезна другая функция по-линомиальной регрессии дающая локальные приближения отрез-ками полиномов второй степени ndash loess VX VY span Эта функция

возвращает используемый функцией int erp VS VX VY x вектор

VS дающий наилучшее приближение данных (с координатами то-чек в векторах VX и VY ) отрезками полиномов второй степени Ар-гумент span gt 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение ndash 075)

117

Чем больше span тем сильнее сказывается сглаживание данных При больших span lt эта функция приближается к 2regress VX VY

MathCAD позволяет выполнять также многомерную регрес-сию самый типичный случай которой ndash приближение трехмерных поверхностей Их можно характеризовать массивом значений высот z соответствующих двумерному массиву Мху координат точек (х у) на горизонтальной плоскости

Новых функций для этого не задано Используются уже описанные функции в несколько иной форме

Regress Mxy Vz n ndash возвращает вектор запрашиваемый функ-

цией int erp VS Mxy Vz V для вычисления многочлена п-й степени который наилучшим образом приближает точки множества Мху и Vz Мху ndash матрица т times 2 содержащая координаты x и y

Vz ndash m-мерный вектор содержащий z-координат соответ-ствующих m точкам указанным в Мху

118

loess Mxy Vz span аналогична loess VX VY span но в

многомерном случае int erp VS Mxy Vz V возвращает значение z по заданным

векторам VS (создается функциями regress или loess) и Мху Vz и V (вектор координат х и у заданной точки для которой находится z)

84 Функция для нелинейной регрессии

общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора K параметров произвольной функции 1 2 F x K K Kn при котором обеспечивается минимальная

среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек

Для проведения нелинейной регрессии общего вида использу-ется функция genfit VX VY VS F Эта функция возвращает вектор

K параметров функции F дающий минимальную среднеквадратич-ную погрешность приближения функцией 1 2F x K K Kn ис-

ходных данных F должен быть вектором с символьными элементами содер-

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

119

ментов вектора K необходимые для решения системы нелинейных уравнений регрессии итерационным методом

85 Функции сглаживания данных

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

medsmooth VY n ndash для вектора с m действительными числами

возвращает m-мерный вектор сглаженных данных по методу сколь-

120

зящей медианы параметр n задает ширину окна сглаживания (n должно быть нечетным числом меньшим m)

ksmooth VX VY b ndash возвращает n-мерный вектор сглаженных

VY вычисленных на основе распределения Гаусса здесь VX и VY ndash n-мерные векторы действительных чисел параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в не-сколько раз превышать интервал между точками по оси х)

sup smooth VX VY ndash возвращает n-мерный вектор сглажен-

ных VY вычисленных на основе использования процедуры линей-ного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k здесь VX и VY ndash n-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возрастания

86 Функция предсказания

Весьма интересной является функция предсказания predikt data k N где data ndash вектор данных k ndash число последних

точек существующих данных на основе которых происходит расчет предсказываемых точек N ndash число точек в которых необходимо предсказать данные Она по ряду заданных равномерно располо-женных точек позволяет рассчитать некоторое число N последую-

121

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

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

122

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ

Вплоть до появления 7-й версии системы MathCAD возможно-сти программирования в них были крайне ограниченными Факти-чески MathCAD позволяла реализовать лишь линейные программы в основе которых лежит понятие функции Функция if и ранжиро-ванные переменные в отдельных случаях могли заменить условные выражения и циклы но с серьезными ограничениями Отсутствова-ла возможность задания завершенных программных модулей

Эти возможности в расширенном варианте появились в MathCAD 70 Pro Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке) включаемой кнопкой на панели Math

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

Эти подпрограммы-функции составляются так же как и опре-деления функций (табл 23) Рассмотрим простой пример вычисле-ния суммы Sum(n) = 1 + 2 + 3 + + n

Задайте сначала имя функции Sum вслед за которым введите список параметров (n) и оператор присваивания =

Введите начальное значение s 0 и отметьте его целиком Стрелка служит оператором присваивания в теле программы вво-дится клавишей (открывающая фигурная скобка) или выбором кнопки со стрелкой с панели

Создайте новую строку программы (вставка вертикальной черты) с помощью кнопки Add Line клавиша (закрывающая квадратная скобка) На экране появится вертикальная черта и пустая ячейка

Выполните щелчок на кнопке for чтобы ввести оператор цикла Перед символом принадлежности введите переменную i а после него ndash промежуток изменения переменной 1n В находящей-ся ниже ячейке введите присваивание s s+i Программа готова

123

Таблица 23 Команды панели Symbolic (символы)

Команда Функция Пример

Add Line Добавляет новую строку поднад (зависит от выделения) текущей строкой

Присваивание значения локальной переменной

if

Условный оператор (оператор ветвления) if условие должно стоять после if а оператор который исполняется если выполнено заданное условие ndash перед if

otherwise Обозначает оператор который должен быть исполнен если условие оператора if не выполняется

for

Цикл for за ключевым словом for следует переменная-счетчик а после символа принадлежности вводится промежуток изменения этой переменной Внутренние операторы цикла сдвинуты немного вправо

while

Цикл while внутренние операторы цикла будут исполняться до тех пор пока будет истинным условие следующее за ключевым словом while Пример показывает применение цикла для нахождения нулей функции методом касательных Ньютона

break

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

continue Служит для преждевременного завершения текущей итерации цикла сам цикл при этом продолжается

retutn Преждевременное завершение программы указанное в ячейке значение будет возвращено

on error Если при вычислении выражения expr2возникла ошибка вычисляется выражение expr1

124

Условный оператор if и оператор otherwise Рассмотрим пример программного блока вычисляющего фак-

ториал с использованием рекурсии

В данном примере 1 возвращается только если n = 0 или n = 1

Обратите внимание на задание нескольких условий ndash со знаком плюс каждое условие в скобках В остальных случаях учитывая формулу n=n(n minus 1) вызывается fakt(n minus 1) и умножается на n С помощью функции error можно вывести сообщение об ошибке при непра-вильном вводе аргумента

Для демонстрации работы цикла for рассмотрим ту же задачу но вычисление факториала осуществим с помощью цикла

Если n = 0 или n = 1 возвращается 1 в противном случае с по-мощью цикла for вычисляется произведение n=123n Вычис-ленное последним значение p возвращается автоматически

В следующем примере с помощью алгоритма Евклида опреде-ляется наибольший общий делитель Для реализации алгоритма используется цикл с ключевым словом while

125

91 Прерывание цикла с помощью операторов break и continue Оператор return

Первый пример ndash реализация метода касательных Ньютона

для определения нулей функции На основе начального значения x вычисляется новое улучшенное значение x расположенное ближе к искомому нулю функции При этом итерации повторяются до тех пор пока значение функции не станет меньше заданной точности (в примере 10minus6)

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

Кроме ключевого слова break имеется ключевое слово

continue с похожей функцией В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору continue прерывает выполнение только текущей итерации

126

92 Ключевое слово continue Ключевое слово continue используется для выявления всех ну-

лей функции на заданном интервале При этом в примере производится разбиение интервала на n

равных подынтервалов и ищутся те из них на которых функция ме-няет знак При обнаружении такого подынтервала вызывается функция реализующая метод касательных Ньютона с начальным значением находящимся в середине подынтервала

Обратите внимание по завершении работы программы выда-

ется вектор значений Ниже приводится программа вычисляющая коэффициенты

Фурье функции причем в результате выдается матрица значений нулевая по счету строка содержит коэффициенты Аn а первая ndash ко-эффициенты Bn Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn и первый ndash для Bn

127

128

ЛАБОРАТОРНЫЕ РАБОТЫ

Методические указания Порядок выполнения работы 1 Получите у преподавателя задание на выполнение очеред-

ной работы (вариант и дополнительные указания) и уясните цель 2 Разработайте структуру и алгоритм работы программы 3 Реализуйте алгоритм в виде текста на языке Maple 4 Продемонстрируйте работу программы преподавателю и

при наличии замечаний сделайте необходимые поправки 5 Подготовьте и сдайте отчет о работе Требования к оформлению отчета

По каждой выполненной лабораторной работе составляется отчет который должен содержать

minus титульный лист с названием учебного заведения и кафедры учебной дисциплины указанием номера работы фамилии исполни-теля и фамилии преподавателя принявшего работу

minus тему цель работы и развернутое лабораторное задание с от-ражением сведений о конкретном варианте

minus при необходимости minus краткое пояснение принципов метода и алгоритма решения задачи

minus текст программы minus фактические результаты исполнения программы minus вывод о работоспособности программы с объяснением при-

чин обнаруженных некорректностей в работе

129

Лабораторная работа 1 Тема Решение нелинейных уравнений

Лабораторные задания 1 Разработать программу вычисления корня нелинейного

уравнения с некоторой точностью одним из четырех методов поло-винного деления (ПД) касательных (К) хорд (Х) хорд и касатель-ных (ХК)

2 Решить эти же уравнения используя встроенные функции MathCAD

3 Сравнить полученные результаты

Методические указания С методами решения можно ознакомиться в [1minus3] Построить графики функций и отделить корень

Варианты заданий

Метод решения Задания

Метод хорд

Вариант 1 1 sin 035x x 2 3 23 9 8 0x x x

Вариант 5

1 12 cos 0368 0x x 2 3 3 1 0x x Вариант 9

1 ctg 3 0x x 2 3 201 06 15 0x x x Вариант 13

1 2 4sin 0x x 2 3 201 04 2 0x x x Вариант 17

1 lg 7 2 6 0x x 2 3 203 09 08 0x x x

Метод половинного деления

Вариант 2

1 2 5 3 0x x 2 22 log 1x x

Вариант 61 exp 2 2 1 0x x 2 tg 2 4x x x

Вариант 10 1 arctg 1 2 0x x 2 4 3 23 4 12 1 0x x x

Вариант 14

1 2 5xe x 2 3l g 1 1x o x

Вариант 18 1 lg 1 1x x 2 4 218 6 0x x

130

Окончание

Метод

касательных

Вариант 3

1 3ln 1 0x x 2 3 22 2 0x x

Вариант 7

1 2 1xx 2 3 23 9 10 0x x x Вариант 11

1 121 1x x 2 3 2 2 0x x

Вариант 151 cos 0x x 2 3 3 1 0x x

Вариант 19 1 2 lnx x 2 3 204 06 18 0x x x

Метод хорд и касательных

Вариант 4

1 2tg 047 02x x 2 3 22 3 12 5 0x x x Вариант 8

1 lg 12 0x x 2 3 23 24 3 0x x x Вариант 12

1 2ctg105 0x x 2 3 23 1 0x x Вариант 16

1 3 cos 1 0x x 2 3 22 9 6 0x x Вариант 20

1 2 21x

x e 2 3 23 8 0x x

131

Лабораторная работа 2 Тема Решение систем Лабораторные задания 1 Решить линейную систему классическим методом Гаусса

или одним из его модифицированных методов 2 Решить линейную систему методом Крамера используя со-

ответствующие пакеты 3 Решить нелинейные системы уравнений методами итераций

и Ньютона 4 Решить эти же системы используя встроенные функции 5 Результаты

Методические указания С методами решения можно ознакомиться в [1minus3 5 6] Построить графики функций и определить область существо-

вания корня Варианты заданий

1 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 1

3 2 4

2 3 6

2 3 4

х х х х

х х х х

х х х х

х х х х

sin 1 12

2 cos 2

x y

x y

2

2 2

tg 04

06 2 1

0 0

xy x

x y

x y

2 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 6

2 3 8

3 2 2 4

2 3 2 8

х х х х

х х х х

х х х х

х х х х

сos 1 05

cos 3

x y

x y

2 2

sin 16 0

1

0 0

x y x

x y

x y

3 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 4 5

2 2 3 1

3 2 2 1

4 3 2 5

х х х х

х х х х

х х х х

х х х х

sin 2 2

cos 1 07

x y

y x

3 2

2 2

tg 01

2 1

xy x

x y

4 1 3 4

1 3 4

1 2 4

1 2 3

3 4 5

2 3 4

3 2 5 12

4 3 5 5

х х х

х х х

х х х

х х х

2 sin 05 1

cos 15

x y

x y

2 2

sin 12 02

1

x y x

x y

132

Продолжение

5 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

3 5 7 12

3 5 7 0

5 7 3 4

7 3 5 16

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

x y

y x

3 2

2 2

tg 03

09 2 1

xy x

x y

6 1 2 3 4

1 2 3

1 2 4

2 3

5 3 4 20

3 2 9

5 7 10 9

3 5 1

х х х х

х х х

х х х

х х

сos 05 08

sin 2 16

x y

y x

2 2

sin 13 0

1

x y x

x y

7 1 2 3 4

1 2 4

2 3 4

1 2 3 4

2 5 8

3 6 9

2 2 5

4 7 6 0

х х х х

х х х

х х х

х х х х

sin 1 13

sin 1 08

x y

x y

3

2

2 2

tg

08 2 1

xy x

x y

8 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 4

3 3 3 2 6

3 2 6

3 3 6

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

y x

x y

2 2

sin 15 01

1

x y x

x y

9 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 7

2 5

2 1

3 3 10

х х х х

х х х х

х х х х

х х х х

сos 05 2

sin 2 1

x y

y x

3

2

2 2

tg

07 2 1

xy x

x y

10 1 2 4

1 2 3

2 3 4

1 2 3 4

4 2 9

3 4 7

3 2 4 12

2 3 0

х х х

х х х

х х х

х х х х

sin 2 15

cos 2 05

x y

y x

2 2

sin 12 01

1

x y x

x y

11 1 2 3 4

1 2 4

1 3 4

1 2 3 4

2 1

2 3 2

3 3

2 2 2 5 6

х х х х

х х х

х х х

х х х х

sin 1 12

cos 2 2

y x

x y

2

2 2

tg 02

06 2 1

xy x

x y

12 1 2 3 4

2 3 4

1 2 4

1 2 3

2 0

2 2

3 1

3 2 0

х х х х

х х х

х х х

х х х

сos 1 05

cos 3

y x

y x

2 2

sin 15 01

1

x y x

x y

133

Окончание

13 1 2 4

1 2 3 4

1 3 4

1 2 4

5 9

3 3 4 7

3 2 16

4 0

х х х

х х х х

х х х

х х х

сos 1 07

sin 2 2

x y

y x

2

2 2

tg 04

08 2 1

xy x

x y

14 1 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 9

2 8

2 5

2 1

х х х

х х х х

х х х х

х х х х

2 sin 05 1

cos 15

y x

y x

2 2

sin 12 01

1

x y x

x y

15 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 6 2 2 12

3 5 7 12

3 5 7 0

5 7 3 4

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

y x

x y

2

2 2

tg 01

09 2 1

xy x

x y

16 1 2

1 2 3 4

1 2 3 4

1 2 3 4

5 2

2 3 2 4

3 2 6

3 3 6

х х

х х х х

х х х х

х х х х

сos 05 08

sin 2 16

x x

x y

2 2

sin 14

1

x y x

x y

17 1 2 4

1 2 3 4

1 2 3 4

1 2 3 4

4 2

2 3 1

2 3 6

2 3 4

х х х

х х х х

х х х х

х х х х

sin 1 13

sin 1 08

y x

y x

2

2 2

tg 01

05 2 1

xy x

x y

18 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

5 3 4

2 3 2 6

2 2 3 8

3 2 2 4

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

x y

y x

2 2

sin 11 01

1

x y x

x y

19 1 2 3 4

1 2 3 4

1 3 4

1 2 3 4

4 2 4 3

2 1

3 3

2 2 2 5 6

х х х х

х х х х

х х х

х х х х

2 cos 05

sin 2 1

x y

x y

2 2

tg

2 1

x y xy

x y

20 1 3 4

2 3 4

1 2 4

1 2 3

2 2 1

2 2

1

3 2 0

х х х

х х х

х х х

х х х

sin 2 15

cos 2 05

y x

x y

2 2

sin 1

075

x y xy

x y

134

Лабораторная работа 3 Тема Работа с многочленами Лабораторные задания 1 Исследовать заданные функции на непрерывность найти их

экстремумы 2 Разложить заданную функцию одного переменного в ряд в

окрестности указанной точки 0x до n-го порядка 3 Преобразовать ряд в многочлен который разложить по сте-

пеням х а Построить графики заданной функции и получивше-

гося многочлена 4 Уметь находить коэффициенты при заданных степенях

старшие и младшие степени корни из многочлена и интервалы дей-ствительных корней многочлена раскладывать в ряд функции мно-гих переменных

Варианты заданий

Номер варианта

Функция n 0x

1 siny x arcsinu xy 10 1

2 cosy x u xy 8 minus1

3 lny x zu xy 9 3

4 tgy x zu y x 6 minus2

5 arcsiny x expu z xy 10 minus07

6 arccosy x lnu x y z 9 08

7 exp 2y x expu x zy 6 17

8 3 4 5y x x u th x y z 8 minus066

9 05log 1y x u ch x y z 5 15

10 05 2y sh x 2 2 2x y z 10 05

11 03 4y ch x 2 2 2x y z 7 minus045

12 13arctgy x 2 2 21 u x y z 5 03

13 1 exp 1y x x 2 2 2ln u x x y z 10 minus14

14 3 cos 1y x x 2 2tg u z x y 12 09

135

Окончание

Номер варианта

Функция n 0x

15 2 1 sin 7 3y x x ctgu x y z 9 055

16 2tgy x 22 z x y 6 08

17 2ln 1y x 2 2 21 cosu x y z 10 01

18 2 21 1y x x 2 2 21 sinu x y z 8 0

19 2 21 1y x x 2tgu x z 9 0

20 2 2sin 1y x x u cth x y z 10 036

136

Лабораторная работа 4 Тема Интерполяция и экстраполяция функций Цель построение интерполяционных многочленов по равно-

и неравноотстоящим узлам вычисление значений функций в ука-занных точках

Лабораторные задания 1 Построить интерполяционные многочлены Лагранжа Нью-

тона по равно- и неравноотстоящим узлам а также первые и вторые интерполяционные формулы Ньютона Гаусса и Бесселя

2 Выполнить линейную квадратичную кубическую и четвер-того порядка сплайн-аппроксимацию

Методические указания С методами построения многочленов можно ознакомиться

в [1minus3]

Варианты заданий

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

0298

0303

0310

0317

0323

0330

0339

150

155

160

165

170

175

180

325578

317639

312180

304819

2098755

2091950

283598

1

7

13

19

02006 03645

144 182

02654 03325

146 177

03127 03222

154 185

02746 03033

149 172

043

048

055

062

070

075

078

0115

0120

0125

0130

0135

0140

0145

163597

173234

187686

203345

222846

235973

253687

2

8

14

20

04984 073482

01144 0142

04998 08375

01004 0148

04256 08751

01157 0152

04057 08599

0105 0150

137

Окончание

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

011 015 021 029 035 041 047

150 155 160 165 170 175 180

15132 17422 20393 23994 28160 32812 37875

3 9

15

18

0112 0481 143 175 0128 0462 156 1751 0104 0439 148 1782 0103 04661 1523 1885

002 008 012 017 023 030 035

0375 0380 0385 0390 0395 0400 0405

102316 109590 121483 114725 130120 140976 139642

4

10

16 5

0021 036 0365 0406 024 0348 0379 0427 005 0321 0384 0403 0057 0337 0371 0413

068 073 080 088 093 099 106

185 190 195 200 205 210 215

43198 48689 54653 59653 64817 69554 71258

6

11

17

12

066 105 182 214 069 11 188 211 071 103 173 201 0682 0983 194 221

138

Лабораторная работа 5 Тема Разложение функций в ряд Фурье

Лабораторные задания 1 Разложить заданную функцию в ряд Фурье по системе ор-

тонормированных функций 2 Построить в одной системе координат графики функции и

некоторых частичных сумм ряда Фурье

Методические указания С методами решения можно ознакомиться в [1minus3 5minus7]

Варианты заданий

Номер варианта Функция у(х) Система функций

1 expx x Гегенбауэра

2 23 5 11x x Эрмита

3 sin 2 6x Лагерра

4 cos 5 x Лежандра

5 21 3x Якоби

6 2 21 1x x Чебышева 1-го рода

7 2 21 1x x Чебышева 2-го рода

8 1 cos x Гегенбауэра9 1 sin x Эрмита10 cosx x Лагерра11 sinx x Лежандра12 cos x x Якоби

13 sin x x Чебышева 1-го рода

14 exp x x Чебышева 2-го рода

15 6x Гегенбауэра16 1 x Эрмита17 1 Лагерра18 2cos x Лежандра

19 2sin x Якоби

20 122 1x Чебышева 1-го рода

21 122 1x Чебышева 2-го рода

139

Лабораторная работа 6 Тема Решение дифференциальных уравнений Лабораторные задания 1 Решить дифференциальное уравнение методами Эйлера

Рунге-Кутта Милна Адамса и простроить графики решений считая начальные условия нулевыми

2 Решить дифференциальное уравнение методами системы MathCAD и сравнить результаты решений

Методические указания Принять шаг равным 01 в качестве отрезка на котором ищет-

ся решение взять отрезок [01] С методами решения можно ознакомиться в [1minus3 5 6 8] Варианты заданий

Но-мер вари-анта

Уравнение у= f(x)

Но-мер вари-анта

Уравнение у= f(x)

1 21 02 siny y x y 11 cos 05y x y x y

2 2cos 1 05y x x y 12 2cos 1 06y x y y

3 21 04 sin 15y y x y 13 2cos 2 03y y x y

4 cos 15y x y x y 14 1 sin 05 2y x y y x

5 2cos 15 01y y x y 15 21 06sin 125y x y

6 cos 2 15y x y x y

16 1 01 2 sin 2y y x x y

7 2cos 1254 01y y x y

17 21 08 sin 2y y x y

8 cos 15 15y x y x y

18 1 sin 2 03 2y x y y x

9 2cos 175 05y y x y

19 1 1 sin 2y x y y x

10 2cos 08 03y x y y 20 21 22sin 15y x y

140

Лабораторная работа 7

Тема Интегральные преобразования Цель вычисление интегральных преобразований

Лабораторное задание От заданных функций найти прямое и обратное преобразова-

ние Фурье Лапласа Гильберта и Меллина

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

ознакомиться в [1minus3 5minus7] Так как не все заданные функции записа-ны в таблицы интегральных преобразований то необходимо соста-вить для них соответствующие интегральные суммы

Варианты заданий

Номер варианта Функция Номер варианта Функция

1 x 11 2 0

0 0

x

x

2 1 0 1

2 1

0 0 2

x

x x

x x

12 2x

3 1 0 1

0 0 1

x x

x x

13 2 0 2

0 0 2

x x

x x

4 sin 0

0 0

x x

x

14 0

0 0

x x

x

5 cos 0

0 0

x x

x

15 3x

6 1 0 1

3 1

0 0 2

x x

x x

x x

16 3 0 1

3 1

0 0 9

x x

x

x x

7 2 0

0 0

x x

x

17

1 1 1

0 1 1

x

x x

8 3 0

0 0

x x

x

18

1 1

0 1 1

x x

x x

9 exp x 19 2 1 1

0 1 1

x x

x x

10 exp 0

0 0

x x

x

20 3 1 1

0 1 1

x x

x x

141

САМОСТОЯТЕЛЬНЫЕ РАБОТЫ

Самостоятельная работа 1 1 Вычислите для каждого значения 1 5 7x следующие

функции

3 62 5

1y

x x

2

21

2

x

y e

2arctg

2

xy

Рекомендуется использовать операцию векторизации (MathPalette матричные операции) Измените количество значащих цифр выводимых на экран после десятичной точки на 6

2 Решите двумя способами (матричным и с помощью функ-

ции lsolve) систему линейных уравнений

2 0

2 3 1

5 1

x y z

x y z

x y z

Справку по использованию функции lsolve найдите в справоч-ной системе MathCAD

3 Смените нижнюю границу индексации массивов на 1 Вы-ведите решение системы уравнений из п 2 в виде вектора-столбца и поэлементно

4 Скопируйте первую из формул п 1 и замените в ней первое подкоренное выражение в знаменателе на sin x а второй операнд

в знаменателе ndash на ctg2

x

Присвойте полученное выражение но-

вой переменной G (удалив у) 5 Вставьте в документ текстовую область laquoПостроение про-

стейшего графикаraquo 6 Определите функцию sin cos 1f x x x

7 Постройте график функции f x (воспользуйтесь быстрым

построением графиков)

142

Самостоятельная работа 2 1 Задайте вектор 1V состоящий из трех элементов 231 и

вектор 2V ndash 417

2 Выполните следующие операции 1 3V 1 2V V 1 2V V 1 2V V просуммируйте элементы 1V транспонируйте вектор 2V

вычислите норму вектора 1V используя операцию векторизации вычислите sin 1V и посчитайте норму получившегося вектора

3 Задайте матрицу М с размерностью 2 3 транспонируйте ее 4 Создайте единичную матрицу Е размерности 5 5 вычис-

лите ее след 5 Создайте две квадратные матрицы 1M и 2M размерности

3 3 перемножьте их у полученной матрицы вычислите определи-тель выведите на экран второй столбец и поэлементно третью строку

6 Сложите матрицы 1M и 2M (матрица MM ) для получен-ной матрицы вычислите exp MM

7 Объедините матрицу MM и вектор 1V отсортируйте полу-ченную матрицу по первым столбцу и строке

8 Вычислите собственные значения любой из введенных мат-риц размерности 3 3 а также собственный вектор принадлежащий второму собственному значению

143

Самостоятельная работа 3 1 Задайте ранжированную переменную х меняющуюся от 0

до 2 с шагом 01 определите функцию 2sin 2f x x x построй-

те ее график

2 Определите изменение целого индекса i от 0 до 15 10ix i

2sin 2i i iy x x постройте график функции i iy x

3 Постройте график функции 2 2g x y x y где перемен-

ные x и y меняются от minus5 до 5 4 Изобразите сферу Ее параметрическое представление имеет

вид

8 0 0

cos sin

sin sin

cos

R

x R

y R

z R

Число точек 30N

5 Анимация Измените определение радиуса сферы

cosR f FrameF Постройте анимационный график (число

кадров равно 20 число кадров в секунду minus 3 Просмотрите на плеере получившуюся анимацию

ВНИМАНИЕ Перед построением анимации не забудьте от-ключить АВТОМАСШТАБ

6 Постройте графики функций заданных полярно

115 0 2

31 sin 2

2

sin 31 1

2

NN

r

r

144

7 Изобразите пространственную кривую

340 1 cos

3 sin

3

i

i

i

N i N x iN

y iN

z iN

8 Увеличьте число точек N повторите построение предыду-щего графика поэкспериментируйте меняя различные параметры отображения графика

145

Самостоятельная работа 4 1 Используя команды меню Symbolic вычислите в символь-

ном виде

1 sin

dx

x 1

cosm

n

na

2 Разложите по степеням sin 5x Посчитайте производную

от полученного выражения Постройте график функции и ее пред-ставлений в виде ряда включающих 2 члена разложения 5 членов разложения и 10 членов разложения

3 Вычислите коэффициенты полинома по степеням х и у

2 2 2 25 6 7 8 9 10x y x y xy xy x y

4 Используя интегральное преобразование Лапласа (и обрат-ное преобразование Лапласа) решите в символьном виде диффе-ренциальное уравнение

sind

y t ky t tdt

5 Используя палитру символьных преобразований найдите точку в которой функция двух переменных имеет экстремум

sind

y t ky t tdt

6 Вычислите в символьном виде интеграл предположив что с minus действительное число с gt 0

0

expx ct dt

7 Используя оператор символьного вывода и блок Givenhellip Find решите в символьном виде систему уравнений

2

2

400 2 2 0

200 200 0

y x x b x

y x

146

8 Вычислите предел от функции tg x при х стремящемся к

2 minus обыкновенный слева и справа 9 Исследуйте аналитически функцию f x определите точки

максимума и минимума точки перегиба постройте графики f x

f x и f x

2

2

1

xf x

x

147

Самостоятельная работа 5 1 Найдите решения систем уравнений (если они существуют)

а) 2

23 1

2 2

yx

x y

б) 2

2

0

1 0

x

e y

x y

с помощью блоков GivenhellipFind GivenhellipMinner Проверьте все ли решения найдены

2 Решите на отрезке [0 3] задачу Коши

0 051

x

x

ey y

e

используя функцию odersolve (в блоке с Given) и функцию rkfixed Выведите значение полученного решения в точке x = 3 3 Решите задачу Коши для дифференциального уравнения

0 0 3 0 1 0 1y y y y y

на отрезке [01] используя функцию odersolve (в блоке с Given) и функцию rkadapt

4 Решите систему дифференциальных уравнений

2 3 0 0 0 5

2 0 2 0 1

x x y x x

y x y y y

на отрезке [0 3] Выведите значения искомых функций и их произ-водных в точке с координатой х =15

5 Решите краевую задачу для дифференциального уравнения

10 0 0 0 8 1

2y yy y y y

на отрезке [0 8] выведите значение функции и ее производных в конечной точке отрезка

6 Для примера из п 5 вычислите значение функции только в конечной точке Используйте специально предназначенные для это-го формы функций bulstoer rkadapt stiffb stiffr

7 Найдите корни многочлена

3 22 20 2 100y x x x x

с помощью функций root и poltroots (Обратите внимание на значе-ние системной переменной)

148

Самостоятельная работа 6 1 Составьте программу вычисляющую константу фигуриру-

ющую в легенде об изобретателе шахмат Изобретатель попросил дать ему в награду определенное количество зерна положив на

первую клетку одно зернышко ( 1 12 те 02 ) на вторую minus два зер-

нышка ( 2 12 ) на третью minus четыре ( 3 12 ) и тд (на новой клетке зе-рен в 2 раза больше чем на предыдущей) Найдите общее число зе-рен составляющих награду изобретателя Вычислите их массу приняв за массу одного зерна 03 грамма Переведите полученный результат в тонны Вы знаете это число А MathCAD знает

2 Модифицируйте программу предусмотрев выход из нее ес-

ли число зерен больше триллиона ( 1210 ) 3 Составьте программу-функцию вычисляющую по заданным

длинам сторон треугольника a b c три величины периметр тре-угольника его площадь и радиус вписанной окружности

1

2s p p a p b p c

12p a p b p c

rp

где p minus полупериметр Предусмотрите в программе оценку существования треуголь-

ника с заданными длинами сторон a b c и выдачу результата об ошибке если треугольник с указанными сторонами не существует

4 Составьте программу-функцию вычисляющую n коэффи-циентов разложения функции f x заданной на отрезке L L в

ряд Фурье minus те параметрами являются f n L 5 Используя построенную в п 4 функцию вычислите при-

ближение рядом Фурье ступенчатой функции заданной на 11

0 если 1 0

1 если 0 1

xf x

x

Рассмотрите приближения для разных n (например 3n и 40n ) Постройте график функции f x и ее приближений рядами

Фурье с различным числом членов разложения

149

Самостоятельная работа 7 1 Введите матрицу координат точек плоскости

х 01 5 11 05 34 27 19 4 47 у 10 13 5 7 3 45 6 25 15

Постройте линейную и сплайновую интерполяцию для данно-

го laquoоблакаraquo точек Постройте функции линейной полиномиальной и обобщенной регрессии для этих же точек

2 С помощью функции rnd введите 50 случайных чисел из от-резка [0 2] Постройте функции сглаживания данных (с помощью различных встроенных функций)

3 С помощью функции predict предскажите поведение функ-ции sin 2f x x на [2 4] если предположить что она задана

на отрезке 0 2 Изменится ли предсказанное поведение если в

качестве исходных данных взять функцию определенную на [0 ]

150

СПИСОК ЛИТЕРАТУРЫ 1 Демидович Б П Основы вычислительной математики

Б П Демидович И А Марон М Лань 2011 minus 672 с 2 Фаддеев Д К Вычислительные методы линейной алгебры

Д К Фаддеев В Н Фаддеева М Лань 2002 736 с 3 Вержбицкий В М Численные методы учеб пособие для

вузов В М Вержбицкий minus 2-е изд испр minus М ООО Изд дом laquoОНИКС 21 векraquo 2005 minus 400 с

4 Вержбицкий В М Численные методы Математический анализ и обыкновенные дифференциальные уравнения В М Верж-бицкий minus М Высш шк 2001 minus 382 с

5 Воробьева Г Н Практикум по численным методам Г Н Во-робьева А Н Данилова minus М Высш шк 1990 minus 208 с

6 Кудрявцев Л Д Краткий курс математического анализа учеб для вузов Л Д Кудрявцев minus М Наука Гл ред физ-мат лит 2005 minus 736 с

151

Учебное издание

Черушева Татьяна Вячеславовна Зверовщикова Наталья Васильевна

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

В трех частях

Часть 1

Редактор Т В Веденеева Компьютерная верстка Р Б Бердниковой

Подписано в печать 9122015 Формат 60times84116 Усл печ л 883 Тираж 50

Заказ 1069

Издательство ПГУ

440026 Пенза Красная 40 Телфакс (8412) 56-47-33 е-mail iicpnzguru

  • Пустая страница
Page 4: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

4

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ 102

61 Решение одиночного дифференциального уравнения 102 62 Численное решение задачи Коши для дифференциальных уравнений и систем 103 63 Решение граничных задач для обыкновенных дифференциальных уравнений 107

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ 110

71 Одномерная линейная аппроксимация 110 72 Одномерная сплайн-интерполяция и сплайн-аппроксимация 111 73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация 112

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ 114 81 Функции для линейной регрессии 114 82 Функция для линейной регрессии общего вида 115 83 Функции для одномерной и многомерной полиномиальной регрессии 116 84 Функция для нелинейной регрессии общего вида 118 85 Функции сглаживания данных 119 86 Функция предсказания 120

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ 122

91 Прерывание цикла с помощью операторов break и continue Оператор return 125 92 Ключевое слово continue 126

ЛАБОРАТОРНЫЕ РАБОТЫ 128 САМОСТОЯТЕЛЬНЫЕ РАБОТЫ 141 СПИСОК ЛИТЕРАТУРЫ 150

5

ПРЕДИСЛОВИЕ

Интегрированная компьютерная система MathCAD (Mathema-tical Computer Aided Design) является одной из самых распростра-ненных в мире программных сред предназначенных для решения широкого круга математических задач Программа MathCAD позво-ляет моделировать в электронном документе научно-технические расчеты в форме близкой к общепринятому в математике виду MathCAD имеет мощный математический аппарат в виде библиоте-ки встроенных программ реализующих множество математических алгоритмов Система поддерживает как численные так и аналити-ческие операции В ней можно работать без программирования В MathCAD есть собственные текстовый формульный и графиче-ский редакторы возможность использования трехмерной графики

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

6

1 РАБОТА В СРЕДЕ MATHCAD

11 Интерфейс пользователя

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

Рис 1

111 Главное меню системы

Вторая строка окна системы ndash главное меню Назначение его команд приведено на рис 2

Рис 2

7

Рассмотрим эти команды File (Файл) ndash работа с файлами сетью Интернет и электронной

почтой Ниспадающее меню содержит команды стандартные для

Windows-приложений Edit (Правка) ndash редактирование документов Ниспадающее меню также содержит команды стандартные

для Windows-приложений Большинство из них доступны только в случае если в документе выделены одна или несколько областей (текст формула график и тд)

View (Обзор) ndash изменение средств обзора Toolbars (Панели инструментов) ndash позволяет отображать или

скрывать панели инструментов Standart (Стандартная) Formatting (Форматирования) Math (Математика)

Status bar (Строка состояния) ndash включение или отключение отображения строки состояния системы

Ruler (Линейка) ndash установка мерной линейки Regions (Границы) ndash делает видимыми границы областей (тек-

стовых графических формул) Zoom (Масштаб) ndash увеличивает или уменьшает размер доку-

мента при изменении масштаба Refresh (Обновить) [Ctrl+R] ndash обновление содержимого экрана Animate (Анимация) ndash команда позволяющая создать анимацию Playback (Проигрыватель) ndash воспроизведение анимации хра-

нящейся в файле с расширением AVI Preferences (Настройки) ndash одна из вкладок всплывающего окна

(General) позволяет задать некоторые параметры работы програм-мы не влияющие на вычисления другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet

Insert (Вставка) ndash команды этого меню позволяют помещать в MathCAD-документ графики функции гиперссылки компоненты и встраивать объекты

Format (Формат) ndash изменение формата объектов Equation (Уравнение) ndash форматирование формул и создание

собственных стилей для представления данных Result (Результат) ndash позволяет задать формат представления

результатов вычислений Text (Текст) ndash форматирование текстового фрагмента (шрифт

размер начертание)

8

Paragraf (Абзац) ndash изменение формата текущего абзаца (от-ступы выравнивание)

Tabs (Табуляция) ndash задание позиций маркеров табуляции Style (Стиль) ndash оформление текстовых абзацев Properties (Свойства) ndash вкладка Display (Отображение) поз-

воляет задать цвет фона для наиболее важных текстовых и графиче-ских областей вставленный в документ рисунок ( Insert Picture ) позволяет заключить его в рамку вернуть ему первоначальный размер

Вкладка Calculation (Вычисление) позволяет для выделенной формулы включить и отключить вычисление в последнем случае в правом верхнем углу области формулы появляется маленький чер-ный прямоугольник и формула превращается в комментарий

Graf (График) позволяет менять параметры отображения графиков

Separate regions (Разделить области) ndash позволяет раздвигать перекрывающиеся области

Align regions (Выровнять области) ndash выравнивает выделенные области по горизонтали или по вертикали

HeadersFooters (Колонтитулы) ndash создание и редактирование колонтитулов

Repaganite Now (Перенумерация страниц) ndash производит раз-бивку текущего документа на страницы

Math (Математика) ndash управление процессом вычислений в MathCAD существует два режима вычислений автоматический и ручной В автоматическом режиме результаты вычислений полно-стью обновляются при каком-либо изменении в формуле

Automatic Calculation (Автоматическое вычисление) ndash позво-ляет переключать режимы вычислений

Calculate (Вычислить) ndash при ручном режиме вычислений поз-воляет пересчитать видимую часть экрана

Calculate Worksheet (Просчитать документ) ndash пересчет всего документа целиком

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

Options (Параметры) ndash позволяет задавать параметры вычис-лений

9

Symbolik (Символика) ndash выбор операций символьного процес-сора

Window (Окно) ndash управление окнами системы Help (Справка) ndash работа со справочной базой данных о системе MathCAD Help (Справка по MathCAD) ndash содержит три вклад-

ки Содержание ndash справка упорядочена по темам Указатель ndash предметный указатель Поиск ndash находит нужное понятие при вводе его в форму

Resource Center (Центр ресурсов) ndash информационный центр содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials) быструю справку в виде примеров из раз-личных областей математики (Quicksheets and Reference tables)

Tip of the Day ndash всплывающие окна-подсказки с полезными со-ветами (возникают при загрузке системы)

Open Book (Открыть книгу) ndash позволяет открыть справочник системы MathCAD

About MathCAD (О программе MathCAD) ndash информация о вер-сии программы авторских правах и пользователе

Каждая позиция главного меню может быть сделана активной Для этого достаточно указать на нее курсором ndash стрелкой мыши и нажать ее левую клавишу Можно также нажать клавишу F10 и ис-пользовать клавиши перемещения вправо и влево Затем выбор фиксируется нажатием клавиши ввода Enter Если какая-либо пози-ция главного меню делается активной она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций Перемещение по списку подменю и выбор нужной операции производятся аналогично тому как это описано для главного меню

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

Третью строку окна системы занимает панель инструментов

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

Рис 3

10

Кнопки операций с файлами Документы системы MathCAD являются файлами Файлы

можно создавать загружать (открывать) записывать и распечаты-вать на принтере Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок

New Worksheet (Создавать) ndash создание нового документа с очисткой окна редактирования

Open Worksheet (Открыть) ndash загрузка ранее созданного доку-мента из диалогового окна

Save Worksheet (Cохранить) ndash запись текущего документа с его именем

Печать и контроль документов

Print Worksheet (Печать) ndash распечатка документа на принтере Print Preview (Просмотр) ndash предварительный просмотр доку-

мента Check Speling (Проверка) ndash проверка орфографии документа

Кнопки операций редактирования Во время подготовки документов их приходится редактиро-

вать те видоизменять и дополнять с помощью следующих кнопок Cut (Вырезать) ndash перенос выделенной части документа в бу-

фер обмена с очисткой этой части документа Copy (Копировать) ndash копирование выделенной части докумен-

та в буфер обмена с сохранением выделенной части документа Paste (Вставить) ndash перенос содержимого буфера обмена в ок-

но редактирования на место указанное курсором мыши Undo (Отменить) ndash отмена предшествующей операции редак-

тирования Три последние операции связаны с применением буфера об-

мена Он предназначен для временного хранения данных и их пере-носа из одной части документа в другую либо для организации об-мена данными между различными приложениями

Кнопки размещения блоков

Документы состоят из различных блоков текстовых фор-мальных графических и тд Блоки просматриваются системой ин-

11

терпретируются и исполняются Просмотр идет справа налево и снизу вверх

ndash Align Across (Выровнять по горизонтали) ndash блоки вы-равниваются по горизонтали

ndash Align Down (Выровнять вниз) ndash блоки выравниваются по вертикали располагаясь сверху вниз

Пиктограммы этих кнопок изображают блоки и указанные ва-рианты их размещения

Кнопки операций с выражениями

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

Следующие группы кнопок являются специфичными именно для системы MathCAD (рис 4)

Рис 4

ndash Insert Function (Вставить функции) ndash вставка функции из списка появляющегося в диалоговом окне

ndash Insert Unit (Вставить единицы) ndash вставка единиц измере-ния

ndash Calculate (Пересчитать) ndash вычисление выделенного вы-ражения

ndash Insert Giperlink (Включение гиперссылки) ndash обеспечивает создание гиперссылки

ndash Component Wizard (Мастер компонентов) ndash открывает окно Мастера дающего удобный доступ ко всем компонентам си-стемы

ndash Run Math Connex (Запуск системы Math Connex) ndash за-пуск системы для стимулирования блочнозаданных устройств

Кнопки управления ресурсами

ndash Resource Center (Центр ресурсов) ndash дает доступ к центру ресурсов (см рис 4)

MathCAD 2000 Professional

12

ndash Help (Справка) ndash дает доступ к ресурсам справочной базы данных системы

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

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами

Style ndash Переключатель выбора стилей Font ndash Переключатель выбора набора символов Point Size ndash Переключатель выбора размеров символов Bold ndash Установка жирных символов Italik ndash Установка наклонных символов Underline ndash Установка подчеркнутых символов Left Align ndash Установка левостороннего выравнивания Center Align ndash Установка выравнивания по центру Right Align ndash Установка правостороннего выравнивания До тех пор пока не начат набор элементов документа часть

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

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

113 Наборные математические панели инструментов

Для ввода математических знаков в MathCAD используются

удобные перемещаемые наборные панели со знаками (рис 5) Они служат для вывода заготовок ndash шаблонов математических знаков (цифр знаков арифметических операций матриц знаков интегра-лов производных и тд) Для вывода панели Math необходимо вы-полнить команду View Toolbar Math Наборные панели появ-ляются в окне редактирования документов при активизации

13

соответствующих пиктограмм ndash первая линия пиктограмм управле-ния системой Используя общую наборную панель можно вывести или все панели сразу или только те что нужны для работы Для установки с их помощью необходимого шаблона достаточно поме-стить курсор в желаемое место окна редактирования (красный кре-стик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона установив на него курсор мыши и нажав ее ле-вую клавишу

Рис 5

Многие функции и операции которые вставляются в документ

с помощью наборных математических панелей могут быть поме-щены в документ с помощью laquoбыстрых клавишraquo При этом работа в системе MathCAD становится более продуктивной Рекомендуем запомнить сочетания клавиш хотя бы для некоторых наиболее часто употребляемых команд

12 Входной язык системы MathCAD Типы данных

MathCAD обладает специализированным входным языком

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

14

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

121 Алфавит MathCAD 2000 PRO

Алфавит входного языка системы определяет совокупность символов и слов которые используются при задании команд необ-ходимых для решения интересующего пользователя класса задач Алфавит системы MathCAD содержит

minus строчные и прописные латинские буквы minus строчные и прописные греческие буквы minus арабские цифры от 0 до 9 minus системные переменные minus операторы minus имена встроенных функций minus спецзнаки minus строчные и прописные буквы кириллицы (при работе с ру-

сифицированными документами) К укрупненным элементам языка относятся типы данных опе-

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

Для ввода греческих букв можно использовать панель набор-ных знаков Greek включаемую кнопкой на панели Math Кроме того в MathCAD предусмотрена возможность набора греческих букв с помощью клавиш Для этого достаточно набрать соответ-ствующую английскую букву и нажать комбинацию клавиш [Ctrl+G]

122 Числовые константы

Константами называют поименованные объекты хранящие некоторые значения которые не могут быть изменены В качестве имени числовых констант используются их числовые значения В системе MathCAD используются и числовые константы значени-ями которых являются числа с разной системой исчисления деся-тичные восьмеричные или шестнадцатеричные

15

Числовые константы задаются с помощью арабских цифр де-сятичной точки (а не запятой) и знака ndash (минус) Например

123 ndash целочисленная десятичная константа 123 ndash десятичная константа с дробной частью

5123 10 ndash десятичная константа с мантиссой 123 и поряд-ком ndash5

Порядок числа вводится умножением мантиссы на 10 в степе-ни определяющей порядок Знак умножения при выводе числа на экран меняется на привычную математическую точку а операция возведения в степень (с применением спецзнака ^) отображается пу-тем представления порядка в виде надстрочного элемента Десятич-ные числа имеют основание 10 Диапазон их возможных значений лежит в пределах от 10 ^ 307 до 10 ^ 307 (это машинная бесконеч-ность и машинный нуль)

Система MathCAD может работать с восьмеричными и шест-надцатеричными числами Восьмеричные числа имеют основание 8 так что один их разряд может иметь значения от 0 до 7 Такие числа в конце отмечаются латинской буквой O (от слова octal ndash восьме-ричное) Шестнадцатеричные числа имеют основание 16 и их раз-ряд может иметь значения

HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный при-знак в виде буквы h или H (от слова hexagonal ndash шестнадцатерич-ное) Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal ndash десятичное) Если число шестнадцатеричное начинается с буквы (например ABCО) то си-стема будет путать его с возможным именем переменной Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (нуль)

123 Комплексные числа

Большинство вычислений система выполняет как с действи-тельными так и с комплексными числами которые обычно пред-ставляются в алгебраическом виде Re ImZ Z i Z или

Re ImZ Z j Z Здесь ReZ minusдействительная часть комплексного числа Z ImZ ndash его мнимая часть а символы i или j обозначают мни-

16

мую единицу те корень квадратный из ndash1 Такое представление характерно для системы MathCAD Однако система не всегда знает какой символ применить для обозначения мнимой единицы Поэто-му перед использованием любых операций с комплексными числа-ми полезно вначале определить i или j как мнимую единицу (те присвоить им значение квадратного корня из ndash1)

124 Строковые константы

Строковая константа ndash это строка заключенная в кавычки например laquoMy nameraquo В строковую константу могут входить один или несколько символов либо слов

125 Переменные

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

Идентификатор начинается только с буквы например X 1X Идентификатор не должен содержать пробелов Нельзя использо-вать для идентификаторов буквы русского языка Идентификаторы не могут совпадать с именами встроенных или определенных поль-зователем функций

126 Системные переменные

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

17

Таблица 1

Системные переменные

Объект Клавиши Назначение

π Alt+Ctrl+P Число пи (314)

е E Основание натурального логарифма (272)

Ctrl+Z Системная бесконечность (10^307)

Процент (001)

TOL Погрешность численных методов (0001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Ширина столбцов (в символах) для операто-ра WRITEPRN (8)

PRNPRECISSION Число десятичных знаков используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

127 Операторы

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

128 Встроенные функции

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

18

Элементарные встроенные математические функции

Элементарные функции представим в табл 27 Таблица 2

Тригонометрические функции

sin( )z Синус cos( )z Косинус tan( )z Тангенс sec( )z Секанс csc( )z Косеканс cot( )z Котангенс

Таблица 3

Гиперболические функции

sinh( )z Гиперболический синус cosh( )z Гиперболический косинус tanh( )z Гиперболический тангенс sech( )z Гиперболический секанс csch( )z Гиперболический косеканс coth( )z Гиперболический котангенс

Таблица 4

Обратные тригонометрические функции

sin( )A z Обратный тригонометрический синус cos( )A z Обратный тригонометрический косинус tan( )A z Обратный тригонометрический тангенс

Таблица 5

Обратные гиперболические функции

sinh( )A z Обратный гиперболический синус cosh( )A z Обратный гиперболический косинус tanh( )A z Обратный гиперболический тангенс

Таблица 6

Показательные и логарифмические функции

exp( )z Экспоненциальная функция ln( )z Натуральный логарифм (по основанию e) log( )z Десятичный логарифм (по основанию 10)

Таблица 7

Функции комплексного аргумента

Re( )z Выделение действительной части z Im( )z Выделение мнимой части z Arg( )z Вычисление аргумента (фазы)

19

Специальные встроенные математические функции

Функции Бесселя К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя являю-щиеся решениями некоторых дифференциальных уравнений второ-го порядка (табл 8)

Таблица 8 Список функций Бесселя

0J x Функция Бесселя первого рода нулевого порядка 0I x Модифицированная функция Бесселя первого рода нулевого порядка 0Y x Функция Бесселя второго рода нулевого порядка

0K x Модифицированная функция Бесселя второго рода нулевого порядка

1J x Функция Бесселя первого рода первого порядка 1I x Модифицированная функция Бесселя первого рода первого порядка 1Y x Функция Бесселя второго рода первого порядка 1K x Модифицированная функция Бесселя второго рода первого порядка Jn n x Функция Бесселя первого рода n-го порядка In n x Модифицированная функция Бесселя первого рода n-го порядка Yn n x Функция Бесселя второго рода n-го порядка Kn n x Модифицированная функция Бесселя второго рода n-го порядка

Гамма-функция В системе MathCAD предусмотрено вычис-

ление гамма-функции G(z) Она широко применяется и в статисти-ческих расчетах В них используется также функция ошибок erf(x) называемая еще интегралом вероятности

Дополнительные неактивные функции При загрузке сим-вольного процессора система распознает ряд дополнительных спе-циальных функций например таких как в табл 9

Таблица 9 Дополнительные неактивные функции

FresnelC x Интеграл Френеля С(х) FresnelS x Интеграл Френеля S(x)

Ci x Интегральный косинус Si x Интегральный синус Ei x Интегральная показательная функция

dilog x Дилогарифм erf z Интеграл ошибок для комплексного аргумента z

lnPsi x d dx Go x пси-функция

Psi n x n-я производная пси-функции

20

Функции с условиями сравнения

Функции приведены в табл 10 Таблица 10

Числовые функции с условиями сравнения

( )ceil х Наименьшее целое большее или равное x ( )Floor х Наибольшее целое большее или равное x

mod( )х Остаток от деления xy со знаком x ( )angel х Положительный угол с осью x для точки с координатами (xy)

( )Ф х Функция Хевисайда ndash единичного скачка (дает 0 при 0x и 1 в противном случае)

d m n Функция именуемая символом Кронекера возвращающая 1 при m = n и 0 в противном случае

129 Функция условных выражений

Для создания условных выражений более широкие возможно-сти дает функция if

if (Условие Выражение 1 Выражение 2)

Если в этой функции условие выполняется то будет вычис-ляться выражение 1 в противном случае ndash выражение 2

1210 Математические выражения

Функции могут входить в математические выражения напри-мер в выражении

2ln 1Y x

где Y ndash переменная 1 и 2 ndash числовые константы знаки laquoraquo и laquo+raquo ndash операторы ln(x) ndash встроенная функция с аргументом х При выпол-нении символьных операций переменные π и e используются только в символьном виде К примеру число 2π равно 628314hellip и выводится как 2π а не как приближенное численное значение

13 Ввод и редактирование данных

131 Ввод и редактирование формул и текста

В MathCAD-документе курсор ввода имеет вид красного кре-стика Этот крестик указывает в каком месте рабочего листа будет

21

произведено следующее действие Установив указатель мыши в нужном месте документа и выполнив щелчок вы перемещаете туда крестик (можно использовать стрелки а не мышь) Указатель в виде крестика может принимать другие формы

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

этот голубой курсор можно только с помощью клавиш-стрелок Если при перемещении красного курсора-крестика вы вторг-

лись в область формулы курсор автоматически принимает форму голубого курсора формул

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

Если вам не нравится взаимное распо-ложение областей в документе его можно изменить

ndash установите курсор-крестик на пустом месте документа

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

ndash установите курсор на одну из выделен-ных областей (курсор примет вид черной руки)

ndash удерживая нажатой левую клавишу мыши переместите выделенные области в требуемое место

При вводе текстовой области (клавиша []) курсор-крестик имеет вид вертикальной

красной черты При этом текстовая область окружена черной рамкой

Если вы уже вводите текст забыв создать текстовую область (те MathCAD воспринимает введенный текст как формулу) то до-статочно нажать клавишу пробела и MathCAD преобразует форму-лу в текст Преобразование в обратном направлении невозможно

Остановимся подробнее на свойствах голубого курсора фор-мул Для этого рассмотрим пример Предположим что MathCAD не

22

известна функция cosh (гиперболический косинус) и нам необхо-димо ввести определение

2

x xe ef x

Введем последовательность символов

^ ^ 2f x e x e x

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

Однако в MathCAD предусмотрены более экономичные мето-ды редактирования и ввода С помощью клавиши пробела можно увеличить область выделения ndash у голубого курсора появляется го-ризонтальный след Отмеченный следом курсора фрагмент форму-лы как бы подразумевается заключенным в скобки

Введенную выше формулу можно ввести по-другому

^ ^ 2f x e x Пробел e x Пробел Пробел Пробел

След курсора позволяет снабжать фрагменты формул мнимы-ми скобками таким образом что последующая математическая опе-рация относится ко всему выражению отмеченному следом курсо-ра те заключенному в мнимые скобки

Часто бывает необходимым все-таки заключение в скобки не-которой части введенного выражения Для этого достаточно выде-лить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу [] (апостроф) Обычно курсор со сле-дом при вводе формул имеет вид уголка направленного вправо (след направлен влево от курсора) предлагая вправо ввести необхо-димые значения А что делать если вы пропустили какую-то часть формулы или необходимо подправить выражение и дописать кое-что слева Для этого можно воспользоваться клавишей [Ins]

Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода В режиме вставки след курсора направлен впра-во и вводимые символы появляются слева от курсора

23

При редактировании формул случаются ошибки На этот слу-чай в меню Edit имеется команда Undo отменяющая последнее дей-ствие Того же результата можно достичь воспользовавшись соот-ветствующей кнопкой панели инструментов Standart или комби-нацией клавиш [Alt+Backspace]

Для удаления отдельных чисел или фрагментов формул ис-пользуется клавиша [Backspace] ndash если курсор находится в режиме ввода и клавиша [Del] ndash если курсор находится в режиме вставки Для удаления больших частей формул удобнее воспользоваться мышью выделив соответствующий фрагмент (протащить по нему мышь с нажатой левой кнопкой) и нажав клавишу [Del]

В MathCAD существует возможность разбивки больших вы-ражений на строки если выражение состоит из нескольких слагае-мых Для этого

minus выполните щелчок на операнде который по вашему мне-нию следует перенести на следующую страницу

minus увеличьте след курсора в режиме вставки таким образом чтобы отметить всю правую часть формулы

minus нажмите клавишу Backspace Стоящий перед курсором знак laquo+raquo будет удален При этом обе части формулы заключаются в скобки

minus нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки)

Если же там где оканчивается строка находится знак вычита-ния то необходимо удалить символ разности minus минус minus и произвести перевод строки При этом MathCAD превратит разность в сумму что сделает результат неправильным Но погрешность можно компенси-ровать присвоив первому слагаемому во второй строке знак laquoraquo

Если вы по ошибке удалили знак умножения и осуществили перенос строки то результат будет неправильным поскольку MаthCAD заменит умножение сложением Разбивка на строки не может применяться для выражений результаты вычислений кото-рых получены в символьном виде

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

Обычные переменные отличаются от системных тем что они должны быть предварительно определены пользователем В каче-стве оператора присваивания используется знак Если перемен-ной присваивается начальное значение с помощью оператора та-кое присваивание называется локальным

24

С помощью знака (три горизонтальные черточки) который

вводится клавишей [~] (тильда) можно обеспечить глобальное при-сваивание те оно может производиться в любом месте документа Для вывода результата или для контроля значений переменных ис-пользуется обычный знак равенства = (если выводится численный результат) или знак символьного равенства (стрелка) если вы-числения производятся в символьном виде Для ввода стрелки мож-но использовать клавиши [Ctrl+] или соответствующую кнопку наборной панели Symbolic

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

25

133 Определение функций пользователя

При определении функций пользователя так же как и при определении переменных могут быть использованы знаки локаль-

ного и глобального присвоения При этом с использованием знака глобального присваивания функ-ция может быть определена в лю-бом месте документа

Синтаксис определения функции

_ arg1arg 2arg Name Func N Выражение

Здесь _Name Func ndash имя функции arg1arg 2arg N ndash аргу-менты функции Выражение ndash любое выражение содержащее до-ступные системе операторы и функции с операндами и аргумента-ми указанными в списке параметров

134 Ранжирование переменных

Ранжированные переменные ndash особый класс переменных который в системе MathCAD зачастую заменяет управляющие структуры называемые циклами Эти переменные имеют ряд фик-сированных значений с определенным шагом меняющихся от начального значения до конечного

Ранжированные переменные характеризуются именем и ин-дексом каждого своего элемента Например Name Nbegin Nend

где Name ndash имя переменной Nbegin ndash ее начальное значение Nend ndash конечное значение ndash символ указывающий на изменение переменной в заданных пре-делах (он вводится знаком точки с запя-той ) Если Nbegin Nend то шаг изменения переменной будет +1 в про-тивном случае ndash ( 1 )

26

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

Step заданный шаг переменной

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

Любое выражение с ранжиро-ванными переменными после знака равенства инициирует таблицу вы-

вода Полезно учитывать некоторые свойства таблиц вывода minus число строк в них не может быть больше 50 minus числа в таблицах можно задавать в требуемом формате с по-

мощью операций задания формата чисел minus при использовании в таблице единиц размерности все дан-

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

jX выводится обычная таблица вывода

X выводится вектор если число его элементов меньше 10 X выводится таблица вывода со слайдером если число эле-

ментов вектора больше 10 В таблице вывода можно и вставлять числовые значения и

корректировать их Индексированные переменные образующиеся в результате за-

дания ранжированных переменных могут применяться в последу-ющих формульных блоках

Однако при этом необходимо соблюдать соответствие результа-тов (конечных и промежуточных) векторному типу этих переменных Необходимо помнить что ранжированная переменная minus это вектор

Обратите внимание что в приведенном примере ранжирован-ная переменная i принимает значения 1 2 3 и 4 А вектор g опреде-ленный через ранжированную переменную i содержит 5 элементов

27

Это связано с тем что по умолчанию началом отсчета индексов в MathCAD является нуль

135 Массивы (векторы матрицы)

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

Индексация элементов массивов Порядковый номер эле-мента который является его адресом называется индексом

Нижняя граница индексации задается значе-нием системной переменной ORIGIN которая может принимать значение 0 или 1 Для смены начала индексации можно прямо в документе присвоить переменной ORIGON соответствующее значение или сделать это через позицию Math

главного меню подменю Options используя вкладку Build-In Variables (Встроенные переменные)

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

числовые значения элементов они раз-личны по типу и при использовании да-дут разные результаты при векторных и матричных операциях Для ввода векторов и матриц можно

использовать кнопку панели набор-ных математических элементов Matrix

28

которая в свою очередь включается нажатием соответствующей кнопки на панели Math Но гораздо проще использовать сочетание клавиш [Ctrl+M] Оба вышеуказанных действия приводят к появле-нию диалогового окна Insert Matrix в котором необходимо указать число строк и столбцов для вводимой матрицы (вектора)

В результате в документе появляется шаблон матрицы который можно заполнить требуемыми данными Пере-ход от символа к символу внутри шаблона совершается с помощью клавиши Tab (Табуляция)

Массив можно определить и вручную поэлемент-но Для указания нижнего индекса используется клави-

ша [ (квадратная скобка) Если индекс двойной (у матрицы) то ин-дексы вводятся через запятую

Заполнение массивов может быть организовано с помощью ранжированных переменных и функций пользователя

136 Операторы системы MathCAD

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструи-рования математических выражений В табл 1113 приведены раз-личные операторы системы MathCAD

29

Таблица 11 Арифметические операторы

Оператор Ввод Назначение оператора X Y X Y Локальное присваивание X значения Y

X Y X Y Глобальное присваивание X значения Y X X Вывод значения X

X X Смена знака X X Y X Y Суммирование X с Y X Y X Y Вычитание из X значения Y

X Y X Y Умножение X на Y X Y X Y Деление X на Y

YX ^X Y Возведение X в степень Y

X X Вычисление квадратного корня из X X X Вычисление факториала

Z | Z Вычисление модуля комплексного Z

Z Z ldquo Вычисление комплексно-сопряженного с Z числа () lsquo Ввод пары круглых скобок с шаблоном ( ( Ввод открывающей скобки ) ) Ввод закрывающей скобки

nX X n Ввод нижнего индекса n nX X Ctrl n Ввод верхнего индекса n

Таблица 12 Расширенные арифметические операторы

Оператор Ввод Назначение оператора $ Вычисление суммы

Вычисление произведения

f Вычисление производной b

a

amp Вычисление определенного интеграла

Применение расширенных операторов значительно облегчает решение математических задач

Таблица 13 Операторы отношения (логические операторы)

Оператор Ввод Назначение оператора X Y X Y X больше Y X Y X Y X меньше Y X Y X Ctrl Y X больше или равно Y

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

X Y X Ctrl Y X не равно Y X Y X Ctrl Y X равно Y

30

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

137 Программные операторы в MathCAD

В системе MathCAD можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами Это реализуется использованием встроенных программных операторов похожих на используемые в различных языках программирования (рис 6) Как видно на рис 7 и 8 где вычисляется факториал про-граммный модуль в системе MathCAD превратился в самостоятель-ный блок причем при необходимости выполнить несколько опера-торов их объединяют жирной вертикальной чертой

Рис 6 Рис 7 Рис 8

Модуль может вести себя как безымянная функция без пара-

метров но возвращающая результат ndash первый пример Программ-ный модуль может выполнять и роль тела функции пользователя с именем и параметрами ndash второй пример

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

Add Line ndash создает и при необходимости расширяет жирную вертикальную линию справа от которой в шаблонах задается запись программного блока

31

ndash символ локального присваивания (в теле модуля) if ndash условный оператор for ndash оператор задания цикла с фиксированным числом повто-

рений while ndash оператор задания цикла действующего до тех пор по-

ка выполняется некоторое условие otherwise ndash оператор иного выбора (обычно применяется с if) break ndash оператор прерывания continue ndash оператор продолжения return ndash оператор возврата on error ndash оператор обработки ошибок Оператор добавления линии Add Line выполняет функции

расширения программного блока Расширение фиксируется удлине-нием вертикальной черты программных блоков или их древовид-ным расширением Благодаря этому в принципе можно создавать сколь угодно большие программы

Оператор внутреннего присваивания выполняет функ-ции внутреннего локального присваивания Например выражение

123x присваивает переменной x значение 123 Локальный харак-тер присваивания означает что такое значение х сохраняет только в теле программы За пределами тела программы значение перемен-ной х может быть неопределенным либо равно значению которое задается вне программного блока операторами локального = или глобального присваивания

Условный оператор if является оператором для создания условных выражений Он задается в виде

Выражение if Условие Если условие выполняется то возвращается значение выраже-

ния Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise

Оператор цикла for служит для организации циклов с задан-ным числом повторений Он записывается в виде

for Var NminhellipNmax

Эта запись означает что выражение помещенное в распо-ложенный ниже заменитель будет выполняться для значений переменной Var меняющихся от Nmin до Nmax с шагом +1 Пере-менную счетчика Var можно использовать в исполняемом выра-жении

32

Оператор цикла while служит для организации циклов дей-ствующих до тех пор пока выполняется некоторое условие Этот оператор записывается в виде

while Условие

Выполняемое выражение записывается на место расположен-ного ниже заполнителя

Оператор иного выбора otherwise обычно используется сов-местно с оператором if Это поясняет следующая программная кон-струкция

1 0

1

if xf x

otherwise

Здесь f x получает значение 1 если 0x и ndash1 во всех

остальных случаях Оператор прерывания break вызывает прерывание работы про-

граммы всякий раз когда он встречается Чаще всего он использу-ется совместно с оператором условного выражения if и операторами циклов while и for обеспечивая переход в конец тела цикла

Оператор продолжения continue используется для продолже-ния работы после прерывания программы Он также чаще всего ис-пользуется совместно с операторами задания циклов while и for обеспечивая возвращение в точку прерывания и продолжение вы-числений

Оператор возвращения return прерывает выполнение про-граммы и возвращает значение операнда стоящего следом за ним Например конструкция

0 0return if x

будет возвращать значение 0 при любом 0x Оператор и функция обработки ошибок позволяют создавать

конструкции обработчиков ошибок Этот оператор задается в виде

_1 _ 2Выражение on error Выражение

Здесь если при выполнении _1Выражения возникает ошибка то выполняется _ 2Выражение Для обработки ошибок полезна так-

же функция error S которая будучи помещенной в программный

модуль при возникновении ошибки выводит всплывающую под-сказку с надписью хранящейся в символьной переменной S

33

Программный модуль в сущности является функцией но опи-санной с применением упомянутых программных средств Она воз-вращает значение определяемое последним оператором (если не предусмотрено иное с помощью оператора return) Это значит что после такого модуля выделенного как целый блок можно поста-вить знак равенства для вывода результата его работы (см рис 8) В блоке могут содержаться любые операторы и функции входного языка системы Для передачи в блок значений переменных можно использовать переменные документа которые ведут себя в блоке как глобальные переменные

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

14 Настройка MathCAD для работы

141 Настройка параметров вычислений

Для настройки параметров вычислений необходимо выбрать команду Options (Параметры) меню Math (Математика) При этом на экране появится диалоговое окно (Свойства) содержащее сле-дующие вкладки

Built-In Variabls (Встроенные переменные) ndash позволяет уста-новить значения встроенных системных переменных влияющих на точность вычислений и параметры некоторых функций системы

Calculation (Вычисление) ndash эта вкладка содержит две опции задающие режим автоматических вычислений и оптимизации вы-ражений перед вычислением

Display (Отображение) ndash позволяет форматировать вид сим-волов отображающих основные операторы системы (умножение деление локальное и глобальное присваивание и др)

34

Unit System (Система единиц) ndash позволяет выбрать систему единиц для размерных величин SI MKS CGS Us и None (не ис-пользуется ни одна из этих систем)

Dimensions (Размерность) ndash позволяет изменить формат раз-мерных величин (на вкладке содержится их перечень) Для этого надо laquoвключитьraquo опцию Display Dimensions (Просмотр размерно-стей)

Остановимся подробнее на изучении параметров вкладки Built-In Variabls (Встроенные переменные) Здесь можно изменить значения системных констант и переменных К ним относятся

Array Origin (ORIGIN) ndash начальное значение для индексов Например трехмерный вектор v при ORIGIN=0 (по умолчанию) имеет компоненты v0 v1 v2

Convergence Tolerance (TOL) ndash допустимое отклонение MathCАD использует эту переменную при различных численных расчетах таких как вычисление определенных интегралов и при решении уравнений с использованием функций root и polyroots По умолчанию TOL=10minus3

Constraint Tolerance (CTOL) ndash задает точность вычислений при использовании блока решений уравнений и систем Блок начинается со слова Given и заканчивается словами Find Minerr и др По умол-чанию CTOL = 10minus3

Seed value for random numbers ndash определяет интервал от 0 до указанного в поле значения из которого функция rnd(x) генери-рует x случайных чисел Возможность менять этот интервал позво-ляет получать разные последовательности случайных чисел

35

Presision (PRNPRESISION) ndash задает точность числовых значений которые помещаются в файл создаваемый функцией WRITEPRN

Column Width (PRNCOLWIDTH) ndash задает ширину столбца (в символах) при создании файлов с помощью функции WRITEPRN

Кнопка Restore Defaults (Восстановить по умолчанию) позво-ляет вернуть стандартно установленные в системе MathCAD пара-метры вычислений (те те что установлены по умолчанию) если внесенные вами изменения в системные переменные вас не устраи-вают Значения переменных по умолчанию указаны справа от по-лей предназначенных для ввода

142 Форматирование результатов вычислений

MathCAD представляет результаты вычислений в определен-

ном формате Этот формат включает в себя например число знаков после запятой величину начиная с которой используется экспонен-циальное представление чисел символ i или j для представления мнимой единицы и многое другое Чтобы задать формат представ-ления результатов вычислений надо выбрать команду Result (Ре-зультат) меню Format (Формат) В результате на экране появится диалоговое окно Result Format содержащее несколько вкладок

На вкладке Number format (Формат числа) находятся Поле Number of decimal places (Число десятичных знаков)

в котором задается количество отображаемых знаков после запятой (по умолчанию ndash 3)

36

Опция Show trailing zeroz (Показывать конечные нули) если установлена эта опция все числа будут отображаться с тем количе-ством знаков после запятой которое указано в поле Number of decimal places даже если без этого можно обойтись В этом случае число 5 будет иметь вид 5000 а число 0 ndash 0000

Поле Exponential threshold (Порог экспоненты) здесь необ-ходимо задать целое число n Оно указывает что числа x для кото-

рых справедливы неравенства 10nx и 110 nx представляются

в экспоненциальной форме Числу n можно присваивать значения от 0 до 15 по умолчанию 3n MathCAD производит вычисления с точностью 15 знаков после запятой

Опция Show exponents in engeneering format (Показывать экс-поненты в инженерном формате) всегда представляет число в экспоненциальном формате если показатель степени больше 3 или меньше 3 выделяя при этом 3 целых и 3 десятичных разряда В противном случае число отображается в явном виде например число 2233446 при включении опции будет выглядеть как

3223344 10 Список Format (Формат) ndash позволяет выбрать формат пред-

ставления чисел Выделим среди указанных в списке формат Decimal ndash при его выборе результат никогда не представляется в экспоненциальной форме Остальные форматы могут представлять числа в экспоненциальной форме Более подробно с видами форма-тов можно познакомиться нажав кнопку Справка

На вкладке Tolerance (Допуск) находятся поля Complex threshold (Комплексный порог) и Zero threshold (Нулевой порог)

Целое число n заданное в поле Complex threshold указывает что комплексные числа z для которых справедливо неравенство

Re Im 10 nz z представляются как чисто мнимые Числа для

которых Im Re 10 nz z ndash как действительные При вычисле-

ниях MathCAD не пренебрегает даже незначительной мнимой Чис-лу n можно присваивать значения от 0 до 63 по умолчанию 10n

Целое число n заданное в поле Zero threshold указывает что

числа x для которых справедливо неравенство 10 nx принимают-

ся равными 0 Числу n можно присваивать значения от 0 до 307 по

умолчанию 15n Для комплексных чисел у которых Re 10 nz

действительная часть принимается равной нулю то же самое спра-

37

ведливо и для мнимой части Значение заданное в поле Zero threshold действительно для всего документа

Вкладка Display Options содержит следующие поля и опции Matrix display style (Стиль отображения матриц) ndash выпада-

ющий список позволяет установить отображение матриц в стан-дартном математическом виде ndash Matrix в виде таблицы ndash Table либо предоставляет выбрать стиль представления матриц системе MathCAD ndash Automatic

При этом если матрица содержит менее 10 строк и столбцов она представляется в стандартном виде матрицы в противном слу-чае ndash в виде таблицы с полосами прокрутки По умолчанию уста-новлена опция Automatic

Опция Expand nested arrays (Развернуть вложенные массивы) ndash позволяет явно вывести элементы матрицы представляющие в свою очередь матрицы

Поле Imaginary value (Мнимая единица) ndash позволяет определить символ который будет использоваться для обозначения мнимой едини-цы (i или j)

В поле списка Radix (Система) ndash можно выбрать десятичную двоичную восьмеричную

или шестнадцатеричную систему счисления Вкладка Unit display (Отображение единиц измерения) со-

держит две опции Format Units (Формат единиц) ndash включает отоб-ражение единиц измерения Simplify units when possible ndash включает упрощение единиц измерения (если это возможно)

38

Окно Result Format можно открыть двойным щелчком на чис-ле представляющем собой результат вычислений

Если вы хотите увидеть точное значение некоторого числа не изменяя его формата выделите это число и нажмите клавиши [Ctrl+Shift+N] В строке состояния вы увидите данное число с 15 зна-ками после запятой

Если вы хотите применять выполненные установки и в других документах вам необходимо открыть соответствующий файл шаб-лона с расширением MCT из папки TEMPLATE и произвести в нем нужные изменения Кроме того вы можете сохранить текущий до-кумент как шаблон

39

2 ОПЕРАТОРЫ MATHCAD

21 Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD со-держит ряд операторов (табл 14) и функций Введем следующие обозначения для векторов ndash V для матриц ndash M и для скалярных ве-личин ndash Z

Таблица 14 Векторные и матричные операторы

Оператор Ввод Назначение оператора 1 2V V 1 2V V Сложение двух векторов V1 и V2 1 2V V 1 2V V Вычитание двух векторов V1и V2

V V Смена знака у элементов вектора V M M Смена знака у элементов матрицы M

V Z V Z Вычитание из вектора V скаляра Z Z V V Z Z V V Z Умножение вектора V на скаляр Z

MZ MZ MZ MZ Умножение матрицы M на вектор V 1 2V V 1 2V V Умножение двух векторов V1 и V2

M V M V Умножение матрицы M на вектор V M1M2 M1M2 Умножение двух матриц M1 и M2

V Z V Z Деление вектора V на скаляр Z M Z M Z Деление матрицы M на скаляр Z

1M M ^ 1 Обращение матрицы M

Mn M ^ n Возведение матрицы M в степень n

V Вычисление квадратного корня из μV

M Вычисление определителя матрицы M TV V Ctrl Транспонирование вектора V TM M Ctrl Транспонирование матрицы M

1 2V V 1 2V Ctrl V Кросс-умножение двух векторов V1 и V2 V rdquo Получение комплексно-сопряженного вектора Mrdquo Получение комплексно-сопряженной матрицы Alt $ V Вычисление суммы элементов вектора V V -Ctrl Векторизация вектора V M -Ctrl Векторизация матрицы M

M n M ^ nCtrl Выделение n-го столбца матрицы M

nV V n Выделение n-го элемента вектора V

Mm n M m n Выделение элемента (m n) матрицы M

Под понятием laquoвекторизацияraquo подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы Это можно понимать и как возможность параллельных вычислений

40

Если А и В ndash векторы то АВ дает скалярное произведение этих векторов Но то же произведение под знаком векторизации со-здает новый вектор каждый j-й элемент которого есть произведение j-х элементов векторов А и В Векторизация позволяет использовать скалярные операторы и функции с массивами

22 Векторные и матричные функции

Векторные и матричные функции представлены в виде табл 15 16

Таблица 15 Векторные функции

lenght V Возвращает длину вектора

last V Возвращает индекс последнего элемента

max V Возвращает максимальный по значению элемент

min V Возвращает минимальный по значению элемент

Re V Возвращает вектор действительных частей вектора с комплексными элементами

Im V Возвращает вектор мнимых частей вектора с комплексными элементами

i j k

Полностью асимметричный тензор третьей размерности i j k должны быть целыми числами от 0 до 2 (или между gt ORIGIN и ORIGIN+2 если ORIGINne0) Результат равен 0 если любые два аргумента равны 1 ndash если три аргумента являются четной перестановкой (0 1 2) и минус 1 если три аргумента являются перестановкой (0 1 2) кратной 2 и некратной 4

Таблица 16 Матричные функции

Augment (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие оди-наковое число строк (объединение идет laquoбок о бокraquo)

identity (n) Создает единичную квадратную матрицу размером nn

stack (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие одинаковое число столбцов располагая М1 над М2

Submatrix (A ir jr ic jc) Возвращает субматрицу состоящую из всех элементов содержащихся в строках с ir по jr и столбцов с ic по jc (irJjr и icJjc)

diag (V) Создает диагональную матрицу элемент главной диагонали которой ndash вектор V

matrix (m n f) Матрицу в которой (i j)-й элемент содержит f(i j) где i = 0 1 hellip m и j = 0 1 hellip n

Re (M) Возвращает матрицу действительных частей матрицы М с комплексными элементами

Im (M) Возвращает матрицу мнимых частей матрицы М с комплексными элементами

41

23 Функции возвращающие специальные характеристики матриц

Эти функции представлены в виде табл 17

Таблица 17

Функции возвращающие специальные характеристики матриц

сols(M) Возвращает число столбцов матрицы М rows (M) Возвращает число строк матрицы М rank (M) Возвращает ранг матрицы М

tr (M) Возвращает след (сумму диагональных элементов) квадратной матрицы М

mean (M) Возвращает среднее значение элементов массива М median (M) Возвращает медиану элементов массива М

cond1 (M) Возвращает число обусловленности матрицы вычисленное в норме L1

cond2 (M) Возвращает число обусловленности матрицы вычисленное в норме L2

conde (M) Возвращает число обусловленности матрицы вычисленное в норме евклидова пространства

condi (M) Возвращает число обусловленности матрицы основанное на равномерной норме

norm1 (M) Возвращает L1 норму матрицы М norm2 (M) Возвращает L2 норму матрицы М norme (M) Возвращает евклидову норму матрицы М normi (M) Возвращает неопределенную норму матрицы М

24 Дополнительные матричные функции Такие функции представлены в виде табл 18

Таблица 18

Дополнительные матричные функции

eigenvals (M) Возвращает вектор содержащий собственные значения матрицы М

eisenvec (M Z) Для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

eigenvecs (M)

Возвращает матрицу столбцами которой являются собствен-ные векторы матрицы М (порядок расположения собствен-ных векторов соответствует порядку собственных значений возвращаемых функцией eigenvals)

42

Окончание табл 18

genvals (M N) Возвращает вектор обобщенных собственных значений v соответствующий решению уравнения M x = vi ndash N minus x (матрицы М и N должны быть вещественными)

genvals (M N) Возвращает матрицу столбцы которой содержат нормированные обобщенные собственные векторы

+ lu (M) Выполняет треугольное разложение матрицы М P M = L U L и U minus соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные одного порядка

+ qr (A) Дает разложение матрицы A A = Q R где Q minus ортогональная матрица и R minus верхняя треугольная матрица

+ svd (A)

Дает сингулярное разложение матрицы А размером n times m A = = U S middotVT где U и V minus ортогональные матрицы размерностей mmiddotm и n times n соответственно S minus диагональная матрица на диагонали которой расположены сингулярные числа матрицы А

+ svds (A) Возвращает вектор содержащий сингулярные числа матрицы А размером m times n

Egeninv (A)

Возвращает матрицу левую обратную к матрице А LmiddotA=E где E ndash единичная матрица размером n times n L ndash прямоугольная матрица размером n times m A ndash прямоугольная матрица размером m times n

25 Функции сортировки для векторов и матриц

Функции сортировки представлены в табл 19

Таблица 19

Функции сортировки для векторов и матриц

Vsort Сортировка элементов векторов в порядке возрастания их значений

Vreverse Перестановка элементов (после sort) в обратном порядке

Mcsort n Перестановка строк матрицы М таким образом чтобы отсортированным оказался n-й столбец

Mrsort n Перестановка строк матрицы М таким образом чтобы отсортированной оказалась n-я строка

43

3 ГРАФИКА MATHCAD

31 Двухмерные графики в декартовой системе координат

MathCAD позволяет легко строить двух- и трехмерные гисто-граммы двухмерные графики в декартовых и полярных координа-тах трехмерные графики поверхностей линии уровня поверхно-стей изображения векторных полей пространственные кривые Существует три способа построения графиков в системе MathCAD

minus можно воспользоваться позицией Главного меню Insert вы-брав команду Graph и в раскрывающемся списке minus тип графика

minus выбрать тип графика на наборной панели Graph которая включается кнопкой на панели Math

minus воспользоваться быстрыми клавишами (они предусмотрены не для всех типов графиков)

Рассмотрим более подробно команды меню Insert Graph наборной панели Math

X-Y Plot (X-Y Зависимость) клавиша [] Служит для по-строения графика функции y = f(x) в виде связанных друг с другом пар координат (xi yi) при заданном промежутке изменения для i

Polar Plot (Полярные координаты) клавиши [Ctrl+7] Служит для построения графика функции r(q) заданной в полярных координатах где полярный радиус r зависит от полярного угла q

Surface Plot (Поверхности) клавиши [Ctrl+2] Служит для представления функции z = f(x y) в виде поверхности в трехмерном пространстве При этом должны быть заданы векторы значений xi и yj а также определена матрица вида Aij = f(xi yj) Имя матрицы A указывается при заполнении рамки-шаблона С помощью этой ко-манды можно строить параметрические графики

Contour Plot (Контурный график) Строит диаграмму ли-ний уровня функции вида z=f(xy) те отображает точки в которых данная функция принимает фиксированное значение z = const

3D Scatter Plot (3D Точечный) Служит для точечного пред-ставления матрицы значений Aij или отображения значений функ-ции z=f(xy) в заданных точках Эта команда может также использо-ваться для построения пространственных кривых

3D Bar Plot (3D Диаграммы) Служит для представления матрицы значений Aij или отображения значений функции z = f(x y) в виде трехмерной столбчатой диаграммы

44

Vector Field Plot (Поле векторов) Служит для представле-ния двухмерных векторных полей V=(Vx Vy) При этом компоненты векторного поля Vx и Vy должны быть представлены в виде матриц С помощью этой команды можно построить поле градиента функ-ции f(x y)

3D Plot Wizard (вызов мастера для быстрого построения трех-мерного графика) При выборе этой команды возникает ряд всплы-вающих окон в которых требуется выбрать параметры построения трехмерного графика (задаются тип трехмерного графика стиль его изображения цветовая гамма) График по умолчанию строится на промежутке от minus5 до +5 (по обеим переменным)

311 График функции у = f(x)

При выполнении команды Insert Graph Plot (или нажать соответствующую кнопку наборной панели) в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика (Клавиша [])

В ячейке расположенной под осью абсцисс указывается неза-висимая переменная x Ее следует определить заранее как перемен-ную принимающую значения из промежутка (ранжированная пере-менная)

В ячейке рядом с осью ординат необходимо задать функ-

цию f x график которой мы хотим построить Если эта функция

была определена заранее то в ячейку достаточно ввести f x в

противном случае следует ввести изображаемую функцию в явном виде (например cos x )

После ввода x и f x в графической области появятся еще че-

тыре ячейки которые не обязательно заполнять MathCAD автома-

45

тически находит подходящие значения для xmin xmax ymin ymax Если же предлагаемые MathCAD значения вас не устраивают вы можете задать свои

В MathCAD существует возможность строить график функ-ции не задавая предварительно промежуток изменения независи-мой переменной По умолчанию этот промежуток принимается рав-ным 1010

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

312 Кривые на плоскости заданные параметрически

Уравнения x f t y y t где f t и y t непрерывны

при t из a b устанавливающие зависимость декартовых коорди-

нат x y точки плоскости от значения параметра t определяют на

плоскости кривую заданную в параметрической форме

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

независимой переменной x под осью абсцисс необходимо задать индексированную переменную xi а рядом с осью ординат необхо-димо соответственно указать yi

46

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

313 Редактирование графиков в декартовой системе координат

Если вас не устраивает внешний вид построенных графиков вы можете его изменить выделив график (выполнив на нем щелчок так чтобы вокруг него появилась рамка) и воспользовавшись ко-мандой - Format Graph X Y Plot или выполнив на графике щелчок правой кнопкой мыши и выбрав команду Format из выпа-дающего контекстного меню (можно выполнить также двойной щелчок левой кнопкой мыши) В результате на экране появится диалоговое окно Formatting Currently Selected X-Y Plot позволяю-щее изменить вид графика

Данное диалоговое окно содержит несколько вкладок X-Y Axes (форматирование осей) Traces (тип линий графиков) Labels (подписи) Defaults (по умолчанию)

Первая из вкладок позволяет форматировать оси координат Log Scale (Логарифмическая шкала) ndash задает логарифмические

оси в этом случае границы графика должны задаваться положи-тельными числами

Grid Lines (Вспомогательные линии) ndash задает отображение сетки из параллельных осям линий

47

Numbered (Нумерация) ndash задает отображение подписи к мар-кировкам на осях

Autoscale (Автомасштаб) ndash задает автоматическое нахожде-ние подходящих границ для осей Но если вы сами зададите в соот-ветствующих ячейках минимальные и максимальные значения xmin xmax ymin ymax именно эти значения будут использоваться для опре-деления границ графика

Show Markers (Показать метки) ndash если установить эту опцию то в графической области появятся четыре дополнительные ячейки для создания красных линий маркировки соответствующих двум специальным значениям x и двум специальным значениям y

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Axes Style (Вид осей) ndash группа кнопок этой области позволяет выбрать следующие варианты представления осей Boxed (Ограни-ченная область) Crossed (Пересечение) ndash оси пересекаются в точке с координатами (00) None (Без границ) Флажок Equal Scales (Равный масштаб) позволяет задать одинаковый масштаб для обеих осей

Форматирование оси графика можно произвести выполнив на ней двойной щелчок

Для изменения типа линий графиков необходимо активизиро-вать вкладку Traces (След)

Legend Lable (Имя в легенде) ndash каждой кривой можно поста-вить в соответствие некоторый текст называемый легендой Леген-да отображается в нижней части графической области а рядом с каждой легендой отображается тип линии соответствующей кривой

Symbol (Символ) ndash позволяет выбрать символ для каждой точ-ки кривой (плюс крестик кружок и др)

48

Line (Линия) ndash можно выбрать один из следующих типов ли-ний solid (сплошная) dash (штриховая) dot (точечная) или dadot (штрихпунктирная) Это поле списка доступно в случае если в поле Type (Тип) выбран элемент lines

Color (Цвет) ndash задается цвет представления кривой на экране Type (Тип) ndash позволяет выбрать один из семи видов графика в

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

Weight (Вес) ndash позволяет задавать толщину линий графика В нижней части вкладки Traces расположены опции Hide

Arguments (Скрыть аргументы) ndash эта опция по умолчанию отклю-чена В этом случае под именем функции рядом с осью ординат ука-зывается текущий тип линий Если установить данную опцию ука-зание типа линий исчезнет

Hide Legend (Скрыть легенду) ndash по умолчанию легенда не

отображается Если вы хотите отобразить под графиком текст ле-генды его надо перед этим ввести в поле Legend Lable (Имя в леген-де) и подтвердить ввод выполнив щелчок на кнопке Применить Вкладка Labels (Метки) позволяет ввести заголовок графика и подписи для осей

49

В подменю Graph (Графика) меню Format (Формат) содер-жатся кроме прочих следующие команды

Trace (След) ndash при перемещении в области графика указателя

мыши при нажатой левой кнопке в полях X-Value (значение X) Y-Value (значение Y) диалогового окна X-Y Trace отображаются ко-ординаты точки на которую указывает курсор Если установлена опция Track Data Points (След точек данных) то курсор-крестик бу-дет перемещаться вдоль графика функции и вы сможете считывать текущее значение аргумента x и соответствующее значение функ-ции y=f(x) Координаты текущей точки можно скопировать в буфер с помощью кнопок Copy X (Копировать Х) Copy Y (Копировать Y)

Zoom (Изменение масштаба) ndash с помощью этой команды можно увеличить фрагмент графика предварительно выделив его протаскиванием мыши с нажатой левой клавишей После отпус-кания клавиши координаты углов выделенной области будут отображены в полях окна X-Y Zoom С помощью кнопки Zoom (Масштаб +) фрагмент можно увеличить с помощью кнопки Unzoom (Масштаб ndash) отменить выделение фрагмента а с помощью кнопки Full View (Обзор) ndash восстановить первоначальный вид графика Если вы увеличили фрагмент графика то при щелчке на кнопке OK в документе будет отображаться только этот фрагмент

50

32 Двухмерные графики в полярной системе координат

321 Построение полярных графиков

Для построения полярного графика необходимо выполнить

команду Insert Graph Polar Plot При этом в документ поме-щается графическая область с двумя незаполненными ячейками для построения графика (клавиши [Ctrl +7])

В нижнюю ячейку вводится полярный угол q Его следует определить заранее как переменную принимающую значения из промежутка (ранжированная переменная)

В левую ячейку вводится полярный радиус r q или Re r q и Im r q

Функция r q либо задается заранее ли-

бо ее определение вводится непосред-ственно в ячейку

График в полярных координатах можно построить и посредством команды

X Y Plot Только в этом случае необхо-димо дополнительно задать следующие функции х(q) = r(q)cos(q) и y(q) = r(q)sin(q) а в ячейках для абсцисс и ординат указать соответственно х(q) и y(q)

Если для некоторых углов q функ-ция не определена (не существует радиу-са с действительным значением он принимает чисто мнимые значе-ния) то MathCAD отображает на графике только действительные значения радиуса Но с помощью функций Re и Im можно предста-вить на одной круговой диаграмме графики как действительной так и мнимой части функции r q

322 Форматирование полярных графиков

Если вы хотите отредактировать график в полярных координа-тах необходимо выделить график (щелчком левой кнопки мыши) и выполнить команду Format Graph Polar Plot или выполнить

51

двойной щелчок на выделенном графике При этом откроется окно Formatting Currently Selected Polar Plot (Форматирование полярного графика) Это окно содержит те же вкладки что и для графиков в декартовой системе координат

Вкладка Polar Axes содержит следующие элементы Log Scale (Логарифмическая шкала) ndash используется для созда-

ния логарифмической r-оси Grid Lines (Вспомогательные линии) ndash отображает сетку ли-

ний соответствующих равенствам constr и constq Numbered (Нумерация) ndash линии constr и constq снабжа-

ются подписями Show Markers (Показать метки) ndash с помощью этой опции

можно снабдить график двумя дополнительными пунктирными окружностями constr Для этого надо ввести нужные значения радиуса в появившиеся ячейки Кроме того справа от графика ука-зываются минимальный и максимальный радиусы можно увеличить или уменьшить график введя в эти ячейки собственные значения

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Остальные значения параметров на этой вкладке и на других вкладках те же самые что и в случае команды - X Y Plot

52

33 Построение графика функции z = f (x y) в виде поверхности в декартовой

системе координат

Для построения графика поверхности можно воспользоваться двумя способами

Если вам надо только посмотреть общий вид поверхности то MathCAD предоставляет возможность быстрого построения подобных графиков Для этого достаточно определить функцию f x y и выполнить команду Insert

Graph Surface Plot или нажать со-ответствующую кнопку наборной пане-ли Graph (сочетание клавиш [Ctrl+7]) В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции MathCAD автоматически построит гра-фик поверхности Независимые переменные x и y принимают значе-ния из промежутка 5 5 При необходимости этот промежуток мо-

жет быть уменьшен или увеличен Для этого необходимо выделить график и воспользоваться командой 3 Format Graph D Plot или щелкнуть правой кнопкой мыши по выделенному графику и в кон-текстном меню выбрать команду Format В появившемся окне 3 D Plot Format на вкладке Quick Plot Data можно установить другие параметры изменения независимых переменных x и y

53

Для построения графика поверхно-сти в определенной области изменения независимых переменных или с кон-кретным шагом их изменения необхо-димо сначала задать узловые точки ix и

jy в которых будут определяться зна-

чения функции После (а можно и до) этого надо определить функцию f x y график которой хотите постро-

ить Затем необходимо сформировать

матрицу значений функции в виде i j i jA f x y

Теперь после выполнения команды Insert Graph Surface Plot в появившейся графической области достаточно ввести имя матри-цы (без индексов)

Если вы хотите чтобы узловые точки были расположены че-рез равные промежутки воспользуйтесь формулами

Для построения графика линий

уровня данной функции необходимо по-ступать так же как это было описано вы-ше только вместо команды (Поверхно-сти) следует выбрать команду Contour Plot (Контурный)

Аналогично с помощью команды 3 D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции с помощью команды

54

3 D Scatter Plot (3D Точечный) ndash трехмерный точечный график а с помощью команды 3 D Patch Plot (3D Лоскутный) ndash трех-мерный график поверхности в виде несвязанных квадратных пло-щадок ndash плоскостей уровня для каждой точки данных параллель-ных плоскости XY

Если поверхность задана параметрически это означает что все три координаты x y и z заданы как функции от двух параметров u и v Сначала необходимо задать векторы значений параметров iu и jv Затем необходимо определить матрицы значений функций ко-

ординат x u v y u v и z u v

После выбора команды Surface Plot в MathCAD-документе появится гра-фическая область В свободной ячейке внизу области надо указать в скобках имена (без аргументов и индексов) трех матриц ndash x y z

А А

55

34 Форматирование трехмерных графиков

Если вас не устраивает внешний вид созданного трехмер-ного графика вы можете изменить его выполнив команду

3 Format Graph D Plot или выполнив двойной щелчок мышкой на графической области В результате на экране появится диалого-вое окно 3 D Plot Format позволяющее изменять параметры отоб-ражения графика Мы рассмотрим здесь основные опции Разо-браться во всех тонкостях управлением видом графика вы можете самостоятельно построив график и поэкспериментировав выбирая те или иные опции

Диалоговое окно 3 D Plot Format содержит несколько вкладок Некоторые из них мы рассмотрим более подробно а для других minus опишем лишь их функциональное назначение

На вкладке General (Общие свойства) вы можете в области View задать направление взгляда наблюдателя на трехмерный график Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости XY Значение в поле Tilt задает угол наклона ли-нии взгляда к плоскости XY Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз равное цифре указанной в поле

ndash в области Axes Style (Стиль оси) задать вид осей выбрав се-лекторную кнопку Perimetr (Периметр) или Corner (Угол)

В первом случае оси всегда находятся на переднем плане При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A00 матрицы A

56

ndash в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями а опция Show border (Границы) позволяет заключить график в прямо-угольную рамку

ndash в области Plot 1 (Plot 2) Display as (Графикнесколько графи-ков отобразить как) имеются селекторные кнопки для представле-ния графика в других видах (контурный точечный векторное поле и др)

Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат

Посредством опций области Grids (Сетки) можно отобразить на графике линии описываемые равенствами x y z = const

Если установлены опции Show Numbers (Нумерация) отобра-жаются метки на осях и подписи к ним

При этом рядом с осями Ox и Oy указываются не значения уз-ловых точек xi yj а значения индексов i и j в то время как ось Oz размечается в соответствии с промежутком которому принадлежат элементы матрицы значений Ai j

Если установлена опция Auto Grid (Автосетка) программа самостоятельно задает расстояние между соседними отметками на осях Вы можете сами указать число линий сетки если отключите указанную опцию

Если установлена опция Auto Scale (Автошкала) то MathCAD сам определяет границы построения графика и масштабы по осям Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value (Ми-нимум) и Maximum Value (Максимум)

57

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options) вид цвет и толщину дополнительных линий на графике (область Line Options) наносить на график точки данных (опция Draw Points области Point Options) менять их вид размер и цвет

Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения laquoустановитьraquo несколько источников света выбрав для них цвет освещения и определив его направление

Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей ограничивающих область построения цвет нанесение сетки определение ее цвета и толщины прорисовка границ плоскостей

На вкладке Special (Специальная) можно изменять параметры построения специфичные для различных типов графиков

Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности графика а также указать направление смены окраски (вдоль оси Ox Oy или Oz) Включение опции Enable Fog (Наличие Тумана) делает график нечетким слегка размытым (полупрозрачным) При включении оп-ции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя

Вкладка Quick Plot Data обсуждалась ранее в начале раздела

35 Кривая в пространстве Трехмерные точечные графики можно использовать для по-

строения изображения пространственных кривых Пространствен-ные кривые задаются как правило в виде (x(t)y(t)z(t)) где t пред-ставляет собой непрерывный действительный параметр

58

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

и соединяющие их линии необходимо сначала определить три вектора координат ndash xi yi zi

Пространственная кривая создается командой 3 Insert D Graph Scatter Plot Можно использовать наборную панель Graph выбрав соответствующую пикто-грамму Для соединения точек необходимо на вкладке Appearance окна форматирова-ния графиков указать опцию Line

36 Векторные и градиентные поля

Команда Insert Graph Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx vy)

При этом векторное поле необходимо вначале определить как вектор-функцию двух координат ndash x и y Затем задаются векторы значений узловых точек x и y С помощью этих векторов компонен-ты векторного поля vx(xy) и vy(xy) генерируются в виде матриц значений vxi j и vyi j

59

Подобным образом можно построить градиентное поле ска-лярной функции f(x y)

Градиентное поле для функции двух переменных представляет собой двумерное векторное поле

Как и в остальных случаях внешний вид изображения вектор-ного поля можно легко изменить выполнив двойной щелчок в об-ласти графика и изменив требуемые опции в открывшемся диалого-вом окне 3 D Plot Format

37 Поверхности полученные вращением кривых вокруг осей

Интересные объемные фигуры мож-

но получить вращая некоторую кривую вокруг той или иной оси Построение этих фигур вращения сродни параметрически заданным поверхностям

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

60

38 Анимация в MathCAD

Для создания анимации строим график функции командой - X Y Plot из подменю Graph меню Insert Для анимации задается

промежуток изменения целочисленного параметра FRAME (по умолчанию от 0 до 9)

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

61

Теперь для создания анимации необходимо выполнить следу-ющие действия

1 Выбрать команду Animate из меню View При этом появится диалоговое окно Animate

2 Заключить построенный график в маркировочный прямо-угольник

3 Задать минимальное и максимальное значения параметра FRAME (поля From и To)

4 Задать в поле At количество воспроизводимых кадров в се-кунду

5 Выполнить щелчок на кнопке Animate При этом в диалого-вом окне вы увидите анимационные кадры

6 Чтобы воспроизвести анимацию щелкнуть на кнопке Play в появившемся окне Playback (Проигрыватель)

7 Чтобы внести изменения в анимацию выполнить щелчок на кнопке открытия меню в окне Playback

62

8 С помощью команды Save As можно сохранить анимацию в файле с расширением AVI

Встраивание анимации в MathCAD-до-кумент производится с помощью Windows Explorer Для этого необходимо

1 Запустить Windows Explorer 2 Выполнить в окне Windows Explorer

щелчок на имени AVI-файла 3 Перетащить AVI-файл в соответ-

ствующий MathCAD-документ 4 Воспроизвести анимацию можно посредством двойного

щелчка в графической области Анимацию можно также воспроизвести выполнив двойной

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

1 Выбрать команду Object из меню Insert 2 Установить опцию Создать из файла 3 Выбрать нужный AVI-файл с помощью кнопки Обзор 4 Установить опции Связь и В виде значка после чего выпол-

нить щелчок на кнопке OK

63

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба может привести к скачкообразному изменению размеров графика хотя на деле он должен меняться без скачков с дискретностью определяемой только изменением FRAME = 1 2 3 и тд

64

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ

41 Возможности символьного процессора MathCAD

Системы компьютерной алгебры снабжаются специальным

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

Ядро символьного процессора системы MathCAD minus несколько упрощенный вариант ядра известной системы символьной матема-тики Maple V фирмы Waterloo Maple Software у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение благодаря чему MathCAD стала (начиная с версии 30) системой символьной математики

Введение в систему MathCAD символьных вычислений прида-ет ей качественно новые возможности которые отсутствовали у прежних версий системы Куда важней что символьные вычисле-ния выполняются в конечном счете столь же просто (для пользова-теля) как скажем вычисление квадрата х

Символьные вычисления в MathCAD могут быть реализованы тремя способами

minus с использование команд подменю позиции Symbolics (Сим-волика) главного меню

minus с использованием команд панели Symbolic включаемой

кнопкой на математической панели инструментов (Начиная с версии MathCAd 40 для активных символьных вычислений при-меняется термин SMARTMATH представляющий комбинацию слов smart и MathCAD что в буквальном смысле означает умный MathCAD)

minus с использованием команды Optimization позиции главного меню Math

65

42 Команды меню Symbolics

Операции относящиеся к работе символьного процессора со-держатся в подменю позиции Symbolics (Символика) главного меню

Чтобы символьные операции выполня-лись процессору необходимо указать над ка-ким выражением эти операции должны произ-водиться те надо выделить выражение Для ряда операций следует не только указать выра-жение к которому они относятся но и наме-тить переменную относительно которой вы-полняется та или иная символьная операция

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

Следует отметить некоторые особенности при работе с коман-дами меню Symbolics

Для символьных вычислений выражения необходимо указы-вать явно Например недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл Это существенное ограничение о котором надо всегда помнить Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath которая описывается в дальнейшем главное в том что для вывода символьных вычислений в этом слу-чае используется оператор

Иногда результат вычислений содержит встроенные в систему специальные математические функции в этом случае результат по-мещается в буфер обмена Используя команду Paste или клавишу F4 можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат

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

66

Если операция невыполнима ndash система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изме-нений)

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

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

421 Операции с выделенными выражениями

Функции представлены в табл 20

Таблица 20

Операции с выделенными выражениями

Evaluate (Вычислить)

Преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

Упростить выделенное выражение с выполнением таких операций как сокращение подобных слагаемых приведение к общему знаменателю использование основных тригонометрических тождеств и тд

Expand (Разложить по степеням)

Раскрыть выражение [например для (Х + Y) (Х minus Y) по-лучаем X 2minus Y 2]

Factor (Разложить на множители)

Разложить число или выражение на множители [например Х 2 minus Y 2 даст (Х + Y) (Х minus Y)]

Collect (Разложить по подвыражению)

Собрать слагаемые подобные выделенному выражению которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение полиномиальное относительно выбранного выражения)

Polynomial Coefficients (Полиномиальные коэффициенты)

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

67

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами Evaluate Symbolically [Shift+F9](Вычислить в символах) minus вы-

полнить символьное вычисление выражения Floating Point Evaluation (С плавающей точкой) minus выполнить

арифметические операции в выражении с результатом в форме чис-ла с плавающей точкой

Complex Evaluation (В комплексном виде) minus выполнить преоб-разование с представлением в комплексном виде

Команда Evaluate Symbolically тут наиболее важная Назначе-ние других команд очевидно они нужны если результат требуется получить в форме комплексного или действительного числа К примеру если вы хотите вместо числа p получить 3141 ис-пользуйте команду Floating Point Evaluation В режиме символь-ных вычислений результат может превосходить машинную беско-нечность системы При этом число точных значащих цифр результата практически не ограничено (или точнее говоря зависит от емкости ОЗУ)

Символьная операция Evaluate Symbolically [Shift+F9] (Вычис-лить) обеспечивает работу с математическими выражениями со-держащими встроенные в систему функции и представленными в различном виде полиномиальном дробно-рациональном в виде сумм и произведений производных и интегралов и тд Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде Она возможна над матрицами с символьными элементами Производные и определен-ные интегралы символьные значения которых вычисляются долж-ны быть представлены в своей естественной форме

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью minus 20 знаков после запятой Для перехода в такой режим вычислений нужно числовые констан-ты в вычисляемых объектах задавать с обязательным указанием де-сятичной точки например 100 или 30 а не 10 или 3 Этот признак является указанием на проведение вычислений такого типа

На рисунке ниже показаны типовые примеры действия опера-ции Evaluate Symbolically

68

Здесь слева показаны исходные выражения подвергаемые

символьным преобразованиям а справа результат этих преобразо-ваний

Операция Evaluate Symbolically одна из самых мощных Как видно из рисунка она позволяет в символьном виде вычислять сум-мы (и произведения) рядов производные и неопределенные инте-гралы выполнять символьные и численные операции с матрицами

Simplify (Упростить)

Символьная операция Simplify (Упростить) minus одна из самых важных Эта операция позволяет упрощать математические выра-жения содержащие алгебраические и тригонометрические функции а также выражения со степенными многочленами (полиномами)

Упрощение означает замену более сложных фрагментов вы-ражений на более простые Приоритет тут отдается простоте функ-ций К примеру функция tan x считается более сложной чем

функции sin x и cos x Поэтому tan x упрощается так что по-

лучает представление через соотношение этих функций что не-сколько неожиданно так как в некоторых пакетах символьной ма-тематики например Derive ситуация иная они заменяют отношение sin cosx x функцией tan x

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений При-ведем примеры применения операции Simplify

69

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

Однако команда Simplify применительно к вычислениям опре-деленных интегралов делает гораздо больше minus она ищет аналитиче-ское выражение для интеграла Более того она способна делать это и при вычислении кратных интегралов пределы которых minus функции

Операцию Simplify можно использовать и для вычисления сумм и произведений символьных последовательностей Результат операции как и следовало ожидать получается в символьной форме (если она существует)

Приведенные примеры могут создать впечатление что

MathCAD справляется со всеми производными интегралами сум-мами и произведениями с помощью операции Simplify К сожале-нию это далеко не так Нередко система не справляется с кажущи-мися простыми справочными примерами Надо помнить что символьный процессор системы MathCAD обладает заметно уре-

70

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

В результате преобразований могут появляться специальные функции minus как встроенные в систему (функции Бесселя гамма-функция интеграл вероятности и др) так и ряд функций дополни-тельно определенных при загрузке символьного процессора (инте-гральные синус и косинус интегралы Френеля эллиптические ин-тегралы и др) Последние нельзя использовать при создании математических выражений

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в из-

вестном смысле противоположно действию операции Simplify Под-вергаемое преобразованию выражение расширяется с использова-нием известных (и введенных в символьное ядро) соотношений например алгебраических разложений многочленов произведений углов и тд Разумеется расширение происходит только в том случае когда его результат однозначно возможен Иначе нельзя считать что действие этой операции противоположно действию операции Simplify К примеру операция Simplify преобразует сумму квадратов синуса и косинуса в 1 тогда как обратное преобразование много-значно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные свести алгебраические выражения представленные в сжатом виде к выражениям в развернутом виде и тд Приведем примеры действия операции Expand Expression

Последний пример показывает что результатом операции мо-

жет быть специальная математическая функция которая считается более сложным выражением чем порождающее ее выражение

71

С виду однако выражения со специальными математическими функ-циями обычно выглядят гораздо проще чем исходные выражения

Factor (Разложить на множители)

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

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

Collect (Разложить по подвыражению)

Операция Collect (Разложить по подвыражению) обеспечива-

ет замену указанного выражения выражением скомплектованным по базису указанной переменной если такое представление воз-можно В противном случае появляется окно с сообщением о невоз-можности комплектования по указанному базису

Эта команда особенно удобна когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции

72

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

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

Polynomial Coefficients

(Полиномиальные коэффициенты)

Операция Polynomial Coefficients (Полиномиальные коэффи-циенты) в ранних версиях MathCAD отсутствующая служит для вычисления коэффициентов полинома

Операция применяется если заданное выражение ndash полином (степенной многочлен) или оно может быть представлено таковым относительно выделенной переменной Результатом операции явля-ется вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

422 Операции с выделенными переменными

Следующая группа символьных операций (табл 21) выпол-

няется с выражениями требующими указания переменной по от-ношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно поскольку указание в нем на пере-менную является одновременно и указанием на само выражение Если выражение содержит другие переменные то они рассматри-ваются как константы

73

Таблица 21 Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

Заменить указанную переменную содержимым буфера обмена

Differentiate (Дифференцировать переменную)

Дифференцировать все выражение содержащее выделенную переменную по отношению к этой переменной (остальные переменные рассматриваются как константы)

Integrate (Интегрировать по переменной)

Интегрировать все выражение содержащее выделенную переменную по этой переменной

Expand to Series (Разложить в ряд)

Найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной

Convert to Partial Fraction (Разложить на эле-ментарные дроби)

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

Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х то операция Solve (Решить) возвращает символьные значения ука-занной переменной х при которых F(x) = 0 Это очень удобно для решения алгебраических уравнений например квадратных и куби-ческих или для вычисления корней полинома Примеры решения квадратного уравнения и нахождения комплексных корней полино-ма четвертой степени

Ранее отмечалось что усложнение уравнения например пере-ход от квадратного уравнения к кубическому может вызвать и су-

74

щественное усложнение результата Тогда система представляет решение в более компактном виде (но без общепринятой математи-ческой символики) и предлагает занести его в буфер обмена

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

Более того форма представления результата в таком случае отличается от принятой в системе MathCAD (например в качестве знака деления используется косая черта для возведения в степень minus составной знак и тд) Это сделано ради компактности представ-ления результатов вычислений

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

Substitute (Заменить переменную)

Операция Substitute (Подстановка) возвращает новое выраже-ние полученное путем подстановки на место указанной переменной некоторого другого выражения Последнее должно быть подготов-лено и скопировано (операциями Cut или Copy) в буфер обмена Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой перемен-ной путем замены ее на числовое значение

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

75

Differentiate (Дифференцировать по переменной)

Нахождение символьного значения производной minus одна из са-мых распространенных задач в аналитических вычислениях Опера-ция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз Ниже показано применение операции дифференцирования

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычисле-

ниях minus вычисление интегралов (или нахождение первообразных) для аналитически заданной функции Для этого используется опе-рация Integrate (Интегрировать по переменной) Она возвращает символьное значение неопределенного интеграла по указанной кур-сором ввода переменной Выражение в состав которого входит пе-ременная является подынтегральной функцией

Здесь показан пример символьного интегрирования по пере-

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

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

Expand to Series (Разложить в ряд)

Операция Expand to Series(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной пе-ременной с заданным по запросу числом членов ряда п (число опре-деляется по степеням ряда) По умолчанию задано n = 6

76

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

Здесь представлено применение этой операции для разложе-ния функции sin(x)x Минимальная погрешность получается при малых х

Символьные операции нередко можно комбинировать для ре-шения сложных задач

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction (Разложить на элемен-

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

Как видно из представленных примеров применение этой

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

423 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции) которая имеет свое подме-ню со следующими операциями

Transpose (Транспонировать) minus получить транспонированную матрицу

Invert (Обратить) minus создать обратную матрицу

77

Determinant (Определитель) minus вычислить детерминант (опре-делитель) матрицы

Приведем примеры

424 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования создающий подменю со следующими возможностями

Fourier Transform (Преобразование Фурье) minus выполнить пря-мое преобразование Фурье относительно выделенной переменной

Inverse Fourier Transform (Обратное преобразование Фурье) minus выполнить обратное преобразование Фурье относительно выделен-ной переменной

Laplace Transform (Преобразование Лапласа) minus выполнить прямое преобразование Лапласа относительно выделенной пере-менной (результат minus функция от переменной s)

Inverse Laplace Transform (Обратное преобразование Лапласа) minus выполнить обратное преобразование Лапласа относительно выде-ленной переменной (результат minus функция от переменной t)

Z Transform (Z-преобразование) minus выполнить прямое Z-преоб-разование выражения относительно выделенной переменной (ре-зультат minus функция от переменной z)

Inverse Z Transform (Обратное Z-преобразование) minus выполнить обратное Z-преобразование относительно выделенной переменной (результат minus функция от переменной n)

По строкам показано применение соответственно преобразова-ния Фурье Лапласа и Z-преобразования а по столбцам minus исходная

78

функция ее интегральное преобразование и обратное преобразова-ние (выражения стоящего во втором столбце)

В меню Symbolics находится команда Evaluation Style при исполнении которой на экран выводится диалоговое окно позволя-ющее установить вид вывода результатов при работе с символьным процессором MathCAD

В группе переключателей Show envaluation steps (Стиль эво-люции) можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним Кроме то-го можно установить опции Show Comments для вставки коммента-риев и задать вывод результирующего выражения вместо исходного Evaluate in Place

43 Палитра символьных преобразований SmartMath

431 Назначение системы SmartMath

SmartMath minus фактически экспертная система ускоряющая вы-

числения в тех случаях когда это возможно При запущенной си-стеме SmartMath процессор численных операций приступая к вы-

79

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

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вы-числений и преобразований Система SmartMath более полно ис-пользует ядро символьных операций чем символьные вычисления из подменю позиции Symbolics главного меню и снимает некоторые ограничения на их выполнение Например возможно использование в преобразуемых выражениях функций пользователя Еще важнее то что результаты символьных преобразований выполняемых си-стемой SmartMath автоматически меняются при изменении исход-ных символьных данных

Система SmartMath в сущности является частью программных средств MathCAD реализующих линейные программы символьных вычислений

432 Операторы символьного вывода

Вначале для визуализации результатов символьных преобра-зований был введен специальный символ minus удлиненная горизон-тальная стрелка rarr Ее можно вызвать нажатием клавиш Ctrl+ (точка) или вызовом из палитр математических символов (для вво-да отношений и символьных операций) Шаблон этого знака имеет вид где на месте черного прямоугольника вводится подвергае-мое символьному преобразованию исходное выражение

Указанный символ можно рассматривать как простой оператор символьного вывода Если задать исходное выражение и вывести курсор из формульного блока с ним то система помещает результат его символьных преобразований после стрелки (оператора символь-ного вывода) Это и есть первый этап работы с системой SmartMath

В версию системы MathCAD 70 PRO введен еще один опера-тор ndash расширенный оператор символьного вывода Он задается нажатием клавиш Ctrl+Shift+ (точка) или выбором из палитры символьных операций Этот оператор имеет вид В первый шаблон-прямоугольник вводится исходное выражение а во второй ndash директивы символьных преобразований Задаются эти директивы или вводом соответствующих ключевых слов или из палитры сим-вольных операций

80

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

433 Состав директив системы SmartMath и их применение

При вводе стрелки rarr после выражения фактически (по умол-

чанию) над ним исполняется операция Simplify (Упростить) Но что подразумевается под этим ясно далеко не всегда даже несмотря на то что многие символьные операции система выполняет вполне очевидно например вычисление интеграла или производной в сим-вольном виде

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов помещенных на панели Symbolic ко-

торая вызывается кнопкой с панели инструментов Math (табл 22)

Таблица 22

Symbolic (символы)

Команда Функция Пример 1 2 3

Символьное вычисление

Символьное вычисление с ключевым словом

81

Продолжение табл 22

1 2 3

Modifier Дополнительные модификаторы

assume minus вводное слово для приведенных далее определений real minus для var=real означает вещественное значение var RealRange minus для var=RealRange(ab) означает принадлеж-ность вещественной var к интервалу [аb] trig minus задает направление тригонометрических преобразований

float Численное вычисление

complex Комплексное вычисление

assume

Символьное вычисление с некоторыми предположениями

solve

Решение уравнения (системы уравне-ний) относительно переменной (переменных)

simplify Упрощение выражений

substitute Замена переменной

factor Разложение на множители

expand Перемножение степеней и произведений

coeffs Определение коэффициентов полинома

collect

Группировка слагаемых по степеням переменной

series Разложение в ряд Тейлора или Лорана

parfac Разложение на элементарные дроби

82

Окончание табл 22

1 2 3

fourier Преобразование Фурье

invfourier Обратное преобра-зование Фурье

lарlасе Преобразование Лапласа

invlaplace Обратное преобразование Лапласа

ztrans Z-преобразование

invztrans Обратное Z-преобразование

MT Транспонирование матрицы

M-1 Нахождение обратной матрицы

|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными бук-

вами (кроме Modifier первая буква в этом слове должна быть прописной)

Блоки системы SmartMath имеют следующие отличительные свойства

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

несколько директив minus имеют конструкцию схожую с конструкцией программных

блоков Как нетрудно заметить директива упрощения simplify не име-

ет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения перемен-ной х и указания числа членов ряда Директивы преобразования

83

Лапласа (laplace) и решения уравнений (solve) требуют одного па-раметра minus указания имени переменной (в нашем случае х) С помо-щью директивы solve можно решать и системы уравнений minus тогда ее параметр будет вектором неизвестных

Выполнение матричных операций в символьной форме особой специфики не имеет

44 Оптимизация

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

Признаком оптимизации выражения является появление после него красной звездочки Кроме того щелкнув правой кнопкой мы-ши и выбрав из контекстного меню команду Show Popup можно наблюдать появление окна с оптимизированным выражением

Особый выигрыш оптимизация может дать при многократном

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

84

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

51 Линейные алгебраические уравнения

Уравнение вида 0ax b с заданным базовым множеством Gx a из Ga b из Gb называется линейным уравнением

Этапы решения с помощью MathCAD 1 Ввести уравнение (знак = вводится с помощью комбина-

ции [Ctrl++]) 2 Выделить курсором переменную относительно которой

должно быть решено уравнение 3 Выбрать команду Solve (Вычислить) подменю Variable (Пе-

ременные) меню Symbolics (Символы) При решении линейных уравнений (без параметров) или дроб-

ных уравнений которые сводятся к линейным MathCAD находит все существующие решения Однако при этом следует правильно интерпретировать сообщения выдаваемые системой

511 Единственное решение уравнения

В качестве решения MathCAD выдает число minus это означает что уравнение однозначно разрешимо (однозначное решение ли-нейного уравнения над множеством действительных чисел которое одновременно является областью определения этого уравнения)

512 Решение отсутствует

Рассмотрим другой пример

85

После выполнения описанных выше действий для нахождения решения MathCAD выдает сообщение о том что решение не найдено

Проанализировав данное уравнение приходим к выводу что выданное MathCAD сообщение означает что решений нет L=

MathCAD выдает сообщение laquoРешение не найденоraquo даже если уравнение имеет laquoформальное решениеraquo которое не принадлежит области определения (см примеры ниже)

513 Многозначность

Если в качестве решения MathCAD выдает имя переменной это означает что множество решений уравнения совпадает с областью определения Однако такие понятия как множество решений уравне-ния и область определения отсутствуют в MAthCAD и он не выписы-вает область определения Вы можете найти область определения решая с помощью MathCAD систему неравенств или уравнений

Такой результат выданный MathCAD после выполнения дей-ствий по решению уравнения означает что любое значение x из ба-зового множества удовлетворяет этому уравнению те L=R

514 Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Перемен-ные) меню Symbolics (Символы) выдает множество решений L = 6

86

Решение 6 копируем в буфер а затем выделяем маркером пе-ременную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены пере-менной значением 6

Рассмотрим пример

Здесь также правильное решение множество решений совпа-

дает с областью допустимых значений L = D Только следует учесть что D=R11

Рассмотрим другой пример

Последнее уравнение условно эквивалентно уравнению 2x = 4

Решение уравнения MathCAD 2 Формальное решение x = 2 не вхо-дит в область допустимых значений MathCAD выдает правильное сообщение

52 Квадратные уравнения и алгебраические уравнения высших порядков

Уравнение P(x) = 0 называется алгебраическим уравнением

n-го порядка если P(x) представляет собой полином степени n при n = 2 данное уравнение называется квадратным уравнением

87

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

521 Квадратное уравнение

Команда Solve (Вычислить) подменю Variable (Переменные)

меню Symbolics (Символы) дает решение в виде вектора L = minus2 minus4

Аналогичный результат можно получить используя директи-

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

Другой способ решения заключается в использовании коман-ды Factor (Фактор) меню Symbolics (Символы) для разложения по-линома на множители в соответствии с теоремой Виета

Отметим что при иррациональных и комплексных решениях

команда Factor (Фактор) меню Symbolics (Символы) не работает Но MathCAD находит и такие решения при использовании команды Solve

б)

в)a)

88

522 Квадратные уравнения с комплексными коэффициентами

При вводе уравнения с комплексными коэффициентами следу-ет вводить для i 1i для -i -1i для 2i 2i ни в коем случае не вводить laquoraquo

53 Уравнения более высокого порядка

MathCAD может решать уравнения вплоть до порядка 4 (даже символьно) Если возможно частичное разложение на множители то разрешимы уравнения и более высокого порядка Кубические уравнения

Уравнения четвертого порядка Уравнения седьмого порядка

б)а)

89

54 Иррациональные уравнения (уравнения с радикалами)

Корни (радикалы) могут вычисляться в MathCAD либо с по-

мощью знака корня (клавиши [Ctrl+]) либо как степени (клавиша [^] с дробными показателями Знак квадратного корня вводится нажатием клавиши [] Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор) Последовательность дей-ствий при решении уравнений с радикалами та же что и при реше-нии рассмотренных ранее уравнений

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

Радикалы определены не везде в действительной области Это обстоятельство приводит к необходимости находить область опре-деления прежде чем решать само уравнение Данная проблема справедливо игнорируется MathCAD поскольку он не может знать во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение Выход вы можете самостоятельно найти область определения воспользовавшись при этом возможно-стями MathCAD связанными с решениями неравенств

Вторая проблема возникающая при решении уравнений с ра-дикалами имеет принципиальный характер Функция x2 (как и лю-бая другая функция с четным показателем) на является инъективной (проблема главных значений) В связи с этим возведение в квадрат обеих частей уравнения содержащего квадратные корни не являет-ся эквивалентным преобразованием Как всегда при применении к обеим частям уравнения неинъективного преобразования увеличи-вается множество решений В результате в него могут войти laquoфик-тивныеraquo решения Как ни удивительно MAthCAD сам производит проверку решений на laquoфиктивностьraquo

Классический случай решения уравнения с радикалами

MathCAD распознает laquoфиктивныеraquo решения (которые могут воз-никнуть в результате неэквивалентного преобразования laquoвозведение в квадратraquo) и выдает верное сообщение Решение не найдено L =

90

В приведенных ниже примерах демонстрируется способность MathCAD находить область определения иррационального уравне-ния путем решения неравенств

Уравнения с радикалами третьей степени как и уравнения с комплексными коэффициентами не представляют для MathCAD никакой сложности

55 Уравнения с параметрами

При решении уравнений с параметрами MathCAD ведет себя по-разному в зависимости от того каким образом производятся символьные вычисления minus с помощью символьного знака равенства или команд меню Symbolics

91

В данном примере использование палитры символьных преоб-разований позволяет решить уравнение (solve) и упростить резуль-тат (simplify)

56 Экспоненциальные и логарифмические уравнения

Уравнение в котором независимая переменная входит в аргу-

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

Способ решения с помощью MathCAD такой же как и для других типов уравнений

Экспоненциальные уравнения во множестве действительных

чисел не создают дополнительных сложностей в том смысле что их область определения совпадает со множеством действительных чи-сел а логарифмирование представляет собой инъективное отобра-жение

Если при решении экспоненциального уравнения возникают

проблемы их как правило можно устранить посредством вспомо-гательного логарифмирования В крайнем случае можно обратиться к численным методам (см нелинейные уравнения и системы урав-нений в разд 510)

Значительно больше сложностей возникает при решении лога-рифмических уравнений

92

Область определения этих уравнений если рассматривать их во множестве действительных чисел как правило не совпадает с действительной числовой прямой MathCAD рассматривает лога-рифмические уравнения в комплексной области те не учитывая область определения

В данном примере показано что MathCAD иногда находит

решения (и даже действительные) там где их быть не может (про-блемы с комплексным логарифмом) Но нахождение области опре-деления позволяет прийти к верному решению

Насколько полезным может быть предварительное нахожде-ние области определения показывает следующий пример

93

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

множество решений L=

57 Тригонометрические уравнения

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

Для тангенса (и котангенса) этого главного значения доста-точно посредством периодического продолжения atan(x)+kp где k ndash целое представить все решения При решении уравнений с тан-генсами и котангенсами возникает также вполне разрешимая про-блема связанная с тем что данные функции определены не во всех точках числовой прямой

Данный пример показывает что вышеуказанное ограничение не

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

94

Вместо этого возникает другая сложность обратные функции asin(x) и acos(x) значениями которых являются главные значения обратных отображений не дают всех решений в рамках одного пе-риода (2p)

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

95

Данный пример демонстрирует пределы возможности MathCAD Решение напрямую не дает никаких результатов

Проведя дополнительные преобразования нам все-таки удает-ся найти решение

58 Неравенства

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

Неравенства как и уравнения можно решать либо с использо-ванием символьного знака равенства либо отметив переменную следом курсора посредством выполнения команды Solve (Вычис-лить) подменю Variable (Переменные) меню Symbolics (Символы) В разных неравенствах могут быть использованы различные знаки неравенств

Знаки laquoбольшеraquo и laquoменьшеraquo могут вводиться непосредственно с клавиатуры Все остальные знаки можно вводить с помощью па-нели Evaluation (Вычисления) либо сочетанием клавиш

96

Линейные неравенства и неравенства с дробно-рациональ-

ными функциями не составляют сложности для MathCAD

Неравенства с параметрами удобно анализировать с использо-

ванием знака символьного равенства если значения параметра ограничены некоторыми условиями

При решении неравенств содержащих трансцендентные

функции возможности MathCAD ограничены

В данном примере MathCAD не может решить неравенство

при использовании символьного процессора На помощь приходят

97

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

59 Системы линейных уравнений

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция lsolv(AB) Она решает си-стему линейных алгебраических уравнений вида A X B выдавая решение ndash вектор X А ndash матрица коэффициентов размерности n n В ndash вектор свободных членов размерности n X ndash вектор неизвест-ных пока решений

Эквивалентной для MathCAD формой представления систем

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

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения) Он удобен тем что при его использовании уравнения записываются не в матричной а в обычной форме а также тем что позволяет решать нелинейные

98

уравнения и вводить ограничительные условия для определяемого решения Блок решения применяется как для нахождения численно-го решения так и для отыскания решения в символьном виде

Синтаксис Блока решения Given Уравнения Ограничительные условия Find(v1v2vn) minus возвращает значение одной или ряда переменных для точного решения vi minus переменные которые надо найти i = 1 hellip n

Последовательность действий при численном решении

Задаем начальные (стартовые) значения для искомых пере-

менных Заключаем уравнения в блок решения начинающийся ключевым

словом Given и заканчивающийся ключевым словом Find (v1v2 vn) Если после слова Find (v1v2vn) ввести знак равенства [=]

MathACD выдаст численное решение При символьном решении не надо вводить начальные значе-

ния а после ключевого слова Find (v1v2vn) вместо знака равен-ства следует ввести символьный знак равенства (с помощью комби-нации [Ctrl+] или соответствующей пиктограммы панели Evaluation)

Существует еще одно важное отличие между блоком решения

и использованием матричных операций Если определитель матри-

99

цы коэффициентов равен нулю матричные методы оказываются непригодными В таком случае система не имеет решений или раз-решима неоднозначно Если же применить блок решения MathCAD распознает неоднозначность и выдает решение в параметрической форме

510 Нелинейные уравнения и системы уравнений

Многие уравнения например трансцендентные и системы из

них не имеют аналитических решений Однако они могут решаться численными методами с заданной погрешностью (не более значе-ния заданного системной переменной (TOL) Для простейших урав-нений вида F(x) = 0 решение находится с помощью функции

Rооt (Выражение Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем точности при котором выражение дает 0

Функция реализует вычисления итерационным методом при-чем можно задать начальное значение переменной Это особенно полезно если возможно несколько решений Тогда выбор решения определяется выбором начального значения переменной Пример ниже иллюстрирует технику применения функции root для вычис-ления корней кубического полинома

Как известно кубическое уравнение обязательно имеет хотя

бы один кубический корень х1 Он найден вначале функцией root Два других корня могут оказаться и комплексными Функция root

100

может отыскивать и такие корни Для поиска второго корня х2 первый исключается делением F(x) на (хminusх1) Соответственно для поиска третьего корня х3 F(X) делится и на (хminusх2)

Эту процедуру можно распространить и на поиск корней по-

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

5101 Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию polyroots(V) Она воз-вращает вектор корней многочлена (полинома) степени п коэффи-циенты которого находятся в векторе V имеющем длину равную n + 1

Заметим что корни полинома могут быть как вещественными

так и комплексными числами Не рекомендуется пользоваться этой функцией если степень полинома выше пятой-шестой так как то-гда трудно получить малую погрешность вычисления корней

При решении систем нелинейных уравнений используется специальный вычислительный блок открываемый служебным сло-вом директива Given и имеющий следующую структуру

101

Given Уравнения Ограничительные условия Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций Find(vl v2 vn) minus возвращает значение одной или ряда пере-

менных для точного решения Minerr(vl v2 vn) minus возвращает значение одной или ряда пе-

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

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

При использовании функции

Minerr для решения систем нелиней-ных уравнений надо проявлять из-вестную осторожность и обязательно предусматривать проверку решений

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

102

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ

61 Решение одиночного дифференциального

уравнения Для численного решения одиночного дифференциального

уравнения в MathCAD имеется функция Odesolve с помощью кото-рой может быть решена как задача Коши для обыкновенного диф-ференциального уравнения так и граничная задача Эта функция входит в состав блока решения и является его заключительным ключевым словом

Odesolve x b step ndash возвращает функцию которая является

решением дифференциального уравнения Используется в блоке с оператором Given

x ndash переменная интегрирования действительное число b ndash конечная точка отрезка интегрирования step ndash величина шага по переменной интегрирования (необяза-

тельный аргумент) Замечания 1 Уравнение должно быть линейным относитель-

но старшей производной 2 Число заданных начальных или граничных условий внутри

блока должно быть равно порядку уравнения 3 При записи уравнения для обозначения производных функ-

ции используйте специальные кнопки с панели Math или (штрих) minus [Ctrl+F7] для знака равенства = [Ctrl+=] (в том числе и для допол-нительных условий)

4 Конечная точка должна быть больше начальной 5 Не допускаются начальные и граничные условия смешанно-

го типа 5f a f a

6 Искомая функция в блоке должна быть обязательно с аргу-ментом f x

103

62 Численное решение задачи Коши для дифференциальных уравнений и систем

Для численного решения задачи Коши дифференциальных

уравнений и их систем могут быть использованы функции 1 2 rkfixed y x x n F ndash возвращает матрицу решений системы

уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

1 2 rkadapt y x x n F ndash ищет решение с переменным шагом

(там где решение меняется медленнее шаг увеличивается а в обла-сти быстрого изменения решения шаг функции уменьшается) Воз-вращается решение с равным шагом Функция работает быстрее чем rkfixed

1 2 Bulstoer y x x n F ndash дает более точное решение (методом

Bulirsch-Stoer) Аргументы вышеуказанных функций y ndash вектор начальных условий 1 2x x ndash границы интервала для поиска решения

n ndash количество точек на интервале F x y ndash вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе диффе-ренциальных уравнений первого порядка

104

В результате работы указанных функций рассчитывается мат-

рица количество столбцов которой равно порядку уравнения +1 (или сумме порядков уравнений в системе +1) а количество строк равно параметру n Первый столбец содержит значения независи-мой переменной второй ndash значение функции третий ndash для диффе-ренциальных уравнений 2-го порядка ndash значение производной искомой функции (если решается система двух уравнений 1-го по-рядка то третий столбец будет содержать значения второй функ-

105

ции) Для выделения решений (функций или их производных) мож-но воспользоваться стандартным оператором вывода столбцов мат-рицы Mlt gt

Если матрица правых частей дифференциальных уравнений почти вырождена то такие системы называются жесткими В этом случае решения возвращаемые функцией rkfixed будут неустойчи-выми и для решения таких систем необходимо применять функции Stiffb Stiffr где 1 2 Stiffb y x x n F J ndash ищет решение дифференци-

ального уравнения или системы дифференциальных уравнений ме-тодом Bulirsch-Stoer

1 2 Stiffr y x x n F J ndash ищет решение дифференциального

уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же как и при решении хорошо обусловленных систем дифференциальных уравнений Дополни-тельный аргумент ndash матрица J размером 1n n первый столбец

которой содержит частные производные dF dx остальные столбцы и строки представляют собой матрицу Якоби dF dy

106

0 0 0

0

1 1 1

0

0

n

n

n n n

n

F F F

x y y

F F F

x y yJ x y

F F F

x y y

Пример решения жесткой системы дифференциальных урав-нений

Для отыскания решения системы дифференциальных уравне-

ний только в конечной точке используются функции bulstoer rkadapt stiffb stiffr

Набор параметров для этих функций 1 2 maxbulstoer y x x acc F k save

1 2 maxrkadapt y x x acc F k save

1 2 maxstiffb y x x acc F k save

1 2 maxstiffr y x x acc F k save

107

Первые три параметра и пятый F этих функций те же что и

для функции Rkadapt Дополнительные параметры acc ndash параметр контролирующий точность решения (реко-

мендуется асс = 0001) maxk ndash максимальное число промежуточных точек в которых

ищется решение save ndash минимально допустимый интервал между точками в

которых ищется решение

63 Решение граничных задач для обыкновенных дифференциальных

уравнений

Если для дифференциального уравнения n-го порядка k гра-ничных условий заданы в начальной точке 1x а n k граничных

условий ndash в конечной точке 2x то такая задача называется краевой В MathCAD реализованы две функции позволяющие численно найти недостающие условия в точках 1x и 2x

631 Двухточечная краевая задача

Задача решается в два этапа Сначала с помощью функции sbval находятся недостающие начальные значения а затем приме-няется одна из вышеописанных функций для решения стандартной задачи Коши на отрезке

1 2 sbval V x x xf F load score ndash ищет недостающие началь-

ные условия в точке 1x V ndash вектор начальных приближений для искомых начальных

значений в точке 1x 1x 2x ndash граничные точки интервала F x y ndash вектор-столбец из n элементов содержит правые ча-

сти дифференциальных уравнений 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точке 1x некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

2score x y ndash вектор-столбец размерности вектора V содер-

жащий разность между начальным условием в точке 2x и значени-ем искомого решения в этой точке

108

Теперь решаем задачу традиционным методом

632 Краевая задача с условиями внутри интервала

На первом этапе используется функция ( 1 2 1 2 balfit V V x x xf 1 2 )F load load score ndash ищет недостающие начальные условия

в точках х1 и х2 сшивая решения выходящие из этих точек в точке xf

109

1 2V V ndash векторы начальных приближений для искомых на-чальных значений в точках х1 и х2

х1 х2 ndash граничные точки интервала 2 1 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точках х1 х2 некоторые из значений ndash констан-ты другие неизвестны и будут найдены в процессе решения

2 2 2load x V ndash вектор-столбец из n элементов содержит

начальные значения в точке х2 некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

score xf y ndash вектор-столбец размерности n содержащий раз-

ность между решениями начинающимися в точках х1 и х2 в точке xf

110

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ

71 Одномерная линейная аппроксимация

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

При кусочно-линейной интерполяции или аппроксимации вычи-сления дополнительных точек выполняются по линейной зависимости Графически это означает просто соединение узловых точек отрезками прямых для чего используется следующая функция linterp VX VY x

Для заданных векторов VX и VY узловых точек и заданного ар-гумента х эта функция возвращает значение функции при ее линей-ной аппроксимации При экстраполяции используются отрезки пря-мых с наклоном соответствующим наклону крайних отрезков при линейной интерполяции например

111

72 Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная ин-

терполяция оказывается довольно грубой Для целей экстраполяции функция linterp не предназначена и за пределами области определе-ния может вести себя непредсказуемо

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

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

cspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии в опорных точках к ку-бическому полиному

pspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии к опорным точкам пара-болической кривой

lspline VX VY ndash воз-

вращает вектор VS вторых производных при прибли-жении к опорным точкам прямой Наконец четвертая

функция int erp VS VX VY x ndash возвращает значение у (х) для за-

данных векторов VS VX VY и заданного значения x

112

Таким образом сплайн-аппроксимация проводится в два эта-па На первом с помощью функций cspline pspline или Ispline отыс-кивается вектор вторых производных функции у(х) заданной векто-рами VX и VY ее значений (абсцисс и ординат) Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с по-мощью функции interp

73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D графиков имеется возможность осуществления двумерной сплайн-интерполяции Это позволяет существенно повысить представительность сложных гра-фиков SD-функций в том числе контурных

113

Интерполяция функции двух переменных проводится также в два этапа

1 Вычисляется вектор VS вторых производных в опорных точках с помощью функций

cspline Mxy Mz

pspline Mxy Mz

lspline Mxy Mz

Здесь Mxy ndash матрица размера 2n строки которой определя-

ют по диагонали x y координаты прямоугольной сетки Mz ndash

матрица размера n n значений функции в узлах вышеопределен-ной сетки

2 Вычисление с помощью функции int erp VS Mxy Mz V

Здесь V minus вектор координат x y

Показаны графики функции двух переменных после проведе-ния двумерной сплайн-интерполяции и без нее

114

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ

81 Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х) Задача регрессии заключается в получении параметров этой функ-ции такими чтобы функция приближала облако исходных точек (заданных векторами VX и VY ) с наименьшей среднеквадратичной погрешностью

Чаще всего используется линейная регрессия при которой функция у(х) имеет вид у(х) = a + bx и описывает отрезок прямой К линейной регрессии можно свести многие виды нелинейной ре-грессии при двупараметрических зависимостях у(х)

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций

corr VX VY ndash возвращает скаляр ndash коэффициент корреляции

Пирсона int ercrpt VX VY ndash возвращает значение параметра а (смеще-

ние линии регрессии по вертикали) slope VX VY ndash возвращает значение параметра b (наклона

линии регрессии)

115

82 Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной

регрессии общего вида При ней заданная совокупность точек при-ближается функцией вида

1 2 1 1 2 2 F x K K Kn K F x K F x KnFn x

Таким образом функция регрессии является линейной комби-нацией функций 1 2 F x F x Fn x причем сами эти функции

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

Для реализации линейной регрессии общего вида использует-ся функция inf l it VX VY F Эта функция возвращает вектор

коэффициентов линейной регрессии общего вида K при котором среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек если их координаты хранятся в векторах VX и VY оказы-вается минимальной Вектор F должен содержать функции

1 2 F x F x Fn x записанные в символьном виде

Расположение координат точек исходного массива может быть любым но вектор VX должен содержать координаты упорядочен-ные в порядке их возрастания а вектор VY ndash ординаты соответ-ствующие абсциссам в векторе VX

116

83 Функции для одномерной и многомерной полиномиальной регрессии

Функция для обеспечения полиномиальной регрессии при про-

извольной степени полинома регрессии regress VX VY n введена

в новую версию MathCAD Она возвращает вектор VS запрашиваемый функцией int erp VS VX VY x содержащий коэффициенты многочлена n-й

степени который наилучшим образом приближает laquoоблакоraquo точек с координатами хранящимися в векторах VX и VY

Для вычисления коэффициентов полинома регрессии исполь-зуется функция submatrix

На практике не рекомендуется делать степень аппроксимиру-ющего полинома выше четвертой-шестой поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий поли-ном коэффициенты которого вычисляются по всей совокупности заданных точек те глобально Иногда полезна другая функция по-линомиальной регрессии дающая локальные приближения отрез-ками полиномов второй степени ndash loess VX VY span Эта функция

возвращает используемый функцией int erp VS VX VY x вектор

VS дающий наилучшее приближение данных (с координатами то-чек в векторах VX и VY ) отрезками полиномов второй степени Ар-гумент span gt 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение ndash 075)

117

Чем больше span тем сильнее сказывается сглаживание данных При больших span lt эта функция приближается к 2regress VX VY

MathCAD позволяет выполнять также многомерную регрес-сию самый типичный случай которой ndash приближение трехмерных поверхностей Их можно характеризовать массивом значений высот z соответствующих двумерному массиву Мху координат точек (х у) на горизонтальной плоскости

Новых функций для этого не задано Используются уже описанные функции в несколько иной форме

Regress Mxy Vz n ndash возвращает вектор запрашиваемый функ-

цией int erp VS Mxy Vz V для вычисления многочлена п-й степени который наилучшим образом приближает точки множества Мху и Vz Мху ndash матрица т times 2 содержащая координаты x и y

Vz ndash m-мерный вектор содержащий z-координат соответ-ствующих m точкам указанным в Мху

118

loess Mxy Vz span аналогична loess VX VY span но в

многомерном случае int erp VS Mxy Vz V возвращает значение z по заданным

векторам VS (создается функциями regress или loess) и Мху Vz и V (вектор координат х и у заданной точки для которой находится z)

84 Функция для нелинейной регрессии

общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора K параметров произвольной функции 1 2 F x K K Kn при котором обеспечивается минимальная

среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек

Для проведения нелинейной регрессии общего вида использу-ется функция genfit VX VY VS F Эта функция возвращает вектор

K параметров функции F дающий минимальную среднеквадратич-ную погрешность приближения функцией 1 2F x K K Kn ис-

ходных данных F должен быть вектором с символьными элементами содер-

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

119

ментов вектора K необходимые для решения системы нелинейных уравнений регрессии итерационным методом

85 Функции сглаживания данных

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

medsmooth VY n ndash для вектора с m действительными числами

возвращает m-мерный вектор сглаженных данных по методу сколь-

120

зящей медианы параметр n задает ширину окна сглаживания (n должно быть нечетным числом меньшим m)

ksmooth VX VY b ndash возвращает n-мерный вектор сглаженных

VY вычисленных на основе распределения Гаусса здесь VX и VY ndash n-мерные векторы действительных чисел параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в не-сколько раз превышать интервал между точками по оси х)

sup smooth VX VY ndash возвращает n-мерный вектор сглажен-

ных VY вычисленных на основе использования процедуры линей-ного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k здесь VX и VY ndash n-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возрастания

86 Функция предсказания

Весьма интересной является функция предсказания predikt data k N где data ndash вектор данных k ndash число последних

точек существующих данных на основе которых происходит расчет предсказываемых точек N ndash число точек в которых необходимо предсказать данные Она по ряду заданных равномерно располо-женных точек позволяет рассчитать некоторое число N последую-

121

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

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

122

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ

Вплоть до появления 7-й версии системы MathCAD возможно-сти программирования в них были крайне ограниченными Факти-чески MathCAD позволяла реализовать лишь линейные программы в основе которых лежит понятие функции Функция if и ранжиро-ванные переменные в отдельных случаях могли заменить условные выражения и циклы но с серьезными ограничениями Отсутствова-ла возможность задания завершенных программных модулей

Эти возможности в расширенном варианте появились в MathCAD 70 Pro Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке) включаемой кнопкой на панели Math

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

Эти подпрограммы-функции составляются так же как и опре-деления функций (табл 23) Рассмотрим простой пример вычисле-ния суммы Sum(n) = 1 + 2 + 3 + + n

Задайте сначала имя функции Sum вслед за которым введите список параметров (n) и оператор присваивания =

Введите начальное значение s 0 и отметьте его целиком Стрелка служит оператором присваивания в теле программы вво-дится клавишей (открывающая фигурная скобка) или выбором кнопки со стрелкой с панели

Создайте новую строку программы (вставка вертикальной черты) с помощью кнопки Add Line клавиша (закрывающая квадратная скобка) На экране появится вертикальная черта и пустая ячейка

Выполните щелчок на кнопке for чтобы ввести оператор цикла Перед символом принадлежности введите переменную i а после него ndash промежуток изменения переменной 1n В находящей-ся ниже ячейке введите присваивание s s+i Программа готова

123

Таблица 23 Команды панели Symbolic (символы)

Команда Функция Пример

Add Line Добавляет новую строку поднад (зависит от выделения) текущей строкой

Присваивание значения локальной переменной

if

Условный оператор (оператор ветвления) if условие должно стоять после if а оператор который исполняется если выполнено заданное условие ndash перед if

otherwise Обозначает оператор который должен быть исполнен если условие оператора if не выполняется

for

Цикл for за ключевым словом for следует переменная-счетчик а после символа принадлежности вводится промежуток изменения этой переменной Внутренние операторы цикла сдвинуты немного вправо

while

Цикл while внутренние операторы цикла будут исполняться до тех пор пока будет истинным условие следующее за ключевым словом while Пример показывает применение цикла для нахождения нулей функции методом касательных Ньютона

break

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

continue Служит для преждевременного завершения текущей итерации цикла сам цикл при этом продолжается

retutn Преждевременное завершение программы указанное в ячейке значение будет возвращено

on error Если при вычислении выражения expr2возникла ошибка вычисляется выражение expr1

124

Условный оператор if и оператор otherwise Рассмотрим пример программного блока вычисляющего фак-

ториал с использованием рекурсии

В данном примере 1 возвращается только если n = 0 или n = 1

Обратите внимание на задание нескольких условий ndash со знаком плюс каждое условие в скобках В остальных случаях учитывая формулу n=n(n minus 1) вызывается fakt(n minus 1) и умножается на n С помощью функции error можно вывести сообщение об ошибке при непра-вильном вводе аргумента

Для демонстрации работы цикла for рассмотрим ту же задачу но вычисление факториала осуществим с помощью цикла

Если n = 0 или n = 1 возвращается 1 в противном случае с по-мощью цикла for вычисляется произведение n=123n Вычис-ленное последним значение p возвращается автоматически

В следующем примере с помощью алгоритма Евклида опреде-ляется наибольший общий делитель Для реализации алгоритма используется цикл с ключевым словом while

125

91 Прерывание цикла с помощью операторов break и continue Оператор return

Первый пример ndash реализация метода касательных Ньютона

для определения нулей функции На основе начального значения x вычисляется новое улучшенное значение x расположенное ближе к искомому нулю функции При этом итерации повторяются до тех пор пока значение функции не станет меньше заданной точности (в примере 10minus6)

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

Кроме ключевого слова break имеется ключевое слово

continue с похожей функцией В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору continue прерывает выполнение только текущей итерации

126

92 Ключевое слово continue Ключевое слово continue используется для выявления всех ну-

лей функции на заданном интервале При этом в примере производится разбиение интервала на n

равных подынтервалов и ищутся те из них на которых функция ме-няет знак При обнаружении такого подынтервала вызывается функция реализующая метод касательных Ньютона с начальным значением находящимся в середине подынтервала

Обратите внимание по завершении работы программы выда-

ется вектор значений Ниже приводится программа вычисляющая коэффициенты

Фурье функции причем в результате выдается матрица значений нулевая по счету строка содержит коэффициенты Аn а первая ndash ко-эффициенты Bn Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn и первый ndash для Bn

127

128

ЛАБОРАТОРНЫЕ РАБОТЫ

Методические указания Порядок выполнения работы 1 Получите у преподавателя задание на выполнение очеред-

ной работы (вариант и дополнительные указания) и уясните цель 2 Разработайте структуру и алгоритм работы программы 3 Реализуйте алгоритм в виде текста на языке Maple 4 Продемонстрируйте работу программы преподавателю и

при наличии замечаний сделайте необходимые поправки 5 Подготовьте и сдайте отчет о работе Требования к оформлению отчета

По каждой выполненной лабораторной работе составляется отчет который должен содержать

minus титульный лист с названием учебного заведения и кафедры учебной дисциплины указанием номера работы фамилии исполни-теля и фамилии преподавателя принявшего работу

minus тему цель работы и развернутое лабораторное задание с от-ражением сведений о конкретном варианте

minus при необходимости minus краткое пояснение принципов метода и алгоритма решения задачи

minus текст программы minus фактические результаты исполнения программы minus вывод о работоспособности программы с объяснением при-

чин обнаруженных некорректностей в работе

129

Лабораторная работа 1 Тема Решение нелинейных уравнений

Лабораторные задания 1 Разработать программу вычисления корня нелинейного

уравнения с некоторой точностью одним из четырех методов поло-винного деления (ПД) касательных (К) хорд (Х) хорд и касатель-ных (ХК)

2 Решить эти же уравнения используя встроенные функции MathCAD

3 Сравнить полученные результаты

Методические указания С методами решения можно ознакомиться в [1minus3] Построить графики функций и отделить корень

Варианты заданий

Метод решения Задания

Метод хорд

Вариант 1 1 sin 035x x 2 3 23 9 8 0x x x

Вариант 5

1 12 cos 0368 0x x 2 3 3 1 0x x Вариант 9

1 ctg 3 0x x 2 3 201 06 15 0x x x Вариант 13

1 2 4sin 0x x 2 3 201 04 2 0x x x Вариант 17

1 lg 7 2 6 0x x 2 3 203 09 08 0x x x

Метод половинного деления

Вариант 2

1 2 5 3 0x x 2 22 log 1x x

Вариант 61 exp 2 2 1 0x x 2 tg 2 4x x x

Вариант 10 1 arctg 1 2 0x x 2 4 3 23 4 12 1 0x x x

Вариант 14

1 2 5xe x 2 3l g 1 1x o x

Вариант 18 1 lg 1 1x x 2 4 218 6 0x x

130

Окончание

Метод

касательных

Вариант 3

1 3ln 1 0x x 2 3 22 2 0x x

Вариант 7

1 2 1xx 2 3 23 9 10 0x x x Вариант 11

1 121 1x x 2 3 2 2 0x x

Вариант 151 cos 0x x 2 3 3 1 0x x

Вариант 19 1 2 lnx x 2 3 204 06 18 0x x x

Метод хорд и касательных

Вариант 4

1 2tg 047 02x x 2 3 22 3 12 5 0x x x Вариант 8

1 lg 12 0x x 2 3 23 24 3 0x x x Вариант 12

1 2ctg105 0x x 2 3 23 1 0x x Вариант 16

1 3 cos 1 0x x 2 3 22 9 6 0x x Вариант 20

1 2 21x

x e 2 3 23 8 0x x

131

Лабораторная работа 2 Тема Решение систем Лабораторные задания 1 Решить линейную систему классическим методом Гаусса

или одним из его модифицированных методов 2 Решить линейную систему методом Крамера используя со-

ответствующие пакеты 3 Решить нелинейные системы уравнений методами итераций

и Ньютона 4 Решить эти же системы используя встроенные функции 5 Результаты

Методические указания С методами решения можно ознакомиться в [1minus3 5 6] Построить графики функций и определить область существо-

вания корня Варианты заданий

1 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 1

3 2 4

2 3 6

2 3 4

х х х х

х х х х

х х х х

х х х х

sin 1 12

2 cos 2

x y

x y

2

2 2

tg 04

06 2 1

0 0

xy x

x y

x y

2 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 6

2 3 8

3 2 2 4

2 3 2 8

х х х х

х х х х

х х х х

х х х х

сos 1 05

cos 3

x y

x y

2 2

sin 16 0

1

0 0

x y x

x y

x y

3 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 4 5

2 2 3 1

3 2 2 1

4 3 2 5

х х х х

х х х х

х х х х

х х х х

sin 2 2

cos 1 07

x y

y x

3 2

2 2

tg 01

2 1

xy x

x y

4 1 3 4

1 3 4

1 2 4

1 2 3

3 4 5

2 3 4

3 2 5 12

4 3 5 5

х х х

х х х

х х х

х х х

2 sin 05 1

cos 15

x y

x y

2 2

sin 12 02

1

x y x

x y

132

Продолжение

5 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

3 5 7 12

3 5 7 0

5 7 3 4

7 3 5 16

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

x y

y x

3 2

2 2

tg 03

09 2 1

xy x

x y

6 1 2 3 4

1 2 3

1 2 4

2 3

5 3 4 20

3 2 9

5 7 10 9

3 5 1

х х х х

х х х

х х х

х х

сos 05 08

sin 2 16

x y

y x

2 2

sin 13 0

1

x y x

x y

7 1 2 3 4

1 2 4

2 3 4

1 2 3 4

2 5 8

3 6 9

2 2 5

4 7 6 0

х х х х

х х х

х х х

х х х х

sin 1 13

sin 1 08

x y

x y

3

2

2 2

tg

08 2 1

xy x

x y

8 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 4

3 3 3 2 6

3 2 6

3 3 6

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

y x

x y

2 2

sin 15 01

1

x y x

x y

9 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 7

2 5

2 1

3 3 10

х х х х

х х х х

х х х х

х х х х

сos 05 2

sin 2 1

x y

y x

3

2

2 2

tg

07 2 1

xy x

x y

10 1 2 4

1 2 3

2 3 4

1 2 3 4

4 2 9

3 4 7

3 2 4 12

2 3 0

х х х

х х х

х х х

х х х х

sin 2 15

cos 2 05

x y

y x

2 2

sin 12 01

1

x y x

x y

11 1 2 3 4

1 2 4

1 3 4

1 2 3 4

2 1

2 3 2

3 3

2 2 2 5 6

х х х х

х х х

х х х

х х х х

sin 1 12

cos 2 2

y x

x y

2

2 2

tg 02

06 2 1

xy x

x y

12 1 2 3 4

2 3 4

1 2 4

1 2 3

2 0

2 2

3 1

3 2 0

х х х х

х х х

х х х

х х х

сos 1 05

cos 3

y x

y x

2 2

sin 15 01

1

x y x

x y

133

Окончание

13 1 2 4

1 2 3 4

1 3 4

1 2 4

5 9

3 3 4 7

3 2 16

4 0

х х х

х х х х

х х х

х х х

сos 1 07

sin 2 2

x y

y x

2

2 2

tg 04

08 2 1

xy x

x y

14 1 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 9

2 8

2 5

2 1

х х х

х х х х

х х х х

х х х х

2 sin 05 1

cos 15

y x

y x

2 2

sin 12 01

1

x y x

x y

15 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 6 2 2 12

3 5 7 12

3 5 7 0

5 7 3 4

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

y x

x y

2

2 2

tg 01

09 2 1

xy x

x y

16 1 2

1 2 3 4

1 2 3 4

1 2 3 4

5 2

2 3 2 4

3 2 6

3 3 6

х х

х х х х

х х х х

х х х х

сos 05 08

sin 2 16

x x

x y

2 2

sin 14

1

x y x

x y

17 1 2 4

1 2 3 4

1 2 3 4

1 2 3 4

4 2

2 3 1

2 3 6

2 3 4

х х х

х х х х

х х х х

х х х х

sin 1 13

sin 1 08

y x

y x

2

2 2

tg 01

05 2 1

xy x

x y

18 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

5 3 4

2 3 2 6

2 2 3 8

3 2 2 4

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

x y

y x

2 2

sin 11 01

1

x y x

x y

19 1 2 3 4

1 2 3 4

1 3 4

1 2 3 4

4 2 4 3

2 1

3 3

2 2 2 5 6

х х х х

х х х х

х х х

х х х х

2 cos 05

sin 2 1

x y

x y

2 2

tg

2 1

x y xy

x y

20 1 3 4

2 3 4

1 2 4

1 2 3

2 2 1

2 2

1

3 2 0

х х х

х х х

х х х

х х х

sin 2 15

cos 2 05

y x

x y

2 2

sin 1

075

x y xy

x y

134

Лабораторная работа 3 Тема Работа с многочленами Лабораторные задания 1 Исследовать заданные функции на непрерывность найти их

экстремумы 2 Разложить заданную функцию одного переменного в ряд в

окрестности указанной точки 0x до n-го порядка 3 Преобразовать ряд в многочлен который разложить по сте-

пеням х а Построить графики заданной функции и получивше-

гося многочлена 4 Уметь находить коэффициенты при заданных степенях

старшие и младшие степени корни из многочлена и интервалы дей-ствительных корней многочлена раскладывать в ряд функции мно-гих переменных

Варианты заданий

Номер варианта

Функция n 0x

1 siny x arcsinu xy 10 1

2 cosy x u xy 8 minus1

3 lny x zu xy 9 3

4 tgy x zu y x 6 minus2

5 arcsiny x expu z xy 10 minus07

6 arccosy x lnu x y z 9 08

7 exp 2y x expu x zy 6 17

8 3 4 5y x x u th x y z 8 minus066

9 05log 1y x u ch x y z 5 15

10 05 2y sh x 2 2 2x y z 10 05

11 03 4y ch x 2 2 2x y z 7 minus045

12 13arctgy x 2 2 21 u x y z 5 03

13 1 exp 1y x x 2 2 2ln u x x y z 10 minus14

14 3 cos 1y x x 2 2tg u z x y 12 09

135

Окончание

Номер варианта

Функция n 0x

15 2 1 sin 7 3y x x ctgu x y z 9 055

16 2tgy x 22 z x y 6 08

17 2ln 1y x 2 2 21 cosu x y z 10 01

18 2 21 1y x x 2 2 21 sinu x y z 8 0

19 2 21 1y x x 2tgu x z 9 0

20 2 2sin 1y x x u cth x y z 10 036

136

Лабораторная работа 4 Тема Интерполяция и экстраполяция функций Цель построение интерполяционных многочленов по равно-

и неравноотстоящим узлам вычисление значений функций в ука-занных точках

Лабораторные задания 1 Построить интерполяционные многочлены Лагранжа Нью-

тона по равно- и неравноотстоящим узлам а также первые и вторые интерполяционные формулы Ньютона Гаусса и Бесселя

2 Выполнить линейную квадратичную кубическую и четвер-того порядка сплайн-аппроксимацию

Методические указания С методами построения многочленов можно ознакомиться

в [1minus3]

Варианты заданий

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

0298

0303

0310

0317

0323

0330

0339

150

155

160

165

170

175

180

325578

317639

312180

304819

2098755

2091950

283598

1

7

13

19

02006 03645

144 182

02654 03325

146 177

03127 03222

154 185

02746 03033

149 172

043

048

055

062

070

075

078

0115

0120

0125

0130

0135

0140

0145

163597

173234

187686

203345

222846

235973

253687

2

8

14

20

04984 073482

01144 0142

04998 08375

01004 0148

04256 08751

01157 0152

04057 08599

0105 0150

137

Окончание

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

011 015 021 029 035 041 047

150 155 160 165 170 175 180

15132 17422 20393 23994 28160 32812 37875

3 9

15

18

0112 0481 143 175 0128 0462 156 1751 0104 0439 148 1782 0103 04661 1523 1885

002 008 012 017 023 030 035

0375 0380 0385 0390 0395 0400 0405

102316 109590 121483 114725 130120 140976 139642

4

10

16 5

0021 036 0365 0406 024 0348 0379 0427 005 0321 0384 0403 0057 0337 0371 0413

068 073 080 088 093 099 106

185 190 195 200 205 210 215

43198 48689 54653 59653 64817 69554 71258

6

11

17

12

066 105 182 214 069 11 188 211 071 103 173 201 0682 0983 194 221

138

Лабораторная работа 5 Тема Разложение функций в ряд Фурье

Лабораторные задания 1 Разложить заданную функцию в ряд Фурье по системе ор-

тонормированных функций 2 Построить в одной системе координат графики функции и

некоторых частичных сумм ряда Фурье

Методические указания С методами решения можно ознакомиться в [1minus3 5minus7]

Варианты заданий

Номер варианта Функция у(х) Система функций

1 expx x Гегенбауэра

2 23 5 11x x Эрмита

3 sin 2 6x Лагерра

4 cos 5 x Лежандра

5 21 3x Якоби

6 2 21 1x x Чебышева 1-го рода

7 2 21 1x x Чебышева 2-го рода

8 1 cos x Гегенбауэра9 1 sin x Эрмита10 cosx x Лагерра11 sinx x Лежандра12 cos x x Якоби

13 sin x x Чебышева 1-го рода

14 exp x x Чебышева 2-го рода

15 6x Гегенбауэра16 1 x Эрмита17 1 Лагерра18 2cos x Лежандра

19 2sin x Якоби

20 122 1x Чебышева 1-го рода

21 122 1x Чебышева 2-го рода

139

Лабораторная работа 6 Тема Решение дифференциальных уравнений Лабораторные задания 1 Решить дифференциальное уравнение методами Эйлера

Рунге-Кутта Милна Адамса и простроить графики решений считая начальные условия нулевыми

2 Решить дифференциальное уравнение методами системы MathCAD и сравнить результаты решений

Методические указания Принять шаг равным 01 в качестве отрезка на котором ищет-

ся решение взять отрезок [01] С методами решения можно ознакомиться в [1minus3 5 6 8] Варианты заданий

Но-мер вари-анта

Уравнение у= f(x)

Но-мер вари-анта

Уравнение у= f(x)

1 21 02 siny y x y 11 cos 05y x y x y

2 2cos 1 05y x x y 12 2cos 1 06y x y y

3 21 04 sin 15y y x y 13 2cos 2 03y y x y

4 cos 15y x y x y 14 1 sin 05 2y x y y x

5 2cos 15 01y y x y 15 21 06sin 125y x y

6 cos 2 15y x y x y

16 1 01 2 sin 2y y x x y

7 2cos 1254 01y y x y

17 21 08 sin 2y y x y

8 cos 15 15y x y x y

18 1 sin 2 03 2y x y y x

9 2cos 175 05y y x y

19 1 1 sin 2y x y y x

10 2cos 08 03y x y y 20 21 22sin 15y x y

140

Лабораторная работа 7

Тема Интегральные преобразования Цель вычисление интегральных преобразований

Лабораторное задание От заданных функций найти прямое и обратное преобразова-

ние Фурье Лапласа Гильберта и Меллина

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

ознакомиться в [1minus3 5minus7] Так как не все заданные функции записа-ны в таблицы интегральных преобразований то необходимо соста-вить для них соответствующие интегральные суммы

Варианты заданий

Номер варианта Функция Номер варианта Функция

1 x 11 2 0

0 0

x

x

2 1 0 1

2 1

0 0 2

x

x x

x x

12 2x

3 1 0 1

0 0 1

x x

x x

13 2 0 2

0 0 2

x x

x x

4 sin 0

0 0

x x

x

14 0

0 0

x x

x

5 cos 0

0 0

x x

x

15 3x

6 1 0 1

3 1

0 0 2

x x

x x

x x

16 3 0 1

3 1

0 0 9

x x

x

x x

7 2 0

0 0

x x

x

17

1 1 1

0 1 1

x

x x

8 3 0

0 0

x x

x

18

1 1

0 1 1

x x

x x

9 exp x 19 2 1 1

0 1 1

x x

x x

10 exp 0

0 0

x x

x

20 3 1 1

0 1 1

x x

x x

141

САМОСТОЯТЕЛЬНЫЕ РАБОТЫ

Самостоятельная работа 1 1 Вычислите для каждого значения 1 5 7x следующие

функции

3 62 5

1y

x x

2

21

2

x

y e

2arctg

2

xy

Рекомендуется использовать операцию векторизации (MathPalette матричные операции) Измените количество значащих цифр выводимых на экран после десятичной точки на 6

2 Решите двумя способами (матричным и с помощью функ-

ции lsolve) систему линейных уравнений

2 0

2 3 1

5 1

x y z

x y z

x y z

Справку по использованию функции lsolve найдите в справоч-ной системе MathCAD

3 Смените нижнюю границу индексации массивов на 1 Вы-ведите решение системы уравнений из п 2 в виде вектора-столбца и поэлементно

4 Скопируйте первую из формул п 1 и замените в ней первое подкоренное выражение в знаменателе на sin x а второй операнд

в знаменателе ndash на ctg2

x

Присвойте полученное выражение но-

вой переменной G (удалив у) 5 Вставьте в документ текстовую область laquoПостроение про-

стейшего графикаraquo 6 Определите функцию sin cos 1f x x x

7 Постройте график функции f x (воспользуйтесь быстрым

построением графиков)

142

Самостоятельная работа 2 1 Задайте вектор 1V состоящий из трех элементов 231 и

вектор 2V ndash 417

2 Выполните следующие операции 1 3V 1 2V V 1 2V V 1 2V V просуммируйте элементы 1V транспонируйте вектор 2V

вычислите норму вектора 1V используя операцию векторизации вычислите sin 1V и посчитайте норму получившегося вектора

3 Задайте матрицу М с размерностью 2 3 транспонируйте ее 4 Создайте единичную матрицу Е размерности 5 5 вычис-

лите ее след 5 Создайте две квадратные матрицы 1M и 2M размерности

3 3 перемножьте их у полученной матрицы вычислите определи-тель выведите на экран второй столбец и поэлементно третью строку

6 Сложите матрицы 1M и 2M (матрица MM ) для получен-ной матрицы вычислите exp MM

7 Объедините матрицу MM и вектор 1V отсортируйте полу-ченную матрицу по первым столбцу и строке

8 Вычислите собственные значения любой из введенных мат-риц размерности 3 3 а также собственный вектор принадлежащий второму собственному значению

143

Самостоятельная работа 3 1 Задайте ранжированную переменную х меняющуюся от 0

до 2 с шагом 01 определите функцию 2sin 2f x x x построй-

те ее график

2 Определите изменение целого индекса i от 0 до 15 10ix i

2sin 2i i iy x x постройте график функции i iy x

3 Постройте график функции 2 2g x y x y где перемен-

ные x и y меняются от minus5 до 5 4 Изобразите сферу Ее параметрическое представление имеет

вид

8 0 0

cos sin

sin sin

cos

R

x R

y R

z R

Число точек 30N

5 Анимация Измените определение радиуса сферы

cosR f FrameF Постройте анимационный график (число

кадров равно 20 число кадров в секунду minus 3 Просмотрите на плеере получившуюся анимацию

ВНИМАНИЕ Перед построением анимации не забудьте от-ключить АВТОМАСШТАБ

6 Постройте графики функций заданных полярно

115 0 2

31 sin 2

2

sin 31 1

2

NN

r

r

144

7 Изобразите пространственную кривую

340 1 cos

3 sin

3

i

i

i

N i N x iN

y iN

z iN

8 Увеличьте число точек N повторите построение предыду-щего графика поэкспериментируйте меняя различные параметры отображения графика

145

Самостоятельная работа 4 1 Используя команды меню Symbolic вычислите в символь-

ном виде

1 sin

dx

x 1

cosm

n

na

2 Разложите по степеням sin 5x Посчитайте производную

от полученного выражения Постройте график функции и ее пред-ставлений в виде ряда включающих 2 члена разложения 5 членов разложения и 10 членов разложения

3 Вычислите коэффициенты полинома по степеням х и у

2 2 2 25 6 7 8 9 10x y x y xy xy x y

4 Используя интегральное преобразование Лапласа (и обрат-ное преобразование Лапласа) решите в символьном виде диффе-ренциальное уравнение

sind

y t ky t tdt

5 Используя палитру символьных преобразований найдите точку в которой функция двух переменных имеет экстремум

sind

y t ky t tdt

6 Вычислите в символьном виде интеграл предположив что с minus действительное число с gt 0

0

expx ct dt

7 Используя оператор символьного вывода и блок Givenhellip Find решите в символьном виде систему уравнений

2

2

400 2 2 0

200 200 0

y x x b x

y x

146

8 Вычислите предел от функции tg x при х стремящемся к

2 minus обыкновенный слева и справа 9 Исследуйте аналитически функцию f x определите точки

максимума и минимума точки перегиба постройте графики f x

f x и f x

2

2

1

xf x

x

147

Самостоятельная работа 5 1 Найдите решения систем уравнений (если они существуют)

а) 2

23 1

2 2

yx

x y

б) 2

2

0

1 0

x

e y

x y

с помощью блоков GivenhellipFind GivenhellipMinner Проверьте все ли решения найдены

2 Решите на отрезке [0 3] задачу Коши

0 051

x

x

ey y

e

используя функцию odersolve (в блоке с Given) и функцию rkfixed Выведите значение полученного решения в точке x = 3 3 Решите задачу Коши для дифференциального уравнения

0 0 3 0 1 0 1y y y y y

на отрезке [01] используя функцию odersolve (в блоке с Given) и функцию rkadapt

4 Решите систему дифференциальных уравнений

2 3 0 0 0 5

2 0 2 0 1

x x y x x

y x y y y

на отрезке [0 3] Выведите значения искомых функций и их произ-водных в точке с координатой х =15

5 Решите краевую задачу для дифференциального уравнения

10 0 0 0 8 1

2y yy y y y

на отрезке [0 8] выведите значение функции и ее производных в конечной точке отрезка

6 Для примера из п 5 вычислите значение функции только в конечной точке Используйте специально предназначенные для это-го формы функций bulstoer rkadapt stiffb stiffr

7 Найдите корни многочлена

3 22 20 2 100y x x x x

с помощью функций root и poltroots (Обратите внимание на значе-ние системной переменной)

148

Самостоятельная работа 6 1 Составьте программу вычисляющую константу фигуриру-

ющую в легенде об изобретателе шахмат Изобретатель попросил дать ему в награду определенное количество зерна положив на

первую клетку одно зернышко ( 1 12 те 02 ) на вторую minus два зер-

нышка ( 2 12 ) на третью minus четыре ( 3 12 ) и тд (на новой клетке зе-рен в 2 раза больше чем на предыдущей) Найдите общее число зе-рен составляющих награду изобретателя Вычислите их массу приняв за массу одного зерна 03 грамма Переведите полученный результат в тонны Вы знаете это число А MathCAD знает

2 Модифицируйте программу предусмотрев выход из нее ес-

ли число зерен больше триллиона ( 1210 ) 3 Составьте программу-функцию вычисляющую по заданным

длинам сторон треугольника a b c три величины периметр тре-угольника его площадь и радиус вписанной окружности

1

2s p p a p b p c

12p a p b p c

rp

где p minus полупериметр Предусмотрите в программе оценку существования треуголь-

ника с заданными длинами сторон a b c и выдачу результата об ошибке если треугольник с указанными сторонами не существует

4 Составьте программу-функцию вычисляющую n коэффи-циентов разложения функции f x заданной на отрезке L L в

ряд Фурье minus те параметрами являются f n L 5 Используя построенную в п 4 функцию вычислите при-

ближение рядом Фурье ступенчатой функции заданной на 11

0 если 1 0

1 если 0 1

xf x

x

Рассмотрите приближения для разных n (например 3n и 40n ) Постройте график функции f x и ее приближений рядами

Фурье с различным числом членов разложения

149

Самостоятельная работа 7 1 Введите матрицу координат точек плоскости

х 01 5 11 05 34 27 19 4 47 у 10 13 5 7 3 45 6 25 15

Постройте линейную и сплайновую интерполяцию для данно-

го laquoоблакаraquo точек Постройте функции линейной полиномиальной и обобщенной регрессии для этих же точек

2 С помощью функции rnd введите 50 случайных чисел из от-резка [0 2] Постройте функции сглаживания данных (с помощью различных встроенных функций)

3 С помощью функции predict предскажите поведение функ-ции sin 2f x x на [2 4] если предположить что она задана

на отрезке 0 2 Изменится ли предсказанное поведение если в

качестве исходных данных взять функцию определенную на [0 ]

150

СПИСОК ЛИТЕРАТУРЫ 1 Демидович Б П Основы вычислительной математики

Б П Демидович И А Марон М Лань 2011 minus 672 с 2 Фаддеев Д К Вычислительные методы линейной алгебры

Д К Фаддеев В Н Фаддеева М Лань 2002 736 с 3 Вержбицкий В М Численные методы учеб пособие для

вузов В М Вержбицкий minus 2-е изд испр minus М ООО Изд дом laquoОНИКС 21 векraquo 2005 minus 400 с

4 Вержбицкий В М Численные методы Математический анализ и обыкновенные дифференциальные уравнения В М Верж-бицкий minus М Высш шк 2001 minus 382 с

5 Воробьева Г Н Практикум по численным методам Г Н Во-робьева А Н Данилова minus М Высш шк 1990 minus 208 с

6 Кудрявцев Л Д Краткий курс математического анализа учеб для вузов Л Д Кудрявцев minus М Наука Гл ред физ-мат лит 2005 minus 736 с

151

Учебное издание

Черушева Татьяна Вячеславовна Зверовщикова Наталья Васильевна

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

В трех частях

Часть 1

Редактор Т В Веденеева Компьютерная верстка Р Б Бердниковой

Подписано в печать 9122015 Формат 60times84116 Усл печ л 883 Тираж 50

Заказ 1069

Издательство ПГУ

440026 Пенза Красная 40 Телфакс (8412) 56-47-33 е-mail iicpnzguru

  • Пустая страница
Page 5: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

5

ПРЕДИСЛОВИЕ

Интегрированная компьютерная система MathCAD (Mathema-tical Computer Aided Design) является одной из самых распростра-ненных в мире программных сред предназначенных для решения широкого круга математических задач Программа MathCAD позво-ляет моделировать в электронном документе научно-технические расчеты в форме близкой к общепринятому в математике виду MathCAD имеет мощный математический аппарат в виде библиоте-ки встроенных программ реализующих множество математических алгоритмов Система поддерживает как численные так и аналити-ческие операции В ней можно работать без программирования В MathCAD есть собственные текстовый формульный и графиче-ский редакторы возможность использования трехмерной графики

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

6

1 РАБОТА В СРЕДЕ MATHCAD

11 Интерфейс пользователя

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

Рис 1

111 Главное меню системы

Вторая строка окна системы ndash главное меню Назначение его команд приведено на рис 2

Рис 2

7

Рассмотрим эти команды File (Файл) ndash работа с файлами сетью Интернет и электронной

почтой Ниспадающее меню содержит команды стандартные для

Windows-приложений Edit (Правка) ndash редактирование документов Ниспадающее меню также содержит команды стандартные

для Windows-приложений Большинство из них доступны только в случае если в документе выделены одна или несколько областей (текст формула график и тд)

View (Обзор) ndash изменение средств обзора Toolbars (Панели инструментов) ndash позволяет отображать или

скрывать панели инструментов Standart (Стандартная) Formatting (Форматирования) Math (Математика)

Status bar (Строка состояния) ndash включение или отключение отображения строки состояния системы

Ruler (Линейка) ndash установка мерной линейки Regions (Границы) ndash делает видимыми границы областей (тек-

стовых графических формул) Zoom (Масштаб) ndash увеличивает или уменьшает размер доку-

мента при изменении масштаба Refresh (Обновить) [Ctrl+R] ndash обновление содержимого экрана Animate (Анимация) ndash команда позволяющая создать анимацию Playback (Проигрыватель) ndash воспроизведение анимации хра-

нящейся в файле с расширением AVI Preferences (Настройки) ndash одна из вкладок всплывающего окна

(General) позволяет задать некоторые параметры работы програм-мы не влияющие на вычисления другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet

Insert (Вставка) ndash команды этого меню позволяют помещать в MathCAD-документ графики функции гиперссылки компоненты и встраивать объекты

Format (Формат) ndash изменение формата объектов Equation (Уравнение) ndash форматирование формул и создание

собственных стилей для представления данных Result (Результат) ndash позволяет задать формат представления

результатов вычислений Text (Текст) ndash форматирование текстового фрагмента (шрифт

размер начертание)

8

Paragraf (Абзац) ndash изменение формата текущего абзаца (от-ступы выравнивание)

Tabs (Табуляция) ndash задание позиций маркеров табуляции Style (Стиль) ndash оформление текстовых абзацев Properties (Свойства) ndash вкладка Display (Отображение) поз-

воляет задать цвет фона для наиболее важных текстовых и графиче-ских областей вставленный в документ рисунок ( Insert Picture ) позволяет заключить его в рамку вернуть ему первоначальный размер

Вкладка Calculation (Вычисление) позволяет для выделенной формулы включить и отключить вычисление в последнем случае в правом верхнем углу области формулы появляется маленький чер-ный прямоугольник и формула превращается в комментарий

Graf (График) позволяет менять параметры отображения графиков

Separate regions (Разделить области) ndash позволяет раздвигать перекрывающиеся области

Align regions (Выровнять области) ndash выравнивает выделенные области по горизонтали или по вертикали

HeadersFooters (Колонтитулы) ndash создание и редактирование колонтитулов

Repaganite Now (Перенумерация страниц) ndash производит раз-бивку текущего документа на страницы

Math (Математика) ndash управление процессом вычислений в MathCAD существует два режима вычислений автоматический и ручной В автоматическом режиме результаты вычислений полно-стью обновляются при каком-либо изменении в формуле

Automatic Calculation (Автоматическое вычисление) ndash позво-ляет переключать режимы вычислений

Calculate (Вычислить) ndash при ручном режиме вычислений поз-воляет пересчитать видимую часть экрана

Calculate Worksheet (Просчитать документ) ndash пересчет всего документа целиком

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

Options (Параметры) ndash позволяет задавать параметры вычис-лений

9

Symbolik (Символика) ndash выбор операций символьного процес-сора

Window (Окно) ndash управление окнами системы Help (Справка) ndash работа со справочной базой данных о системе MathCAD Help (Справка по MathCAD) ndash содержит три вклад-

ки Содержание ndash справка упорядочена по темам Указатель ndash предметный указатель Поиск ndash находит нужное понятие при вводе его в форму

Resource Center (Центр ресурсов) ndash информационный центр содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials) быструю справку в виде примеров из раз-личных областей математики (Quicksheets and Reference tables)

Tip of the Day ndash всплывающие окна-подсказки с полезными со-ветами (возникают при загрузке системы)

Open Book (Открыть книгу) ndash позволяет открыть справочник системы MathCAD

About MathCAD (О программе MathCAD) ndash информация о вер-сии программы авторских правах и пользователе

Каждая позиция главного меню может быть сделана активной Для этого достаточно указать на нее курсором ndash стрелкой мыши и нажать ее левую клавишу Можно также нажать клавишу F10 и ис-пользовать клавиши перемещения вправо и влево Затем выбор фиксируется нажатием клавиши ввода Enter Если какая-либо пози-ция главного меню делается активной она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций Перемещение по списку подменю и выбор нужной операции производятся аналогично тому как это описано для главного меню

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

Третью строку окна системы занимает панель инструментов

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

Рис 3

10

Кнопки операций с файлами Документы системы MathCAD являются файлами Файлы

можно создавать загружать (открывать) записывать и распечаты-вать на принтере Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок

New Worksheet (Создавать) ndash создание нового документа с очисткой окна редактирования

Open Worksheet (Открыть) ndash загрузка ранее созданного доку-мента из диалогового окна

Save Worksheet (Cохранить) ndash запись текущего документа с его именем

Печать и контроль документов

Print Worksheet (Печать) ndash распечатка документа на принтере Print Preview (Просмотр) ndash предварительный просмотр доку-

мента Check Speling (Проверка) ndash проверка орфографии документа

Кнопки операций редактирования Во время подготовки документов их приходится редактиро-

вать те видоизменять и дополнять с помощью следующих кнопок Cut (Вырезать) ndash перенос выделенной части документа в бу-

фер обмена с очисткой этой части документа Copy (Копировать) ndash копирование выделенной части докумен-

та в буфер обмена с сохранением выделенной части документа Paste (Вставить) ndash перенос содержимого буфера обмена в ок-

но редактирования на место указанное курсором мыши Undo (Отменить) ndash отмена предшествующей операции редак-

тирования Три последние операции связаны с применением буфера об-

мена Он предназначен для временного хранения данных и их пере-носа из одной части документа в другую либо для организации об-мена данными между различными приложениями

Кнопки размещения блоков

Документы состоят из различных блоков текстовых фор-мальных графических и тд Блоки просматриваются системой ин-

11

терпретируются и исполняются Просмотр идет справа налево и снизу вверх

ndash Align Across (Выровнять по горизонтали) ndash блоки вы-равниваются по горизонтали

ndash Align Down (Выровнять вниз) ndash блоки выравниваются по вертикали располагаясь сверху вниз

Пиктограммы этих кнопок изображают блоки и указанные ва-рианты их размещения

Кнопки операций с выражениями

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

Следующие группы кнопок являются специфичными именно для системы MathCAD (рис 4)

Рис 4

ndash Insert Function (Вставить функции) ndash вставка функции из списка появляющегося в диалоговом окне

ndash Insert Unit (Вставить единицы) ndash вставка единиц измере-ния

ndash Calculate (Пересчитать) ndash вычисление выделенного вы-ражения

ndash Insert Giperlink (Включение гиперссылки) ndash обеспечивает создание гиперссылки

ndash Component Wizard (Мастер компонентов) ndash открывает окно Мастера дающего удобный доступ ко всем компонентам си-стемы

ndash Run Math Connex (Запуск системы Math Connex) ndash за-пуск системы для стимулирования блочнозаданных устройств

Кнопки управления ресурсами

ndash Resource Center (Центр ресурсов) ndash дает доступ к центру ресурсов (см рис 4)

MathCAD 2000 Professional

12

ndash Help (Справка) ndash дает доступ к ресурсам справочной базы данных системы

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

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами

Style ndash Переключатель выбора стилей Font ndash Переключатель выбора набора символов Point Size ndash Переключатель выбора размеров символов Bold ndash Установка жирных символов Italik ndash Установка наклонных символов Underline ndash Установка подчеркнутых символов Left Align ndash Установка левостороннего выравнивания Center Align ndash Установка выравнивания по центру Right Align ndash Установка правостороннего выравнивания До тех пор пока не начат набор элементов документа часть

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

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

113 Наборные математические панели инструментов

Для ввода математических знаков в MathCAD используются

удобные перемещаемые наборные панели со знаками (рис 5) Они служат для вывода заготовок ndash шаблонов математических знаков (цифр знаков арифметических операций матриц знаков интегра-лов производных и тд) Для вывода панели Math необходимо вы-полнить команду View Toolbar Math Наборные панели появ-ляются в окне редактирования документов при активизации

13

соответствующих пиктограмм ndash первая линия пиктограмм управле-ния системой Используя общую наборную панель можно вывести или все панели сразу или только те что нужны для работы Для установки с их помощью необходимого шаблона достаточно поме-стить курсор в желаемое место окна редактирования (красный кре-стик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона установив на него курсор мыши и нажав ее ле-вую клавишу

Рис 5

Многие функции и операции которые вставляются в документ

с помощью наборных математических панелей могут быть поме-щены в документ с помощью laquoбыстрых клавишraquo При этом работа в системе MathCAD становится более продуктивной Рекомендуем запомнить сочетания клавиш хотя бы для некоторых наиболее часто употребляемых команд

12 Входной язык системы MathCAD Типы данных

MathCAD обладает специализированным входным языком

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

14

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

121 Алфавит MathCAD 2000 PRO

Алфавит входного языка системы определяет совокупность символов и слов которые используются при задании команд необ-ходимых для решения интересующего пользователя класса задач Алфавит системы MathCAD содержит

minus строчные и прописные латинские буквы minus строчные и прописные греческие буквы minus арабские цифры от 0 до 9 minus системные переменные minus операторы minus имена встроенных функций minus спецзнаки minus строчные и прописные буквы кириллицы (при работе с ру-

сифицированными документами) К укрупненным элементам языка относятся типы данных опе-

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

Для ввода греческих букв можно использовать панель набор-ных знаков Greek включаемую кнопкой на панели Math Кроме того в MathCAD предусмотрена возможность набора греческих букв с помощью клавиш Для этого достаточно набрать соответ-ствующую английскую букву и нажать комбинацию клавиш [Ctrl+G]

122 Числовые константы

Константами называют поименованные объекты хранящие некоторые значения которые не могут быть изменены В качестве имени числовых констант используются их числовые значения В системе MathCAD используются и числовые константы значени-ями которых являются числа с разной системой исчисления деся-тичные восьмеричные или шестнадцатеричные

15

Числовые константы задаются с помощью арабских цифр де-сятичной точки (а не запятой) и знака ndash (минус) Например

123 ndash целочисленная десятичная константа 123 ndash десятичная константа с дробной частью

5123 10 ndash десятичная константа с мантиссой 123 и поряд-ком ndash5

Порядок числа вводится умножением мантиссы на 10 в степе-ни определяющей порядок Знак умножения при выводе числа на экран меняется на привычную математическую точку а операция возведения в степень (с применением спецзнака ^) отображается пу-тем представления порядка в виде надстрочного элемента Десятич-ные числа имеют основание 10 Диапазон их возможных значений лежит в пределах от 10 ^ 307 до 10 ^ 307 (это машинная бесконеч-ность и машинный нуль)

Система MathCAD может работать с восьмеричными и шест-надцатеричными числами Восьмеричные числа имеют основание 8 так что один их разряд может иметь значения от 0 до 7 Такие числа в конце отмечаются латинской буквой O (от слова octal ndash восьме-ричное) Шестнадцатеричные числа имеют основание 16 и их раз-ряд может иметь значения

HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный при-знак в виде буквы h или H (от слова hexagonal ndash шестнадцатерич-ное) Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal ndash десятичное) Если число шестнадцатеричное начинается с буквы (например ABCО) то си-стема будет путать его с возможным именем переменной Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (нуль)

123 Комплексные числа

Большинство вычислений система выполняет как с действи-тельными так и с комплексными числами которые обычно пред-ставляются в алгебраическом виде Re ImZ Z i Z или

Re ImZ Z j Z Здесь ReZ minusдействительная часть комплексного числа Z ImZ ndash его мнимая часть а символы i или j обозначают мни-

16

мую единицу те корень квадратный из ndash1 Такое представление характерно для системы MathCAD Однако система не всегда знает какой символ применить для обозначения мнимой единицы Поэто-му перед использованием любых операций с комплексными числа-ми полезно вначале определить i или j как мнимую единицу (те присвоить им значение квадратного корня из ndash1)

124 Строковые константы

Строковая константа ndash это строка заключенная в кавычки например laquoMy nameraquo В строковую константу могут входить один или несколько символов либо слов

125 Переменные

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

Идентификатор начинается только с буквы например X 1X Идентификатор не должен содержать пробелов Нельзя использо-вать для идентификаторов буквы русского языка Идентификаторы не могут совпадать с именами встроенных или определенных поль-зователем функций

126 Системные переменные

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

17

Таблица 1

Системные переменные

Объект Клавиши Назначение

π Alt+Ctrl+P Число пи (314)

е E Основание натурального логарифма (272)

Ctrl+Z Системная бесконечность (10^307)

Процент (001)

TOL Погрешность численных методов (0001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Ширина столбцов (в символах) для операто-ра WRITEPRN (8)

PRNPRECISSION Число десятичных знаков используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

127 Операторы

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

128 Встроенные функции

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

18

Элементарные встроенные математические функции

Элементарные функции представим в табл 27 Таблица 2

Тригонометрические функции

sin( )z Синус cos( )z Косинус tan( )z Тангенс sec( )z Секанс csc( )z Косеканс cot( )z Котангенс

Таблица 3

Гиперболические функции

sinh( )z Гиперболический синус cosh( )z Гиперболический косинус tanh( )z Гиперболический тангенс sech( )z Гиперболический секанс csch( )z Гиперболический косеканс coth( )z Гиперболический котангенс

Таблица 4

Обратные тригонометрические функции

sin( )A z Обратный тригонометрический синус cos( )A z Обратный тригонометрический косинус tan( )A z Обратный тригонометрический тангенс

Таблица 5

Обратные гиперболические функции

sinh( )A z Обратный гиперболический синус cosh( )A z Обратный гиперболический косинус tanh( )A z Обратный гиперболический тангенс

Таблица 6

Показательные и логарифмические функции

exp( )z Экспоненциальная функция ln( )z Натуральный логарифм (по основанию e) log( )z Десятичный логарифм (по основанию 10)

Таблица 7

Функции комплексного аргумента

Re( )z Выделение действительной части z Im( )z Выделение мнимой части z Arg( )z Вычисление аргумента (фазы)

19

Специальные встроенные математические функции

Функции Бесселя К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя являю-щиеся решениями некоторых дифференциальных уравнений второ-го порядка (табл 8)

Таблица 8 Список функций Бесселя

0J x Функция Бесселя первого рода нулевого порядка 0I x Модифицированная функция Бесселя первого рода нулевого порядка 0Y x Функция Бесселя второго рода нулевого порядка

0K x Модифицированная функция Бесселя второго рода нулевого порядка

1J x Функция Бесселя первого рода первого порядка 1I x Модифицированная функция Бесселя первого рода первого порядка 1Y x Функция Бесселя второго рода первого порядка 1K x Модифицированная функция Бесселя второго рода первого порядка Jn n x Функция Бесселя первого рода n-го порядка In n x Модифицированная функция Бесселя первого рода n-го порядка Yn n x Функция Бесселя второго рода n-го порядка Kn n x Модифицированная функция Бесселя второго рода n-го порядка

Гамма-функция В системе MathCAD предусмотрено вычис-

ление гамма-функции G(z) Она широко применяется и в статисти-ческих расчетах В них используется также функция ошибок erf(x) называемая еще интегралом вероятности

Дополнительные неактивные функции При загрузке сим-вольного процессора система распознает ряд дополнительных спе-циальных функций например таких как в табл 9

Таблица 9 Дополнительные неактивные функции

FresnelC x Интеграл Френеля С(х) FresnelS x Интеграл Френеля S(x)

Ci x Интегральный косинус Si x Интегральный синус Ei x Интегральная показательная функция

dilog x Дилогарифм erf z Интеграл ошибок для комплексного аргумента z

lnPsi x d dx Go x пси-функция

Psi n x n-я производная пси-функции

20

Функции с условиями сравнения

Функции приведены в табл 10 Таблица 10

Числовые функции с условиями сравнения

( )ceil х Наименьшее целое большее или равное x ( )Floor х Наибольшее целое большее или равное x

mod( )х Остаток от деления xy со знаком x ( )angel х Положительный угол с осью x для точки с координатами (xy)

( )Ф х Функция Хевисайда ndash единичного скачка (дает 0 при 0x и 1 в противном случае)

d m n Функция именуемая символом Кронекера возвращающая 1 при m = n и 0 в противном случае

129 Функция условных выражений

Для создания условных выражений более широкие возможно-сти дает функция if

if (Условие Выражение 1 Выражение 2)

Если в этой функции условие выполняется то будет вычис-ляться выражение 1 в противном случае ndash выражение 2

1210 Математические выражения

Функции могут входить в математические выражения напри-мер в выражении

2ln 1Y x

где Y ndash переменная 1 и 2 ndash числовые константы знаки laquoraquo и laquo+raquo ndash операторы ln(x) ndash встроенная функция с аргументом х При выпол-нении символьных операций переменные π и e используются только в символьном виде К примеру число 2π равно 628314hellip и выводится как 2π а не как приближенное численное значение

13 Ввод и редактирование данных

131 Ввод и редактирование формул и текста

В MathCAD-документе курсор ввода имеет вид красного кре-стика Этот крестик указывает в каком месте рабочего листа будет

21

произведено следующее действие Установив указатель мыши в нужном месте документа и выполнив щелчок вы перемещаете туда крестик (можно использовать стрелки а не мышь) Указатель в виде крестика может принимать другие формы

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

этот голубой курсор можно только с помощью клавиш-стрелок Если при перемещении красного курсора-крестика вы вторг-

лись в область формулы курсор автоматически принимает форму голубого курсора формул

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

Если вам не нравится взаимное распо-ложение областей в документе его можно изменить

ndash установите курсор-крестик на пустом месте документа

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

ndash установите курсор на одну из выделен-ных областей (курсор примет вид черной руки)

ndash удерживая нажатой левую клавишу мыши переместите выделенные области в требуемое место

При вводе текстовой области (клавиша []) курсор-крестик имеет вид вертикальной

красной черты При этом текстовая область окружена черной рамкой

Если вы уже вводите текст забыв создать текстовую область (те MathCAD воспринимает введенный текст как формулу) то до-статочно нажать клавишу пробела и MathCAD преобразует форму-лу в текст Преобразование в обратном направлении невозможно

Остановимся подробнее на свойствах голубого курсора фор-мул Для этого рассмотрим пример Предположим что MathCAD не

22

известна функция cosh (гиперболический косинус) и нам необхо-димо ввести определение

2

x xe ef x

Введем последовательность символов

^ ^ 2f x e x e x

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

Однако в MathCAD предусмотрены более экономичные мето-ды редактирования и ввода С помощью клавиши пробела можно увеличить область выделения ndash у голубого курсора появляется го-ризонтальный след Отмеченный следом курсора фрагмент форму-лы как бы подразумевается заключенным в скобки

Введенную выше формулу можно ввести по-другому

^ ^ 2f x e x Пробел e x Пробел Пробел Пробел

След курсора позволяет снабжать фрагменты формул мнимы-ми скобками таким образом что последующая математическая опе-рация относится ко всему выражению отмеченному следом курсо-ра те заключенному в мнимые скобки

Часто бывает необходимым все-таки заключение в скобки не-которой части введенного выражения Для этого достаточно выде-лить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу [] (апостроф) Обычно курсор со сле-дом при вводе формул имеет вид уголка направленного вправо (след направлен влево от курсора) предлагая вправо ввести необхо-димые значения А что делать если вы пропустили какую-то часть формулы или необходимо подправить выражение и дописать кое-что слева Для этого можно воспользоваться клавишей [Ins]

Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода В режиме вставки след курсора направлен впра-во и вводимые символы появляются слева от курсора

23

При редактировании формул случаются ошибки На этот слу-чай в меню Edit имеется команда Undo отменяющая последнее дей-ствие Того же результата можно достичь воспользовавшись соот-ветствующей кнопкой панели инструментов Standart или комби-нацией клавиш [Alt+Backspace]

Для удаления отдельных чисел или фрагментов формул ис-пользуется клавиша [Backspace] ndash если курсор находится в режиме ввода и клавиша [Del] ndash если курсор находится в режиме вставки Для удаления больших частей формул удобнее воспользоваться мышью выделив соответствующий фрагмент (протащить по нему мышь с нажатой левой кнопкой) и нажав клавишу [Del]

В MathCAD существует возможность разбивки больших вы-ражений на строки если выражение состоит из нескольких слагае-мых Для этого

minus выполните щелчок на операнде который по вашему мне-нию следует перенести на следующую страницу

minus увеличьте след курсора в режиме вставки таким образом чтобы отметить всю правую часть формулы

minus нажмите клавишу Backspace Стоящий перед курсором знак laquo+raquo будет удален При этом обе части формулы заключаются в скобки

minus нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки)

Если же там где оканчивается строка находится знак вычита-ния то необходимо удалить символ разности minus минус minus и произвести перевод строки При этом MathCAD превратит разность в сумму что сделает результат неправильным Но погрешность можно компенси-ровать присвоив первому слагаемому во второй строке знак laquoraquo

Если вы по ошибке удалили знак умножения и осуществили перенос строки то результат будет неправильным поскольку MаthCAD заменит умножение сложением Разбивка на строки не может применяться для выражений результаты вычислений кото-рых получены в символьном виде

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

Обычные переменные отличаются от системных тем что они должны быть предварительно определены пользователем В каче-стве оператора присваивания используется знак Если перемен-ной присваивается начальное значение с помощью оператора та-кое присваивание называется локальным

24

С помощью знака (три горизонтальные черточки) который

вводится клавишей [~] (тильда) можно обеспечить глобальное при-сваивание те оно может производиться в любом месте документа Для вывода результата или для контроля значений переменных ис-пользуется обычный знак равенства = (если выводится численный результат) или знак символьного равенства (стрелка) если вы-числения производятся в символьном виде Для ввода стрелки мож-но использовать клавиши [Ctrl+] или соответствующую кнопку наборной панели Symbolic

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

25

133 Определение функций пользователя

При определении функций пользователя так же как и при определении переменных могут быть использованы знаки локаль-

ного и глобального присвоения При этом с использованием знака глобального присваивания функ-ция может быть определена в лю-бом месте документа

Синтаксис определения функции

_ arg1arg 2arg Name Func N Выражение

Здесь _Name Func ndash имя функции arg1arg 2arg N ndash аргу-менты функции Выражение ndash любое выражение содержащее до-ступные системе операторы и функции с операндами и аргумента-ми указанными в списке параметров

134 Ранжирование переменных

Ранжированные переменные ndash особый класс переменных который в системе MathCAD зачастую заменяет управляющие структуры называемые циклами Эти переменные имеют ряд фик-сированных значений с определенным шагом меняющихся от начального значения до конечного

Ранжированные переменные характеризуются именем и ин-дексом каждого своего элемента Например Name Nbegin Nend

где Name ndash имя переменной Nbegin ndash ее начальное значение Nend ndash конечное значение ndash символ указывающий на изменение переменной в заданных пре-делах (он вводится знаком точки с запя-той ) Если Nbegin Nend то шаг изменения переменной будет +1 в про-тивном случае ndash ( 1 )

26

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

Step заданный шаг переменной

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

Любое выражение с ранжиро-ванными переменными после знака равенства инициирует таблицу вы-

вода Полезно учитывать некоторые свойства таблиц вывода minus число строк в них не может быть больше 50 minus числа в таблицах можно задавать в требуемом формате с по-

мощью операций задания формата чисел minus при использовании в таблице единиц размерности все дан-

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

jX выводится обычная таблица вывода

X выводится вектор если число его элементов меньше 10 X выводится таблица вывода со слайдером если число эле-

ментов вектора больше 10 В таблице вывода можно и вставлять числовые значения и

корректировать их Индексированные переменные образующиеся в результате за-

дания ранжированных переменных могут применяться в последу-ющих формульных блоках

Однако при этом необходимо соблюдать соответствие результа-тов (конечных и промежуточных) векторному типу этих переменных Необходимо помнить что ранжированная переменная minus это вектор

Обратите внимание что в приведенном примере ранжирован-ная переменная i принимает значения 1 2 3 и 4 А вектор g опреде-ленный через ранжированную переменную i содержит 5 элементов

27

Это связано с тем что по умолчанию началом отсчета индексов в MathCAD является нуль

135 Массивы (векторы матрицы)

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

Индексация элементов массивов Порядковый номер эле-мента который является его адресом называется индексом

Нижняя граница индексации задается значе-нием системной переменной ORIGIN которая может принимать значение 0 или 1 Для смены начала индексации можно прямо в документе присвоить переменной ORIGON соответствующее значение или сделать это через позицию Math

главного меню подменю Options используя вкладку Build-In Variables (Встроенные переменные)

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

числовые значения элементов они раз-личны по типу и при использовании да-дут разные результаты при векторных и матричных операциях Для ввода векторов и матриц можно

использовать кнопку панели набор-ных математических элементов Matrix

28

которая в свою очередь включается нажатием соответствующей кнопки на панели Math Но гораздо проще использовать сочетание клавиш [Ctrl+M] Оба вышеуказанных действия приводят к появле-нию диалогового окна Insert Matrix в котором необходимо указать число строк и столбцов для вводимой матрицы (вектора)

В результате в документе появляется шаблон матрицы который можно заполнить требуемыми данными Пере-ход от символа к символу внутри шаблона совершается с помощью клавиши Tab (Табуляция)

Массив можно определить и вручную поэлемент-но Для указания нижнего индекса используется клави-

ша [ (квадратная скобка) Если индекс двойной (у матрицы) то ин-дексы вводятся через запятую

Заполнение массивов может быть организовано с помощью ранжированных переменных и функций пользователя

136 Операторы системы MathCAD

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструи-рования математических выражений В табл 1113 приведены раз-личные операторы системы MathCAD

29

Таблица 11 Арифметические операторы

Оператор Ввод Назначение оператора X Y X Y Локальное присваивание X значения Y

X Y X Y Глобальное присваивание X значения Y X X Вывод значения X

X X Смена знака X X Y X Y Суммирование X с Y X Y X Y Вычитание из X значения Y

X Y X Y Умножение X на Y X Y X Y Деление X на Y

YX ^X Y Возведение X в степень Y

X X Вычисление квадратного корня из X X X Вычисление факториала

Z | Z Вычисление модуля комплексного Z

Z Z ldquo Вычисление комплексно-сопряженного с Z числа () lsquo Ввод пары круглых скобок с шаблоном ( ( Ввод открывающей скобки ) ) Ввод закрывающей скобки

nX X n Ввод нижнего индекса n nX X Ctrl n Ввод верхнего индекса n

Таблица 12 Расширенные арифметические операторы

Оператор Ввод Назначение оператора $ Вычисление суммы

Вычисление произведения

f Вычисление производной b

a

amp Вычисление определенного интеграла

Применение расширенных операторов значительно облегчает решение математических задач

Таблица 13 Операторы отношения (логические операторы)

Оператор Ввод Назначение оператора X Y X Y X больше Y X Y X Y X меньше Y X Y X Ctrl Y X больше или равно Y

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

X Y X Ctrl Y X не равно Y X Y X Ctrl Y X равно Y

30

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

137 Программные операторы в MathCAD

В системе MathCAD можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами Это реализуется использованием встроенных программных операторов похожих на используемые в различных языках программирования (рис 6) Как видно на рис 7 и 8 где вычисляется факториал про-граммный модуль в системе MathCAD превратился в самостоятель-ный блок причем при необходимости выполнить несколько опера-торов их объединяют жирной вертикальной чертой

Рис 6 Рис 7 Рис 8

Модуль может вести себя как безымянная функция без пара-

метров но возвращающая результат ndash первый пример Программ-ный модуль может выполнять и роль тела функции пользователя с именем и параметрами ndash второй пример

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

Add Line ndash создает и при необходимости расширяет жирную вертикальную линию справа от которой в шаблонах задается запись программного блока

31

ndash символ локального присваивания (в теле модуля) if ndash условный оператор for ndash оператор задания цикла с фиксированным числом повто-

рений while ndash оператор задания цикла действующего до тех пор по-

ка выполняется некоторое условие otherwise ndash оператор иного выбора (обычно применяется с if) break ndash оператор прерывания continue ndash оператор продолжения return ndash оператор возврата on error ndash оператор обработки ошибок Оператор добавления линии Add Line выполняет функции

расширения программного блока Расширение фиксируется удлине-нием вертикальной черты программных блоков или их древовид-ным расширением Благодаря этому в принципе можно создавать сколь угодно большие программы

Оператор внутреннего присваивания выполняет функ-ции внутреннего локального присваивания Например выражение

123x присваивает переменной x значение 123 Локальный харак-тер присваивания означает что такое значение х сохраняет только в теле программы За пределами тела программы значение перемен-ной х может быть неопределенным либо равно значению которое задается вне программного блока операторами локального = или глобального присваивания

Условный оператор if является оператором для создания условных выражений Он задается в виде

Выражение if Условие Если условие выполняется то возвращается значение выраже-

ния Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise

Оператор цикла for служит для организации циклов с задан-ным числом повторений Он записывается в виде

for Var NminhellipNmax

Эта запись означает что выражение помещенное в распо-ложенный ниже заменитель будет выполняться для значений переменной Var меняющихся от Nmin до Nmax с шагом +1 Пере-менную счетчика Var можно использовать в исполняемом выра-жении

32

Оператор цикла while служит для организации циклов дей-ствующих до тех пор пока выполняется некоторое условие Этот оператор записывается в виде

while Условие

Выполняемое выражение записывается на место расположен-ного ниже заполнителя

Оператор иного выбора otherwise обычно используется сов-местно с оператором if Это поясняет следующая программная кон-струкция

1 0

1

if xf x

otherwise

Здесь f x получает значение 1 если 0x и ndash1 во всех

остальных случаях Оператор прерывания break вызывает прерывание работы про-

граммы всякий раз когда он встречается Чаще всего он использу-ется совместно с оператором условного выражения if и операторами циклов while и for обеспечивая переход в конец тела цикла

Оператор продолжения continue используется для продолже-ния работы после прерывания программы Он также чаще всего ис-пользуется совместно с операторами задания циклов while и for обеспечивая возвращение в точку прерывания и продолжение вы-числений

Оператор возвращения return прерывает выполнение про-граммы и возвращает значение операнда стоящего следом за ним Например конструкция

0 0return if x

будет возвращать значение 0 при любом 0x Оператор и функция обработки ошибок позволяют создавать

конструкции обработчиков ошибок Этот оператор задается в виде

_1 _ 2Выражение on error Выражение

Здесь если при выполнении _1Выражения возникает ошибка то выполняется _ 2Выражение Для обработки ошибок полезна так-

же функция error S которая будучи помещенной в программный

модуль при возникновении ошибки выводит всплывающую под-сказку с надписью хранящейся в символьной переменной S

33

Программный модуль в сущности является функцией но опи-санной с применением упомянутых программных средств Она воз-вращает значение определяемое последним оператором (если не предусмотрено иное с помощью оператора return) Это значит что после такого модуля выделенного как целый блок можно поста-вить знак равенства для вывода результата его работы (см рис 8) В блоке могут содержаться любые операторы и функции входного языка системы Для передачи в блок значений переменных можно использовать переменные документа которые ведут себя в блоке как глобальные переменные

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

14 Настройка MathCAD для работы

141 Настройка параметров вычислений

Для настройки параметров вычислений необходимо выбрать команду Options (Параметры) меню Math (Математика) При этом на экране появится диалоговое окно (Свойства) содержащее сле-дующие вкладки

Built-In Variabls (Встроенные переменные) ndash позволяет уста-новить значения встроенных системных переменных влияющих на точность вычислений и параметры некоторых функций системы

Calculation (Вычисление) ndash эта вкладка содержит две опции задающие режим автоматических вычислений и оптимизации вы-ражений перед вычислением

Display (Отображение) ndash позволяет форматировать вид сим-волов отображающих основные операторы системы (умножение деление локальное и глобальное присваивание и др)

34

Unit System (Система единиц) ndash позволяет выбрать систему единиц для размерных величин SI MKS CGS Us и None (не ис-пользуется ни одна из этих систем)

Dimensions (Размерность) ndash позволяет изменить формат раз-мерных величин (на вкладке содержится их перечень) Для этого надо laquoвключитьraquo опцию Display Dimensions (Просмотр размерно-стей)

Остановимся подробнее на изучении параметров вкладки Built-In Variabls (Встроенные переменные) Здесь можно изменить значения системных констант и переменных К ним относятся

Array Origin (ORIGIN) ndash начальное значение для индексов Например трехмерный вектор v при ORIGIN=0 (по умолчанию) имеет компоненты v0 v1 v2

Convergence Tolerance (TOL) ndash допустимое отклонение MathCАD использует эту переменную при различных численных расчетах таких как вычисление определенных интегралов и при решении уравнений с использованием функций root и polyroots По умолчанию TOL=10minus3

Constraint Tolerance (CTOL) ndash задает точность вычислений при использовании блока решений уравнений и систем Блок начинается со слова Given и заканчивается словами Find Minerr и др По умол-чанию CTOL = 10minus3

Seed value for random numbers ndash определяет интервал от 0 до указанного в поле значения из которого функция rnd(x) генери-рует x случайных чисел Возможность менять этот интервал позво-ляет получать разные последовательности случайных чисел

35

Presision (PRNPRESISION) ndash задает точность числовых значений которые помещаются в файл создаваемый функцией WRITEPRN

Column Width (PRNCOLWIDTH) ndash задает ширину столбца (в символах) при создании файлов с помощью функции WRITEPRN

Кнопка Restore Defaults (Восстановить по умолчанию) позво-ляет вернуть стандартно установленные в системе MathCAD пара-метры вычислений (те те что установлены по умолчанию) если внесенные вами изменения в системные переменные вас не устраи-вают Значения переменных по умолчанию указаны справа от по-лей предназначенных для ввода

142 Форматирование результатов вычислений

MathCAD представляет результаты вычислений в определен-

ном формате Этот формат включает в себя например число знаков после запятой величину начиная с которой используется экспонен-циальное представление чисел символ i или j для представления мнимой единицы и многое другое Чтобы задать формат представ-ления результатов вычислений надо выбрать команду Result (Ре-зультат) меню Format (Формат) В результате на экране появится диалоговое окно Result Format содержащее несколько вкладок

На вкладке Number format (Формат числа) находятся Поле Number of decimal places (Число десятичных знаков)

в котором задается количество отображаемых знаков после запятой (по умолчанию ndash 3)

36

Опция Show trailing zeroz (Показывать конечные нули) если установлена эта опция все числа будут отображаться с тем количе-ством знаков после запятой которое указано в поле Number of decimal places даже если без этого можно обойтись В этом случае число 5 будет иметь вид 5000 а число 0 ndash 0000

Поле Exponential threshold (Порог экспоненты) здесь необ-ходимо задать целое число n Оно указывает что числа x для кото-

рых справедливы неравенства 10nx и 110 nx представляются

в экспоненциальной форме Числу n можно присваивать значения от 0 до 15 по умолчанию 3n MathCAD производит вычисления с точностью 15 знаков после запятой

Опция Show exponents in engeneering format (Показывать экс-поненты в инженерном формате) всегда представляет число в экспоненциальном формате если показатель степени больше 3 или меньше 3 выделяя при этом 3 целых и 3 десятичных разряда В противном случае число отображается в явном виде например число 2233446 при включении опции будет выглядеть как

3223344 10 Список Format (Формат) ndash позволяет выбрать формат пред-

ставления чисел Выделим среди указанных в списке формат Decimal ndash при его выборе результат никогда не представляется в экспоненциальной форме Остальные форматы могут представлять числа в экспоненциальной форме Более подробно с видами форма-тов можно познакомиться нажав кнопку Справка

На вкладке Tolerance (Допуск) находятся поля Complex threshold (Комплексный порог) и Zero threshold (Нулевой порог)

Целое число n заданное в поле Complex threshold указывает что комплексные числа z для которых справедливо неравенство

Re Im 10 nz z представляются как чисто мнимые Числа для

которых Im Re 10 nz z ndash как действительные При вычисле-

ниях MathCAD не пренебрегает даже незначительной мнимой Чис-лу n можно присваивать значения от 0 до 63 по умолчанию 10n

Целое число n заданное в поле Zero threshold указывает что

числа x для которых справедливо неравенство 10 nx принимают-

ся равными 0 Числу n можно присваивать значения от 0 до 307 по

умолчанию 15n Для комплексных чисел у которых Re 10 nz

действительная часть принимается равной нулю то же самое спра-

37

ведливо и для мнимой части Значение заданное в поле Zero threshold действительно для всего документа

Вкладка Display Options содержит следующие поля и опции Matrix display style (Стиль отображения матриц) ndash выпада-

ющий список позволяет установить отображение матриц в стан-дартном математическом виде ndash Matrix в виде таблицы ndash Table либо предоставляет выбрать стиль представления матриц системе MathCAD ndash Automatic

При этом если матрица содержит менее 10 строк и столбцов она представляется в стандартном виде матрицы в противном слу-чае ndash в виде таблицы с полосами прокрутки По умолчанию уста-новлена опция Automatic

Опция Expand nested arrays (Развернуть вложенные массивы) ndash позволяет явно вывести элементы матрицы представляющие в свою очередь матрицы

Поле Imaginary value (Мнимая единица) ndash позволяет определить символ который будет использоваться для обозначения мнимой едини-цы (i или j)

В поле списка Radix (Система) ndash можно выбрать десятичную двоичную восьмеричную

или шестнадцатеричную систему счисления Вкладка Unit display (Отображение единиц измерения) со-

держит две опции Format Units (Формат единиц) ndash включает отоб-ражение единиц измерения Simplify units when possible ndash включает упрощение единиц измерения (если это возможно)

38

Окно Result Format можно открыть двойным щелчком на чис-ле представляющем собой результат вычислений

Если вы хотите увидеть точное значение некоторого числа не изменяя его формата выделите это число и нажмите клавиши [Ctrl+Shift+N] В строке состояния вы увидите данное число с 15 зна-ками после запятой

Если вы хотите применять выполненные установки и в других документах вам необходимо открыть соответствующий файл шаб-лона с расширением MCT из папки TEMPLATE и произвести в нем нужные изменения Кроме того вы можете сохранить текущий до-кумент как шаблон

39

2 ОПЕРАТОРЫ MATHCAD

21 Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD со-держит ряд операторов (табл 14) и функций Введем следующие обозначения для векторов ndash V для матриц ndash M и для скалярных ве-личин ndash Z

Таблица 14 Векторные и матричные операторы

Оператор Ввод Назначение оператора 1 2V V 1 2V V Сложение двух векторов V1 и V2 1 2V V 1 2V V Вычитание двух векторов V1и V2

V V Смена знака у элементов вектора V M M Смена знака у элементов матрицы M

V Z V Z Вычитание из вектора V скаляра Z Z V V Z Z V V Z Умножение вектора V на скаляр Z

MZ MZ MZ MZ Умножение матрицы M на вектор V 1 2V V 1 2V V Умножение двух векторов V1 и V2

M V M V Умножение матрицы M на вектор V M1M2 M1M2 Умножение двух матриц M1 и M2

V Z V Z Деление вектора V на скаляр Z M Z M Z Деление матрицы M на скаляр Z

1M M ^ 1 Обращение матрицы M

Mn M ^ n Возведение матрицы M в степень n

V Вычисление квадратного корня из μV

M Вычисление определителя матрицы M TV V Ctrl Транспонирование вектора V TM M Ctrl Транспонирование матрицы M

1 2V V 1 2V Ctrl V Кросс-умножение двух векторов V1 и V2 V rdquo Получение комплексно-сопряженного вектора Mrdquo Получение комплексно-сопряженной матрицы Alt $ V Вычисление суммы элементов вектора V V -Ctrl Векторизация вектора V M -Ctrl Векторизация матрицы M

M n M ^ nCtrl Выделение n-го столбца матрицы M

nV V n Выделение n-го элемента вектора V

Mm n M m n Выделение элемента (m n) матрицы M

Под понятием laquoвекторизацияraquo подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы Это можно понимать и как возможность параллельных вычислений

40

Если А и В ndash векторы то АВ дает скалярное произведение этих векторов Но то же произведение под знаком векторизации со-здает новый вектор каждый j-й элемент которого есть произведение j-х элементов векторов А и В Векторизация позволяет использовать скалярные операторы и функции с массивами

22 Векторные и матричные функции

Векторные и матричные функции представлены в виде табл 15 16

Таблица 15 Векторные функции

lenght V Возвращает длину вектора

last V Возвращает индекс последнего элемента

max V Возвращает максимальный по значению элемент

min V Возвращает минимальный по значению элемент

Re V Возвращает вектор действительных частей вектора с комплексными элементами

Im V Возвращает вектор мнимых частей вектора с комплексными элементами

i j k

Полностью асимметричный тензор третьей размерности i j k должны быть целыми числами от 0 до 2 (или между gt ORIGIN и ORIGIN+2 если ORIGINne0) Результат равен 0 если любые два аргумента равны 1 ndash если три аргумента являются четной перестановкой (0 1 2) и минус 1 если три аргумента являются перестановкой (0 1 2) кратной 2 и некратной 4

Таблица 16 Матричные функции

Augment (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие оди-наковое число строк (объединение идет laquoбок о бокraquo)

identity (n) Создает единичную квадратную матрицу размером nn

stack (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие одинаковое число столбцов располагая М1 над М2

Submatrix (A ir jr ic jc) Возвращает субматрицу состоящую из всех элементов содержащихся в строках с ir по jr и столбцов с ic по jc (irJjr и icJjc)

diag (V) Создает диагональную матрицу элемент главной диагонали которой ndash вектор V

matrix (m n f) Матрицу в которой (i j)-й элемент содержит f(i j) где i = 0 1 hellip m и j = 0 1 hellip n

Re (M) Возвращает матрицу действительных частей матрицы М с комплексными элементами

Im (M) Возвращает матрицу мнимых частей матрицы М с комплексными элементами

41

23 Функции возвращающие специальные характеристики матриц

Эти функции представлены в виде табл 17

Таблица 17

Функции возвращающие специальные характеристики матриц

сols(M) Возвращает число столбцов матрицы М rows (M) Возвращает число строк матрицы М rank (M) Возвращает ранг матрицы М

tr (M) Возвращает след (сумму диагональных элементов) квадратной матрицы М

mean (M) Возвращает среднее значение элементов массива М median (M) Возвращает медиану элементов массива М

cond1 (M) Возвращает число обусловленности матрицы вычисленное в норме L1

cond2 (M) Возвращает число обусловленности матрицы вычисленное в норме L2

conde (M) Возвращает число обусловленности матрицы вычисленное в норме евклидова пространства

condi (M) Возвращает число обусловленности матрицы основанное на равномерной норме

norm1 (M) Возвращает L1 норму матрицы М norm2 (M) Возвращает L2 норму матрицы М norme (M) Возвращает евклидову норму матрицы М normi (M) Возвращает неопределенную норму матрицы М

24 Дополнительные матричные функции Такие функции представлены в виде табл 18

Таблица 18

Дополнительные матричные функции

eigenvals (M) Возвращает вектор содержащий собственные значения матрицы М

eisenvec (M Z) Для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

eigenvecs (M)

Возвращает матрицу столбцами которой являются собствен-ные векторы матрицы М (порядок расположения собствен-ных векторов соответствует порядку собственных значений возвращаемых функцией eigenvals)

42

Окончание табл 18

genvals (M N) Возвращает вектор обобщенных собственных значений v соответствующий решению уравнения M x = vi ndash N minus x (матрицы М и N должны быть вещественными)

genvals (M N) Возвращает матрицу столбцы которой содержат нормированные обобщенные собственные векторы

+ lu (M) Выполняет треугольное разложение матрицы М P M = L U L и U minus соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные одного порядка

+ qr (A) Дает разложение матрицы A A = Q R где Q minus ортогональная матрица и R minus верхняя треугольная матрица

+ svd (A)

Дает сингулярное разложение матрицы А размером n times m A = = U S middotVT где U и V minus ортогональные матрицы размерностей mmiddotm и n times n соответственно S minus диагональная матрица на диагонали которой расположены сингулярные числа матрицы А

+ svds (A) Возвращает вектор содержащий сингулярные числа матрицы А размером m times n

Egeninv (A)

Возвращает матрицу левую обратную к матрице А LmiddotA=E где E ndash единичная матрица размером n times n L ndash прямоугольная матрица размером n times m A ndash прямоугольная матрица размером m times n

25 Функции сортировки для векторов и матриц

Функции сортировки представлены в табл 19

Таблица 19

Функции сортировки для векторов и матриц

Vsort Сортировка элементов векторов в порядке возрастания их значений

Vreverse Перестановка элементов (после sort) в обратном порядке

Mcsort n Перестановка строк матрицы М таким образом чтобы отсортированным оказался n-й столбец

Mrsort n Перестановка строк матрицы М таким образом чтобы отсортированной оказалась n-я строка

43

3 ГРАФИКА MATHCAD

31 Двухмерные графики в декартовой системе координат

MathCAD позволяет легко строить двух- и трехмерные гисто-граммы двухмерные графики в декартовых и полярных координа-тах трехмерные графики поверхностей линии уровня поверхно-стей изображения векторных полей пространственные кривые Существует три способа построения графиков в системе MathCAD

minus можно воспользоваться позицией Главного меню Insert вы-брав команду Graph и в раскрывающемся списке minus тип графика

minus выбрать тип графика на наборной панели Graph которая включается кнопкой на панели Math

minus воспользоваться быстрыми клавишами (они предусмотрены не для всех типов графиков)

Рассмотрим более подробно команды меню Insert Graph наборной панели Math

X-Y Plot (X-Y Зависимость) клавиша [] Служит для по-строения графика функции y = f(x) в виде связанных друг с другом пар координат (xi yi) при заданном промежутке изменения для i

Polar Plot (Полярные координаты) клавиши [Ctrl+7] Служит для построения графика функции r(q) заданной в полярных координатах где полярный радиус r зависит от полярного угла q

Surface Plot (Поверхности) клавиши [Ctrl+2] Служит для представления функции z = f(x y) в виде поверхности в трехмерном пространстве При этом должны быть заданы векторы значений xi и yj а также определена матрица вида Aij = f(xi yj) Имя матрицы A указывается при заполнении рамки-шаблона С помощью этой ко-манды можно строить параметрические графики

Contour Plot (Контурный график) Строит диаграмму ли-ний уровня функции вида z=f(xy) те отображает точки в которых данная функция принимает фиксированное значение z = const

3D Scatter Plot (3D Точечный) Служит для точечного пред-ставления матрицы значений Aij или отображения значений функ-ции z=f(xy) в заданных точках Эта команда может также использо-ваться для построения пространственных кривых

3D Bar Plot (3D Диаграммы) Служит для представления матрицы значений Aij или отображения значений функции z = f(x y) в виде трехмерной столбчатой диаграммы

44

Vector Field Plot (Поле векторов) Служит для представле-ния двухмерных векторных полей V=(Vx Vy) При этом компоненты векторного поля Vx и Vy должны быть представлены в виде матриц С помощью этой команды можно построить поле градиента функ-ции f(x y)

3D Plot Wizard (вызов мастера для быстрого построения трех-мерного графика) При выборе этой команды возникает ряд всплы-вающих окон в которых требуется выбрать параметры построения трехмерного графика (задаются тип трехмерного графика стиль его изображения цветовая гамма) График по умолчанию строится на промежутке от minus5 до +5 (по обеим переменным)

311 График функции у = f(x)

При выполнении команды Insert Graph Plot (или нажать соответствующую кнопку наборной панели) в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика (Клавиша [])

В ячейке расположенной под осью абсцисс указывается неза-висимая переменная x Ее следует определить заранее как перемен-ную принимающую значения из промежутка (ранжированная пере-менная)

В ячейке рядом с осью ординат необходимо задать функ-

цию f x график которой мы хотим построить Если эта функция

была определена заранее то в ячейку достаточно ввести f x в

противном случае следует ввести изображаемую функцию в явном виде (например cos x )

После ввода x и f x в графической области появятся еще че-

тыре ячейки которые не обязательно заполнять MathCAD автома-

45

тически находит подходящие значения для xmin xmax ymin ymax Если же предлагаемые MathCAD значения вас не устраивают вы можете задать свои

В MathCAD существует возможность строить график функ-ции не задавая предварительно промежуток изменения независи-мой переменной По умолчанию этот промежуток принимается рав-ным 1010

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

312 Кривые на плоскости заданные параметрически

Уравнения x f t y y t где f t и y t непрерывны

при t из a b устанавливающие зависимость декартовых коорди-

нат x y точки плоскости от значения параметра t определяют на

плоскости кривую заданную в параметрической форме

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

независимой переменной x под осью абсцисс необходимо задать индексированную переменную xi а рядом с осью ординат необхо-димо соответственно указать yi

46

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

313 Редактирование графиков в декартовой системе координат

Если вас не устраивает внешний вид построенных графиков вы можете его изменить выделив график (выполнив на нем щелчок так чтобы вокруг него появилась рамка) и воспользовавшись ко-мандой - Format Graph X Y Plot или выполнив на графике щелчок правой кнопкой мыши и выбрав команду Format из выпа-дающего контекстного меню (можно выполнить также двойной щелчок левой кнопкой мыши) В результате на экране появится диалоговое окно Formatting Currently Selected X-Y Plot позволяю-щее изменить вид графика

Данное диалоговое окно содержит несколько вкладок X-Y Axes (форматирование осей) Traces (тип линий графиков) Labels (подписи) Defaults (по умолчанию)

Первая из вкладок позволяет форматировать оси координат Log Scale (Логарифмическая шкала) ndash задает логарифмические

оси в этом случае границы графика должны задаваться положи-тельными числами

Grid Lines (Вспомогательные линии) ndash задает отображение сетки из параллельных осям линий

47

Numbered (Нумерация) ndash задает отображение подписи к мар-кировкам на осях

Autoscale (Автомасштаб) ndash задает автоматическое нахожде-ние подходящих границ для осей Но если вы сами зададите в соот-ветствующих ячейках минимальные и максимальные значения xmin xmax ymin ymax именно эти значения будут использоваться для опре-деления границ графика

Show Markers (Показать метки) ndash если установить эту опцию то в графической области появятся четыре дополнительные ячейки для создания красных линий маркировки соответствующих двум специальным значениям x и двум специальным значениям y

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Axes Style (Вид осей) ndash группа кнопок этой области позволяет выбрать следующие варианты представления осей Boxed (Ограни-ченная область) Crossed (Пересечение) ndash оси пересекаются в точке с координатами (00) None (Без границ) Флажок Equal Scales (Равный масштаб) позволяет задать одинаковый масштаб для обеих осей

Форматирование оси графика можно произвести выполнив на ней двойной щелчок

Для изменения типа линий графиков необходимо активизиро-вать вкладку Traces (След)

Legend Lable (Имя в легенде) ndash каждой кривой можно поста-вить в соответствие некоторый текст называемый легендой Леген-да отображается в нижней части графической области а рядом с каждой легендой отображается тип линии соответствующей кривой

Symbol (Символ) ndash позволяет выбрать символ для каждой точ-ки кривой (плюс крестик кружок и др)

48

Line (Линия) ndash можно выбрать один из следующих типов ли-ний solid (сплошная) dash (штриховая) dot (точечная) или dadot (штрихпунктирная) Это поле списка доступно в случае если в поле Type (Тип) выбран элемент lines

Color (Цвет) ndash задается цвет представления кривой на экране Type (Тип) ndash позволяет выбрать один из семи видов графика в

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

Weight (Вес) ndash позволяет задавать толщину линий графика В нижней части вкладки Traces расположены опции Hide

Arguments (Скрыть аргументы) ndash эта опция по умолчанию отклю-чена В этом случае под именем функции рядом с осью ординат ука-зывается текущий тип линий Если установить данную опцию ука-зание типа линий исчезнет

Hide Legend (Скрыть легенду) ndash по умолчанию легенда не

отображается Если вы хотите отобразить под графиком текст ле-генды его надо перед этим ввести в поле Legend Lable (Имя в леген-де) и подтвердить ввод выполнив щелчок на кнопке Применить Вкладка Labels (Метки) позволяет ввести заголовок графика и подписи для осей

49

В подменю Graph (Графика) меню Format (Формат) содер-жатся кроме прочих следующие команды

Trace (След) ndash при перемещении в области графика указателя

мыши при нажатой левой кнопке в полях X-Value (значение X) Y-Value (значение Y) диалогового окна X-Y Trace отображаются ко-ординаты точки на которую указывает курсор Если установлена опция Track Data Points (След точек данных) то курсор-крестик бу-дет перемещаться вдоль графика функции и вы сможете считывать текущее значение аргумента x и соответствующее значение функ-ции y=f(x) Координаты текущей точки можно скопировать в буфер с помощью кнопок Copy X (Копировать Х) Copy Y (Копировать Y)

Zoom (Изменение масштаба) ndash с помощью этой команды можно увеличить фрагмент графика предварительно выделив его протаскиванием мыши с нажатой левой клавишей После отпус-кания клавиши координаты углов выделенной области будут отображены в полях окна X-Y Zoom С помощью кнопки Zoom (Масштаб +) фрагмент можно увеличить с помощью кнопки Unzoom (Масштаб ndash) отменить выделение фрагмента а с помощью кнопки Full View (Обзор) ndash восстановить первоначальный вид графика Если вы увеличили фрагмент графика то при щелчке на кнопке OK в документе будет отображаться только этот фрагмент

50

32 Двухмерные графики в полярной системе координат

321 Построение полярных графиков

Для построения полярного графика необходимо выполнить

команду Insert Graph Polar Plot При этом в документ поме-щается графическая область с двумя незаполненными ячейками для построения графика (клавиши [Ctrl +7])

В нижнюю ячейку вводится полярный угол q Его следует определить заранее как переменную принимающую значения из промежутка (ранжированная переменная)

В левую ячейку вводится полярный радиус r q или Re r q и Im r q

Функция r q либо задается заранее ли-

бо ее определение вводится непосред-ственно в ячейку

График в полярных координатах можно построить и посредством команды

X Y Plot Только в этом случае необхо-димо дополнительно задать следующие функции х(q) = r(q)cos(q) и y(q) = r(q)sin(q) а в ячейках для абсцисс и ординат указать соответственно х(q) и y(q)

Если для некоторых углов q функ-ция не определена (не существует радиу-са с действительным значением он принимает чисто мнимые значе-ния) то MathCAD отображает на графике только действительные значения радиуса Но с помощью функций Re и Im можно предста-вить на одной круговой диаграмме графики как действительной так и мнимой части функции r q

322 Форматирование полярных графиков

Если вы хотите отредактировать график в полярных координа-тах необходимо выделить график (щелчком левой кнопки мыши) и выполнить команду Format Graph Polar Plot или выполнить

51

двойной щелчок на выделенном графике При этом откроется окно Formatting Currently Selected Polar Plot (Форматирование полярного графика) Это окно содержит те же вкладки что и для графиков в декартовой системе координат

Вкладка Polar Axes содержит следующие элементы Log Scale (Логарифмическая шкала) ndash используется для созда-

ния логарифмической r-оси Grid Lines (Вспомогательные линии) ndash отображает сетку ли-

ний соответствующих равенствам constr и constq Numbered (Нумерация) ndash линии constr и constq снабжа-

ются подписями Show Markers (Показать метки) ndash с помощью этой опции

можно снабдить график двумя дополнительными пунктирными окружностями constr Для этого надо ввести нужные значения радиуса в появившиеся ячейки Кроме того справа от графика ука-зываются минимальный и максимальный радиусы можно увеличить или уменьшить график введя в эти ячейки собственные значения

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Остальные значения параметров на этой вкладке и на других вкладках те же самые что и в случае команды - X Y Plot

52

33 Построение графика функции z = f (x y) в виде поверхности в декартовой

системе координат

Для построения графика поверхности можно воспользоваться двумя способами

Если вам надо только посмотреть общий вид поверхности то MathCAD предоставляет возможность быстрого построения подобных графиков Для этого достаточно определить функцию f x y и выполнить команду Insert

Graph Surface Plot или нажать со-ответствующую кнопку наборной пане-ли Graph (сочетание клавиш [Ctrl+7]) В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции MathCAD автоматически построит гра-фик поверхности Независимые переменные x и y принимают значе-ния из промежутка 5 5 При необходимости этот промежуток мо-

жет быть уменьшен или увеличен Для этого необходимо выделить график и воспользоваться командой 3 Format Graph D Plot или щелкнуть правой кнопкой мыши по выделенному графику и в кон-текстном меню выбрать команду Format В появившемся окне 3 D Plot Format на вкладке Quick Plot Data можно установить другие параметры изменения независимых переменных x и y

53

Для построения графика поверхно-сти в определенной области изменения независимых переменных или с кон-кретным шагом их изменения необхо-димо сначала задать узловые точки ix и

jy в которых будут определяться зна-

чения функции После (а можно и до) этого надо определить функцию f x y график которой хотите постро-

ить Затем необходимо сформировать

матрицу значений функции в виде i j i jA f x y

Теперь после выполнения команды Insert Graph Surface Plot в появившейся графической области достаточно ввести имя матри-цы (без индексов)

Если вы хотите чтобы узловые точки были расположены че-рез равные промежутки воспользуйтесь формулами

Для построения графика линий

уровня данной функции необходимо по-ступать так же как это было описано вы-ше только вместо команды (Поверхно-сти) следует выбрать команду Contour Plot (Контурный)

Аналогично с помощью команды 3 D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции с помощью команды

54

3 D Scatter Plot (3D Точечный) ndash трехмерный точечный график а с помощью команды 3 D Patch Plot (3D Лоскутный) ndash трех-мерный график поверхности в виде несвязанных квадратных пло-щадок ndash плоскостей уровня для каждой точки данных параллель-ных плоскости XY

Если поверхность задана параметрически это означает что все три координаты x y и z заданы как функции от двух параметров u и v Сначала необходимо задать векторы значений параметров iu и jv Затем необходимо определить матрицы значений функций ко-

ординат x u v y u v и z u v

После выбора команды Surface Plot в MathCAD-документе появится гра-фическая область В свободной ячейке внизу области надо указать в скобках имена (без аргументов и индексов) трех матриц ndash x y z

А А

55

34 Форматирование трехмерных графиков

Если вас не устраивает внешний вид созданного трехмер-ного графика вы можете изменить его выполнив команду

3 Format Graph D Plot или выполнив двойной щелчок мышкой на графической области В результате на экране появится диалого-вое окно 3 D Plot Format позволяющее изменять параметры отоб-ражения графика Мы рассмотрим здесь основные опции Разо-браться во всех тонкостях управлением видом графика вы можете самостоятельно построив график и поэкспериментировав выбирая те или иные опции

Диалоговое окно 3 D Plot Format содержит несколько вкладок Некоторые из них мы рассмотрим более подробно а для других minus опишем лишь их функциональное назначение

На вкладке General (Общие свойства) вы можете в области View задать направление взгляда наблюдателя на трехмерный график Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости XY Значение в поле Tilt задает угол наклона ли-нии взгляда к плоскости XY Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз равное цифре указанной в поле

ndash в области Axes Style (Стиль оси) задать вид осей выбрав се-лекторную кнопку Perimetr (Периметр) или Corner (Угол)

В первом случае оси всегда находятся на переднем плане При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A00 матрицы A

56

ndash в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями а опция Show border (Границы) позволяет заключить график в прямо-угольную рамку

ndash в области Plot 1 (Plot 2) Display as (Графикнесколько графи-ков отобразить как) имеются селекторные кнопки для представле-ния графика в других видах (контурный точечный векторное поле и др)

Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат

Посредством опций области Grids (Сетки) можно отобразить на графике линии описываемые равенствами x y z = const

Если установлены опции Show Numbers (Нумерация) отобра-жаются метки на осях и подписи к ним

При этом рядом с осями Ox и Oy указываются не значения уз-ловых точек xi yj а значения индексов i и j в то время как ось Oz размечается в соответствии с промежутком которому принадлежат элементы матрицы значений Ai j

Если установлена опция Auto Grid (Автосетка) программа самостоятельно задает расстояние между соседними отметками на осях Вы можете сами указать число линий сетки если отключите указанную опцию

Если установлена опция Auto Scale (Автошкала) то MathCAD сам определяет границы построения графика и масштабы по осям Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value (Ми-нимум) и Maximum Value (Максимум)

57

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options) вид цвет и толщину дополнительных линий на графике (область Line Options) наносить на график точки данных (опция Draw Points области Point Options) менять их вид размер и цвет

Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения laquoустановитьraquo несколько источников света выбрав для них цвет освещения и определив его направление

Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей ограничивающих область построения цвет нанесение сетки определение ее цвета и толщины прорисовка границ плоскостей

На вкладке Special (Специальная) можно изменять параметры построения специфичные для различных типов графиков

Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности графика а также указать направление смены окраски (вдоль оси Ox Oy или Oz) Включение опции Enable Fog (Наличие Тумана) делает график нечетким слегка размытым (полупрозрачным) При включении оп-ции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя

Вкладка Quick Plot Data обсуждалась ранее в начале раздела

35 Кривая в пространстве Трехмерные точечные графики можно использовать для по-

строения изображения пространственных кривых Пространствен-ные кривые задаются как правило в виде (x(t)y(t)z(t)) где t пред-ставляет собой непрерывный действительный параметр

58

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

и соединяющие их линии необходимо сначала определить три вектора координат ndash xi yi zi

Пространственная кривая создается командой 3 Insert D Graph Scatter Plot Можно использовать наборную панель Graph выбрав соответствующую пикто-грамму Для соединения точек необходимо на вкладке Appearance окна форматирова-ния графиков указать опцию Line

36 Векторные и градиентные поля

Команда Insert Graph Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx vy)

При этом векторное поле необходимо вначале определить как вектор-функцию двух координат ndash x и y Затем задаются векторы значений узловых точек x и y С помощью этих векторов компонен-ты векторного поля vx(xy) и vy(xy) генерируются в виде матриц значений vxi j и vyi j

59

Подобным образом можно построить градиентное поле ска-лярной функции f(x y)

Градиентное поле для функции двух переменных представляет собой двумерное векторное поле

Как и в остальных случаях внешний вид изображения вектор-ного поля можно легко изменить выполнив двойной щелчок в об-ласти графика и изменив требуемые опции в открывшемся диалого-вом окне 3 D Plot Format

37 Поверхности полученные вращением кривых вокруг осей

Интересные объемные фигуры мож-

но получить вращая некоторую кривую вокруг той или иной оси Построение этих фигур вращения сродни параметрически заданным поверхностям

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

60

38 Анимация в MathCAD

Для создания анимации строим график функции командой - X Y Plot из подменю Graph меню Insert Для анимации задается

промежуток изменения целочисленного параметра FRAME (по умолчанию от 0 до 9)

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

61

Теперь для создания анимации необходимо выполнить следу-ющие действия

1 Выбрать команду Animate из меню View При этом появится диалоговое окно Animate

2 Заключить построенный график в маркировочный прямо-угольник

3 Задать минимальное и максимальное значения параметра FRAME (поля From и To)

4 Задать в поле At количество воспроизводимых кадров в се-кунду

5 Выполнить щелчок на кнопке Animate При этом в диалого-вом окне вы увидите анимационные кадры

6 Чтобы воспроизвести анимацию щелкнуть на кнопке Play в появившемся окне Playback (Проигрыватель)

7 Чтобы внести изменения в анимацию выполнить щелчок на кнопке открытия меню в окне Playback

62

8 С помощью команды Save As можно сохранить анимацию в файле с расширением AVI

Встраивание анимации в MathCAD-до-кумент производится с помощью Windows Explorer Для этого необходимо

1 Запустить Windows Explorer 2 Выполнить в окне Windows Explorer

щелчок на имени AVI-файла 3 Перетащить AVI-файл в соответ-

ствующий MathCAD-документ 4 Воспроизвести анимацию можно посредством двойного

щелчка в графической области Анимацию можно также воспроизвести выполнив двойной

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

1 Выбрать команду Object из меню Insert 2 Установить опцию Создать из файла 3 Выбрать нужный AVI-файл с помощью кнопки Обзор 4 Установить опции Связь и В виде значка после чего выпол-

нить щелчок на кнопке OK

63

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба может привести к скачкообразному изменению размеров графика хотя на деле он должен меняться без скачков с дискретностью определяемой только изменением FRAME = 1 2 3 и тд

64

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ

41 Возможности символьного процессора MathCAD

Системы компьютерной алгебры снабжаются специальным

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

Ядро символьного процессора системы MathCAD minus несколько упрощенный вариант ядра известной системы символьной матема-тики Maple V фирмы Waterloo Maple Software у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение благодаря чему MathCAD стала (начиная с версии 30) системой символьной математики

Введение в систему MathCAD символьных вычислений прида-ет ей качественно новые возможности которые отсутствовали у прежних версий системы Куда важней что символьные вычисле-ния выполняются в конечном счете столь же просто (для пользова-теля) как скажем вычисление квадрата х

Символьные вычисления в MathCAD могут быть реализованы тремя способами

minus с использование команд подменю позиции Symbolics (Сим-волика) главного меню

minus с использованием команд панели Symbolic включаемой

кнопкой на математической панели инструментов (Начиная с версии MathCAd 40 для активных символьных вычислений при-меняется термин SMARTMATH представляющий комбинацию слов smart и MathCAD что в буквальном смысле означает умный MathCAD)

minus с использованием команды Optimization позиции главного меню Math

65

42 Команды меню Symbolics

Операции относящиеся к работе символьного процессора со-держатся в подменю позиции Symbolics (Символика) главного меню

Чтобы символьные операции выполня-лись процессору необходимо указать над ка-ким выражением эти операции должны произ-водиться те надо выделить выражение Для ряда операций следует не только указать выра-жение к которому они относятся но и наме-тить переменную относительно которой вы-полняется та или иная символьная операция

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

Следует отметить некоторые особенности при работе с коман-дами меню Symbolics

Для символьных вычислений выражения необходимо указы-вать явно Например недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл Это существенное ограничение о котором надо всегда помнить Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath которая описывается в дальнейшем главное в том что для вывода символьных вычислений в этом слу-чае используется оператор

Иногда результат вычислений содержит встроенные в систему специальные математические функции в этом случае результат по-мещается в буфер обмена Используя команду Paste или клавишу F4 можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат

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

66

Если операция невыполнима ndash система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изме-нений)

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

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

421 Операции с выделенными выражениями

Функции представлены в табл 20

Таблица 20

Операции с выделенными выражениями

Evaluate (Вычислить)

Преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

Упростить выделенное выражение с выполнением таких операций как сокращение подобных слагаемых приведение к общему знаменателю использование основных тригонометрических тождеств и тд

Expand (Разложить по степеням)

Раскрыть выражение [например для (Х + Y) (Х minus Y) по-лучаем X 2minus Y 2]

Factor (Разложить на множители)

Разложить число или выражение на множители [например Х 2 minus Y 2 даст (Х + Y) (Х minus Y)]

Collect (Разложить по подвыражению)

Собрать слагаемые подобные выделенному выражению которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение полиномиальное относительно выбранного выражения)

Polynomial Coefficients (Полиномиальные коэффициенты)

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

67

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами Evaluate Symbolically [Shift+F9](Вычислить в символах) minus вы-

полнить символьное вычисление выражения Floating Point Evaluation (С плавающей точкой) minus выполнить

арифметические операции в выражении с результатом в форме чис-ла с плавающей точкой

Complex Evaluation (В комплексном виде) minus выполнить преоб-разование с представлением в комплексном виде

Команда Evaluate Symbolically тут наиболее важная Назначе-ние других команд очевидно они нужны если результат требуется получить в форме комплексного или действительного числа К примеру если вы хотите вместо числа p получить 3141 ис-пользуйте команду Floating Point Evaluation В режиме символь-ных вычислений результат может превосходить машинную беско-нечность системы При этом число точных значащих цифр результата практически не ограничено (или точнее говоря зависит от емкости ОЗУ)

Символьная операция Evaluate Symbolically [Shift+F9] (Вычис-лить) обеспечивает работу с математическими выражениями со-держащими встроенные в систему функции и представленными в различном виде полиномиальном дробно-рациональном в виде сумм и произведений производных и интегралов и тд Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде Она возможна над матрицами с символьными элементами Производные и определен-ные интегралы символьные значения которых вычисляются долж-ны быть представлены в своей естественной форме

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью minus 20 знаков после запятой Для перехода в такой режим вычислений нужно числовые констан-ты в вычисляемых объектах задавать с обязательным указанием де-сятичной точки например 100 или 30 а не 10 или 3 Этот признак является указанием на проведение вычислений такого типа

На рисунке ниже показаны типовые примеры действия опера-ции Evaluate Symbolically

68

Здесь слева показаны исходные выражения подвергаемые

символьным преобразованиям а справа результат этих преобразо-ваний

Операция Evaluate Symbolically одна из самых мощных Как видно из рисунка она позволяет в символьном виде вычислять сум-мы (и произведения) рядов производные и неопределенные инте-гралы выполнять символьные и численные операции с матрицами

Simplify (Упростить)

Символьная операция Simplify (Упростить) minus одна из самых важных Эта операция позволяет упрощать математические выра-жения содержащие алгебраические и тригонометрические функции а также выражения со степенными многочленами (полиномами)

Упрощение означает замену более сложных фрагментов вы-ражений на более простые Приоритет тут отдается простоте функ-ций К примеру функция tan x считается более сложной чем

функции sin x и cos x Поэтому tan x упрощается так что по-

лучает представление через соотношение этих функций что не-сколько неожиданно так как в некоторых пакетах символьной ма-тематики например Derive ситуация иная они заменяют отношение sin cosx x функцией tan x

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений При-ведем примеры применения операции Simplify

69

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

Однако команда Simplify применительно к вычислениям опре-деленных интегралов делает гораздо больше minus она ищет аналитиче-ское выражение для интеграла Более того она способна делать это и при вычислении кратных интегралов пределы которых minus функции

Операцию Simplify можно использовать и для вычисления сумм и произведений символьных последовательностей Результат операции как и следовало ожидать получается в символьной форме (если она существует)

Приведенные примеры могут создать впечатление что

MathCAD справляется со всеми производными интегралами сум-мами и произведениями с помощью операции Simplify К сожале-нию это далеко не так Нередко система не справляется с кажущи-мися простыми справочными примерами Надо помнить что символьный процессор системы MathCAD обладает заметно уре-

70

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

В результате преобразований могут появляться специальные функции minus как встроенные в систему (функции Бесселя гамма-функция интеграл вероятности и др) так и ряд функций дополни-тельно определенных при загрузке символьного процессора (инте-гральные синус и косинус интегралы Френеля эллиптические ин-тегралы и др) Последние нельзя использовать при создании математических выражений

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в из-

вестном смысле противоположно действию операции Simplify Под-вергаемое преобразованию выражение расширяется с использова-нием известных (и введенных в символьное ядро) соотношений например алгебраических разложений многочленов произведений углов и тд Разумеется расширение происходит только в том случае когда его результат однозначно возможен Иначе нельзя считать что действие этой операции противоположно действию операции Simplify К примеру операция Simplify преобразует сумму квадратов синуса и косинуса в 1 тогда как обратное преобразование много-значно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные свести алгебраические выражения представленные в сжатом виде к выражениям в развернутом виде и тд Приведем примеры действия операции Expand Expression

Последний пример показывает что результатом операции мо-

жет быть специальная математическая функция которая считается более сложным выражением чем порождающее ее выражение

71

С виду однако выражения со специальными математическими функ-циями обычно выглядят гораздо проще чем исходные выражения

Factor (Разложить на множители)

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

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

Collect (Разложить по подвыражению)

Операция Collect (Разложить по подвыражению) обеспечива-

ет замену указанного выражения выражением скомплектованным по базису указанной переменной если такое представление воз-можно В противном случае появляется окно с сообщением о невоз-можности комплектования по указанному базису

Эта команда особенно удобна когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции

72

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

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

Polynomial Coefficients

(Полиномиальные коэффициенты)

Операция Polynomial Coefficients (Полиномиальные коэффи-циенты) в ранних версиях MathCAD отсутствующая служит для вычисления коэффициентов полинома

Операция применяется если заданное выражение ndash полином (степенной многочлен) или оно может быть представлено таковым относительно выделенной переменной Результатом операции явля-ется вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

422 Операции с выделенными переменными

Следующая группа символьных операций (табл 21) выпол-

няется с выражениями требующими указания переменной по от-ношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно поскольку указание в нем на пере-менную является одновременно и указанием на само выражение Если выражение содержит другие переменные то они рассматри-ваются как константы

73

Таблица 21 Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

Заменить указанную переменную содержимым буфера обмена

Differentiate (Дифференцировать переменную)

Дифференцировать все выражение содержащее выделенную переменную по отношению к этой переменной (остальные переменные рассматриваются как константы)

Integrate (Интегрировать по переменной)

Интегрировать все выражение содержащее выделенную переменную по этой переменной

Expand to Series (Разложить в ряд)

Найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной

Convert to Partial Fraction (Разложить на эле-ментарные дроби)

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

Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х то операция Solve (Решить) возвращает символьные значения ука-занной переменной х при которых F(x) = 0 Это очень удобно для решения алгебраических уравнений например квадратных и куби-ческих или для вычисления корней полинома Примеры решения квадратного уравнения и нахождения комплексных корней полино-ма четвертой степени

Ранее отмечалось что усложнение уравнения например пере-ход от квадратного уравнения к кубическому может вызвать и су-

74

щественное усложнение результата Тогда система представляет решение в более компактном виде (но без общепринятой математи-ческой символики) и предлагает занести его в буфер обмена

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

Более того форма представления результата в таком случае отличается от принятой в системе MathCAD (например в качестве знака деления используется косая черта для возведения в степень minus составной знак и тд) Это сделано ради компактности представ-ления результатов вычислений

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

Substitute (Заменить переменную)

Операция Substitute (Подстановка) возвращает новое выраже-ние полученное путем подстановки на место указанной переменной некоторого другого выражения Последнее должно быть подготов-лено и скопировано (операциями Cut или Copy) в буфер обмена Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой перемен-ной путем замены ее на числовое значение

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

75

Differentiate (Дифференцировать по переменной)

Нахождение символьного значения производной minus одна из са-мых распространенных задач в аналитических вычислениях Опера-ция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз Ниже показано применение операции дифференцирования

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычисле-

ниях minus вычисление интегралов (или нахождение первообразных) для аналитически заданной функции Для этого используется опе-рация Integrate (Интегрировать по переменной) Она возвращает символьное значение неопределенного интеграла по указанной кур-сором ввода переменной Выражение в состав которого входит пе-ременная является подынтегральной функцией

Здесь показан пример символьного интегрирования по пере-

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

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

Expand to Series (Разложить в ряд)

Операция Expand to Series(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной пе-ременной с заданным по запросу числом членов ряда п (число опре-деляется по степеням ряда) По умолчанию задано n = 6

76

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

Здесь представлено применение этой операции для разложе-ния функции sin(x)x Минимальная погрешность получается при малых х

Символьные операции нередко можно комбинировать для ре-шения сложных задач

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction (Разложить на элемен-

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

Как видно из представленных примеров применение этой

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

423 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции) которая имеет свое подме-ню со следующими операциями

Transpose (Транспонировать) minus получить транспонированную матрицу

Invert (Обратить) minus создать обратную матрицу

77

Determinant (Определитель) minus вычислить детерминант (опре-делитель) матрицы

Приведем примеры

424 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования создающий подменю со следующими возможностями

Fourier Transform (Преобразование Фурье) minus выполнить пря-мое преобразование Фурье относительно выделенной переменной

Inverse Fourier Transform (Обратное преобразование Фурье) minus выполнить обратное преобразование Фурье относительно выделен-ной переменной

Laplace Transform (Преобразование Лапласа) minus выполнить прямое преобразование Лапласа относительно выделенной пере-менной (результат minus функция от переменной s)

Inverse Laplace Transform (Обратное преобразование Лапласа) minus выполнить обратное преобразование Лапласа относительно выде-ленной переменной (результат minus функция от переменной t)

Z Transform (Z-преобразование) minus выполнить прямое Z-преоб-разование выражения относительно выделенной переменной (ре-зультат minus функция от переменной z)

Inverse Z Transform (Обратное Z-преобразование) minus выполнить обратное Z-преобразование относительно выделенной переменной (результат minus функция от переменной n)

По строкам показано применение соответственно преобразова-ния Фурье Лапласа и Z-преобразования а по столбцам minus исходная

78

функция ее интегральное преобразование и обратное преобразова-ние (выражения стоящего во втором столбце)

В меню Symbolics находится команда Evaluation Style при исполнении которой на экран выводится диалоговое окно позволя-ющее установить вид вывода результатов при работе с символьным процессором MathCAD

В группе переключателей Show envaluation steps (Стиль эво-люции) можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним Кроме то-го можно установить опции Show Comments для вставки коммента-риев и задать вывод результирующего выражения вместо исходного Evaluate in Place

43 Палитра символьных преобразований SmartMath

431 Назначение системы SmartMath

SmartMath minus фактически экспертная система ускоряющая вы-

числения в тех случаях когда это возможно При запущенной си-стеме SmartMath процессор численных операций приступая к вы-

79

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

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вы-числений и преобразований Система SmartMath более полно ис-пользует ядро символьных операций чем символьные вычисления из подменю позиции Symbolics главного меню и снимает некоторые ограничения на их выполнение Например возможно использование в преобразуемых выражениях функций пользователя Еще важнее то что результаты символьных преобразований выполняемых си-стемой SmartMath автоматически меняются при изменении исход-ных символьных данных

Система SmartMath в сущности является частью программных средств MathCAD реализующих линейные программы символьных вычислений

432 Операторы символьного вывода

Вначале для визуализации результатов символьных преобра-зований был введен специальный символ minus удлиненная горизон-тальная стрелка rarr Ее можно вызвать нажатием клавиш Ctrl+ (точка) или вызовом из палитр математических символов (для вво-да отношений и символьных операций) Шаблон этого знака имеет вид где на месте черного прямоугольника вводится подвергае-мое символьному преобразованию исходное выражение

Указанный символ можно рассматривать как простой оператор символьного вывода Если задать исходное выражение и вывести курсор из формульного блока с ним то система помещает результат его символьных преобразований после стрелки (оператора символь-ного вывода) Это и есть первый этап работы с системой SmartMath

В версию системы MathCAD 70 PRO введен еще один опера-тор ndash расширенный оператор символьного вывода Он задается нажатием клавиш Ctrl+Shift+ (точка) или выбором из палитры символьных операций Этот оператор имеет вид В первый шаблон-прямоугольник вводится исходное выражение а во второй ndash директивы символьных преобразований Задаются эти директивы или вводом соответствующих ключевых слов или из палитры сим-вольных операций

80

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

433 Состав директив системы SmartMath и их применение

При вводе стрелки rarr после выражения фактически (по умол-

чанию) над ним исполняется операция Simplify (Упростить) Но что подразумевается под этим ясно далеко не всегда даже несмотря на то что многие символьные операции система выполняет вполне очевидно например вычисление интеграла или производной в сим-вольном виде

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов помещенных на панели Symbolic ко-

торая вызывается кнопкой с панели инструментов Math (табл 22)

Таблица 22

Symbolic (символы)

Команда Функция Пример 1 2 3

Символьное вычисление

Символьное вычисление с ключевым словом

81

Продолжение табл 22

1 2 3

Modifier Дополнительные модификаторы

assume minus вводное слово для приведенных далее определений real minus для var=real означает вещественное значение var RealRange minus для var=RealRange(ab) означает принадлеж-ность вещественной var к интервалу [аb] trig minus задает направление тригонометрических преобразований

float Численное вычисление

complex Комплексное вычисление

assume

Символьное вычисление с некоторыми предположениями

solve

Решение уравнения (системы уравне-ний) относительно переменной (переменных)

simplify Упрощение выражений

substitute Замена переменной

factor Разложение на множители

expand Перемножение степеней и произведений

coeffs Определение коэффициентов полинома

collect

Группировка слагаемых по степеням переменной

series Разложение в ряд Тейлора или Лорана

parfac Разложение на элементарные дроби

82

Окончание табл 22

1 2 3

fourier Преобразование Фурье

invfourier Обратное преобра-зование Фурье

lарlасе Преобразование Лапласа

invlaplace Обратное преобразование Лапласа

ztrans Z-преобразование

invztrans Обратное Z-преобразование

MT Транспонирование матрицы

M-1 Нахождение обратной матрицы

|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными бук-

вами (кроме Modifier первая буква в этом слове должна быть прописной)

Блоки системы SmartMath имеют следующие отличительные свойства

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

несколько директив minus имеют конструкцию схожую с конструкцией программных

блоков Как нетрудно заметить директива упрощения simplify не име-

ет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения перемен-ной х и указания числа членов ряда Директивы преобразования

83

Лапласа (laplace) и решения уравнений (solve) требуют одного па-раметра minus указания имени переменной (в нашем случае х) С помо-щью директивы solve можно решать и системы уравнений minus тогда ее параметр будет вектором неизвестных

Выполнение матричных операций в символьной форме особой специфики не имеет

44 Оптимизация

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

Признаком оптимизации выражения является появление после него красной звездочки Кроме того щелкнув правой кнопкой мы-ши и выбрав из контекстного меню команду Show Popup можно наблюдать появление окна с оптимизированным выражением

Особый выигрыш оптимизация может дать при многократном

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

84

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

51 Линейные алгебраические уравнения

Уравнение вида 0ax b с заданным базовым множеством Gx a из Ga b из Gb называется линейным уравнением

Этапы решения с помощью MathCAD 1 Ввести уравнение (знак = вводится с помощью комбина-

ции [Ctrl++]) 2 Выделить курсором переменную относительно которой

должно быть решено уравнение 3 Выбрать команду Solve (Вычислить) подменю Variable (Пе-

ременные) меню Symbolics (Символы) При решении линейных уравнений (без параметров) или дроб-

ных уравнений которые сводятся к линейным MathCAD находит все существующие решения Однако при этом следует правильно интерпретировать сообщения выдаваемые системой

511 Единственное решение уравнения

В качестве решения MathCAD выдает число minus это означает что уравнение однозначно разрешимо (однозначное решение ли-нейного уравнения над множеством действительных чисел которое одновременно является областью определения этого уравнения)

512 Решение отсутствует

Рассмотрим другой пример

85

После выполнения описанных выше действий для нахождения решения MathCAD выдает сообщение о том что решение не найдено

Проанализировав данное уравнение приходим к выводу что выданное MathCAD сообщение означает что решений нет L=

MathCAD выдает сообщение laquoРешение не найденоraquo даже если уравнение имеет laquoформальное решениеraquo которое не принадлежит области определения (см примеры ниже)

513 Многозначность

Если в качестве решения MathCAD выдает имя переменной это означает что множество решений уравнения совпадает с областью определения Однако такие понятия как множество решений уравне-ния и область определения отсутствуют в MAthCAD и он не выписы-вает область определения Вы можете найти область определения решая с помощью MathCAD систему неравенств или уравнений

Такой результат выданный MathCAD после выполнения дей-ствий по решению уравнения означает что любое значение x из ба-зового множества удовлетворяет этому уравнению те L=R

514 Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Перемен-ные) меню Symbolics (Символы) выдает множество решений L = 6

86

Решение 6 копируем в буфер а затем выделяем маркером пе-ременную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены пере-менной значением 6

Рассмотрим пример

Здесь также правильное решение множество решений совпа-

дает с областью допустимых значений L = D Только следует учесть что D=R11

Рассмотрим другой пример

Последнее уравнение условно эквивалентно уравнению 2x = 4

Решение уравнения MathCAD 2 Формальное решение x = 2 не вхо-дит в область допустимых значений MathCAD выдает правильное сообщение

52 Квадратные уравнения и алгебраические уравнения высших порядков

Уравнение P(x) = 0 называется алгебраическим уравнением

n-го порядка если P(x) представляет собой полином степени n при n = 2 данное уравнение называется квадратным уравнением

87

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

521 Квадратное уравнение

Команда Solve (Вычислить) подменю Variable (Переменные)

меню Symbolics (Символы) дает решение в виде вектора L = minus2 minus4

Аналогичный результат можно получить используя директи-

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

Другой способ решения заключается в использовании коман-ды Factor (Фактор) меню Symbolics (Символы) для разложения по-линома на множители в соответствии с теоремой Виета

Отметим что при иррациональных и комплексных решениях

команда Factor (Фактор) меню Symbolics (Символы) не работает Но MathCAD находит и такие решения при использовании команды Solve

б)

в)a)

88

522 Квадратные уравнения с комплексными коэффициентами

При вводе уравнения с комплексными коэффициентами следу-ет вводить для i 1i для -i -1i для 2i 2i ни в коем случае не вводить laquoraquo

53 Уравнения более высокого порядка

MathCAD может решать уравнения вплоть до порядка 4 (даже символьно) Если возможно частичное разложение на множители то разрешимы уравнения и более высокого порядка Кубические уравнения

Уравнения четвертого порядка Уравнения седьмого порядка

б)а)

89

54 Иррациональные уравнения (уравнения с радикалами)

Корни (радикалы) могут вычисляться в MathCAD либо с по-

мощью знака корня (клавиши [Ctrl+]) либо как степени (клавиша [^] с дробными показателями Знак квадратного корня вводится нажатием клавиши [] Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор) Последовательность дей-ствий при решении уравнений с радикалами та же что и при реше-нии рассмотренных ранее уравнений

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

Радикалы определены не везде в действительной области Это обстоятельство приводит к необходимости находить область опре-деления прежде чем решать само уравнение Данная проблема справедливо игнорируется MathCAD поскольку он не может знать во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение Выход вы можете самостоятельно найти область определения воспользовавшись при этом возможно-стями MathCAD связанными с решениями неравенств

Вторая проблема возникающая при решении уравнений с ра-дикалами имеет принципиальный характер Функция x2 (как и лю-бая другая функция с четным показателем) на является инъективной (проблема главных значений) В связи с этим возведение в квадрат обеих частей уравнения содержащего квадратные корни не являет-ся эквивалентным преобразованием Как всегда при применении к обеим частям уравнения неинъективного преобразования увеличи-вается множество решений В результате в него могут войти laquoфик-тивныеraquo решения Как ни удивительно MAthCAD сам производит проверку решений на laquoфиктивностьraquo

Классический случай решения уравнения с радикалами

MathCAD распознает laquoфиктивныеraquo решения (которые могут воз-никнуть в результате неэквивалентного преобразования laquoвозведение в квадратraquo) и выдает верное сообщение Решение не найдено L =

90

В приведенных ниже примерах демонстрируется способность MathCAD находить область определения иррационального уравне-ния путем решения неравенств

Уравнения с радикалами третьей степени как и уравнения с комплексными коэффициентами не представляют для MathCAD никакой сложности

55 Уравнения с параметрами

При решении уравнений с параметрами MathCAD ведет себя по-разному в зависимости от того каким образом производятся символьные вычисления minus с помощью символьного знака равенства или команд меню Symbolics

91

В данном примере использование палитры символьных преоб-разований позволяет решить уравнение (solve) и упростить резуль-тат (simplify)

56 Экспоненциальные и логарифмические уравнения

Уравнение в котором независимая переменная входит в аргу-

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

Способ решения с помощью MathCAD такой же как и для других типов уравнений

Экспоненциальные уравнения во множестве действительных

чисел не создают дополнительных сложностей в том смысле что их область определения совпадает со множеством действительных чи-сел а логарифмирование представляет собой инъективное отобра-жение

Если при решении экспоненциального уравнения возникают

проблемы их как правило можно устранить посредством вспомо-гательного логарифмирования В крайнем случае можно обратиться к численным методам (см нелинейные уравнения и системы урав-нений в разд 510)

Значительно больше сложностей возникает при решении лога-рифмических уравнений

92

Область определения этих уравнений если рассматривать их во множестве действительных чисел как правило не совпадает с действительной числовой прямой MathCAD рассматривает лога-рифмические уравнения в комплексной области те не учитывая область определения

В данном примере показано что MathCAD иногда находит

решения (и даже действительные) там где их быть не может (про-блемы с комплексным логарифмом) Но нахождение области опре-деления позволяет прийти к верному решению

Насколько полезным может быть предварительное нахожде-ние области определения показывает следующий пример

93

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

множество решений L=

57 Тригонометрические уравнения

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

Для тангенса (и котангенса) этого главного значения доста-точно посредством периодического продолжения atan(x)+kp где k ndash целое представить все решения При решении уравнений с тан-генсами и котангенсами возникает также вполне разрешимая про-блема связанная с тем что данные функции определены не во всех точках числовой прямой

Данный пример показывает что вышеуказанное ограничение не

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

94

Вместо этого возникает другая сложность обратные функции asin(x) и acos(x) значениями которых являются главные значения обратных отображений не дают всех решений в рамках одного пе-риода (2p)

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

95

Данный пример демонстрирует пределы возможности MathCAD Решение напрямую не дает никаких результатов

Проведя дополнительные преобразования нам все-таки удает-ся найти решение

58 Неравенства

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

Неравенства как и уравнения можно решать либо с использо-ванием символьного знака равенства либо отметив переменную следом курсора посредством выполнения команды Solve (Вычис-лить) подменю Variable (Переменные) меню Symbolics (Символы) В разных неравенствах могут быть использованы различные знаки неравенств

Знаки laquoбольшеraquo и laquoменьшеraquo могут вводиться непосредственно с клавиатуры Все остальные знаки можно вводить с помощью па-нели Evaluation (Вычисления) либо сочетанием клавиш

96

Линейные неравенства и неравенства с дробно-рациональ-

ными функциями не составляют сложности для MathCAD

Неравенства с параметрами удобно анализировать с использо-

ванием знака символьного равенства если значения параметра ограничены некоторыми условиями

При решении неравенств содержащих трансцендентные

функции возможности MathCAD ограничены

В данном примере MathCAD не может решить неравенство

при использовании символьного процессора На помощь приходят

97

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

59 Системы линейных уравнений

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция lsolv(AB) Она решает си-стему линейных алгебраических уравнений вида A X B выдавая решение ndash вектор X А ndash матрица коэффициентов размерности n n В ndash вектор свободных членов размерности n X ndash вектор неизвест-ных пока решений

Эквивалентной для MathCAD формой представления систем

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

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения) Он удобен тем что при его использовании уравнения записываются не в матричной а в обычной форме а также тем что позволяет решать нелинейные

98

уравнения и вводить ограничительные условия для определяемого решения Блок решения применяется как для нахождения численно-го решения так и для отыскания решения в символьном виде

Синтаксис Блока решения Given Уравнения Ограничительные условия Find(v1v2vn) minus возвращает значение одной или ряда переменных для точного решения vi minus переменные которые надо найти i = 1 hellip n

Последовательность действий при численном решении

Задаем начальные (стартовые) значения для искомых пере-

менных Заключаем уравнения в блок решения начинающийся ключевым

словом Given и заканчивающийся ключевым словом Find (v1v2 vn) Если после слова Find (v1v2vn) ввести знак равенства [=]

MathACD выдаст численное решение При символьном решении не надо вводить начальные значе-

ния а после ключевого слова Find (v1v2vn) вместо знака равен-ства следует ввести символьный знак равенства (с помощью комби-нации [Ctrl+] или соответствующей пиктограммы панели Evaluation)

Существует еще одно важное отличие между блоком решения

и использованием матричных операций Если определитель матри-

99

цы коэффициентов равен нулю матричные методы оказываются непригодными В таком случае система не имеет решений или раз-решима неоднозначно Если же применить блок решения MathCAD распознает неоднозначность и выдает решение в параметрической форме

510 Нелинейные уравнения и системы уравнений

Многие уравнения например трансцендентные и системы из

них не имеют аналитических решений Однако они могут решаться численными методами с заданной погрешностью (не более значе-ния заданного системной переменной (TOL) Для простейших урав-нений вида F(x) = 0 решение находится с помощью функции

Rооt (Выражение Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем точности при котором выражение дает 0

Функция реализует вычисления итерационным методом при-чем можно задать начальное значение переменной Это особенно полезно если возможно несколько решений Тогда выбор решения определяется выбором начального значения переменной Пример ниже иллюстрирует технику применения функции root для вычис-ления корней кубического полинома

Как известно кубическое уравнение обязательно имеет хотя

бы один кубический корень х1 Он найден вначале функцией root Два других корня могут оказаться и комплексными Функция root

100

может отыскивать и такие корни Для поиска второго корня х2 первый исключается делением F(x) на (хminusх1) Соответственно для поиска третьего корня х3 F(X) делится и на (хminusх2)

Эту процедуру можно распространить и на поиск корней по-

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

5101 Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию polyroots(V) Она воз-вращает вектор корней многочлена (полинома) степени п коэффи-циенты которого находятся в векторе V имеющем длину равную n + 1

Заметим что корни полинома могут быть как вещественными

так и комплексными числами Не рекомендуется пользоваться этой функцией если степень полинома выше пятой-шестой так как то-гда трудно получить малую погрешность вычисления корней

При решении систем нелинейных уравнений используется специальный вычислительный блок открываемый служебным сло-вом директива Given и имеющий следующую структуру

101

Given Уравнения Ограничительные условия Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций Find(vl v2 vn) minus возвращает значение одной или ряда пере-

менных для точного решения Minerr(vl v2 vn) minus возвращает значение одной или ряда пе-

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

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

При использовании функции

Minerr для решения систем нелиней-ных уравнений надо проявлять из-вестную осторожность и обязательно предусматривать проверку решений

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

102

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ

61 Решение одиночного дифференциального

уравнения Для численного решения одиночного дифференциального

уравнения в MathCAD имеется функция Odesolve с помощью кото-рой может быть решена как задача Коши для обыкновенного диф-ференциального уравнения так и граничная задача Эта функция входит в состав блока решения и является его заключительным ключевым словом

Odesolve x b step ndash возвращает функцию которая является

решением дифференциального уравнения Используется в блоке с оператором Given

x ndash переменная интегрирования действительное число b ndash конечная точка отрезка интегрирования step ndash величина шага по переменной интегрирования (необяза-

тельный аргумент) Замечания 1 Уравнение должно быть линейным относитель-

но старшей производной 2 Число заданных начальных или граничных условий внутри

блока должно быть равно порядку уравнения 3 При записи уравнения для обозначения производных функ-

ции используйте специальные кнопки с панели Math или (штрих) minus [Ctrl+F7] для знака равенства = [Ctrl+=] (в том числе и для допол-нительных условий)

4 Конечная точка должна быть больше начальной 5 Не допускаются начальные и граничные условия смешанно-

го типа 5f a f a

6 Искомая функция в блоке должна быть обязательно с аргу-ментом f x

103

62 Численное решение задачи Коши для дифференциальных уравнений и систем

Для численного решения задачи Коши дифференциальных

уравнений и их систем могут быть использованы функции 1 2 rkfixed y x x n F ndash возвращает матрицу решений системы

уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

1 2 rkadapt y x x n F ndash ищет решение с переменным шагом

(там где решение меняется медленнее шаг увеличивается а в обла-сти быстрого изменения решения шаг функции уменьшается) Воз-вращается решение с равным шагом Функция работает быстрее чем rkfixed

1 2 Bulstoer y x x n F ndash дает более точное решение (методом

Bulirsch-Stoer) Аргументы вышеуказанных функций y ndash вектор начальных условий 1 2x x ndash границы интервала для поиска решения

n ndash количество точек на интервале F x y ndash вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе диффе-ренциальных уравнений первого порядка

104

В результате работы указанных функций рассчитывается мат-

рица количество столбцов которой равно порядку уравнения +1 (или сумме порядков уравнений в системе +1) а количество строк равно параметру n Первый столбец содержит значения независи-мой переменной второй ndash значение функции третий ndash для диффе-ренциальных уравнений 2-го порядка ndash значение производной искомой функции (если решается система двух уравнений 1-го по-рядка то третий столбец будет содержать значения второй функ-

105

ции) Для выделения решений (функций или их производных) мож-но воспользоваться стандартным оператором вывода столбцов мат-рицы Mlt gt

Если матрица правых частей дифференциальных уравнений почти вырождена то такие системы называются жесткими В этом случае решения возвращаемые функцией rkfixed будут неустойчи-выми и для решения таких систем необходимо применять функции Stiffb Stiffr где 1 2 Stiffb y x x n F J ndash ищет решение дифференци-

ального уравнения или системы дифференциальных уравнений ме-тодом Bulirsch-Stoer

1 2 Stiffr y x x n F J ndash ищет решение дифференциального

уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же как и при решении хорошо обусловленных систем дифференциальных уравнений Дополни-тельный аргумент ndash матрица J размером 1n n первый столбец

которой содержит частные производные dF dx остальные столбцы и строки представляют собой матрицу Якоби dF dy

106

0 0 0

0

1 1 1

0

0

n

n

n n n

n

F F F

x y y

F F F

x y yJ x y

F F F

x y y

Пример решения жесткой системы дифференциальных урав-нений

Для отыскания решения системы дифференциальных уравне-

ний только в конечной точке используются функции bulstoer rkadapt stiffb stiffr

Набор параметров для этих функций 1 2 maxbulstoer y x x acc F k save

1 2 maxrkadapt y x x acc F k save

1 2 maxstiffb y x x acc F k save

1 2 maxstiffr y x x acc F k save

107

Первые три параметра и пятый F этих функций те же что и

для функции Rkadapt Дополнительные параметры acc ndash параметр контролирующий точность решения (реко-

мендуется асс = 0001) maxk ndash максимальное число промежуточных точек в которых

ищется решение save ndash минимально допустимый интервал между точками в

которых ищется решение

63 Решение граничных задач для обыкновенных дифференциальных

уравнений

Если для дифференциального уравнения n-го порядка k гра-ничных условий заданы в начальной точке 1x а n k граничных

условий ndash в конечной точке 2x то такая задача называется краевой В MathCAD реализованы две функции позволяющие численно найти недостающие условия в точках 1x и 2x

631 Двухточечная краевая задача

Задача решается в два этапа Сначала с помощью функции sbval находятся недостающие начальные значения а затем приме-няется одна из вышеописанных функций для решения стандартной задачи Коши на отрезке

1 2 sbval V x x xf F load score ndash ищет недостающие началь-

ные условия в точке 1x V ndash вектор начальных приближений для искомых начальных

значений в точке 1x 1x 2x ndash граничные точки интервала F x y ndash вектор-столбец из n элементов содержит правые ча-

сти дифференциальных уравнений 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точке 1x некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

2score x y ndash вектор-столбец размерности вектора V содер-

жащий разность между начальным условием в точке 2x и значени-ем искомого решения в этой точке

108

Теперь решаем задачу традиционным методом

632 Краевая задача с условиями внутри интервала

На первом этапе используется функция ( 1 2 1 2 balfit V V x x xf 1 2 )F load load score ndash ищет недостающие начальные условия

в точках х1 и х2 сшивая решения выходящие из этих точек в точке xf

109

1 2V V ndash векторы начальных приближений для искомых на-чальных значений в точках х1 и х2

х1 х2 ndash граничные точки интервала 2 1 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точках х1 х2 некоторые из значений ndash констан-ты другие неизвестны и будут найдены в процессе решения

2 2 2load x V ndash вектор-столбец из n элементов содержит

начальные значения в точке х2 некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

score xf y ndash вектор-столбец размерности n содержащий раз-

ность между решениями начинающимися в точках х1 и х2 в точке xf

110

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ

71 Одномерная линейная аппроксимация

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

При кусочно-линейной интерполяции или аппроксимации вычи-сления дополнительных точек выполняются по линейной зависимости Графически это означает просто соединение узловых точек отрезками прямых для чего используется следующая функция linterp VX VY x

Для заданных векторов VX и VY узловых точек и заданного ар-гумента х эта функция возвращает значение функции при ее линей-ной аппроксимации При экстраполяции используются отрезки пря-мых с наклоном соответствующим наклону крайних отрезков при линейной интерполяции например

111

72 Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная ин-

терполяция оказывается довольно грубой Для целей экстраполяции функция linterp не предназначена и за пределами области определе-ния может вести себя непредсказуемо

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

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

cspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии в опорных точках к ку-бическому полиному

pspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии к опорным точкам пара-болической кривой

lspline VX VY ndash воз-

вращает вектор VS вторых производных при прибли-жении к опорным точкам прямой Наконец четвертая

функция int erp VS VX VY x ndash возвращает значение у (х) для за-

данных векторов VS VX VY и заданного значения x

112

Таким образом сплайн-аппроксимация проводится в два эта-па На первом с помощью функций cspline pspline или Ispline отыс-кивается вектор вторых производных функции у(х) заданной векто-рами VX и VY ее значений (абсцисс и ординат) Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с по-мощью функции interp

73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D графиков имеется возможность осуществления двумерной сплайн-интерполяции Это позволяет существенно повысить представительность сложных гра-фиков SD-функций в том числе контурных

113

Интерполяция функции двух переменных проводится также в два этапа

1 Вычисляется вектор VS вторых производных в опорных точках с помощью функций

cspline Mxy Mz

pspline Mxy Mz

lspline Mxy Mz

Здесь Mxy ndash матрица размера 2n строки которой определя-

ют по диагонали x y координаты прямоугольной сетки Mz ndash

матрица размера n n значений функции в узлах вышеопределен-ной сетки

2 Вычисление с помощью функции int erp VS Mxy Mz V

Здесь V minus вектор координат x y

Показаны графики функции двух переменных после проведе-ния двумерной сплайн-интерполяции и без нее

114

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ

81 Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х) Задача регрессии заключается в получении параметров этой функ-ции такими чтобы функция приближала облако исходных точек (заданных векторами VX и VY ) с наименьшей среднеквадратичной погрешностью

Чаще всего используется линейная регрессия при которой функция у(х) имеет вид у(х) = a + bx и описывает отрезок прямой К линейной регрессии можно свести многие виды нелинейной ре-грессии при двупараметрических зависимостях у(х)

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций

corr VX VY ndash возвращает скаляр ndash коэффициент корреляции

Пирсона int ercrpt VX VY ndash возвращает значение параметра а (смеще-

ние линии регрессии по вертикали) slope VX VY ndash возвращает значение параметра b (наклона

линии регрессии)

115

82 Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной

регрессии общего вида При ней заданная совокупность точек при-ближается функцией вида

1 2 1 1 2 2 F x K K Kn K F x K F x KnFn x

Таким образом функция регрессии является линейной комби-нацией функций 1 2 F x F x Fn x причем сами эти функции

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

Для реализации линейной регрессии общего вида использует-ся функция inf l it VX VY F Эта функция возвращает вектор

коэффициентов линейной регрессии общего вида K при котором среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек если их координаты хранятся в векторах VX и VY оказы-вается минимальной Вектор F должен содержать функции

1 2 F x F x Fn x записанные в символьном виде

Расположение координат точек исходного массива может быть любым но вектор VX должен содержать координаты упорядочен-ные в порядке их возрастания а вектор VY ndash ординаты соответ-ствующие абсциссам в векторе VX

116

83 Функции для одномерной и многомерной полиномиальной регрессии

Функция для обеспечения полиномиальной регрессии при про-

извольной степени полинома регрессии regress VX VY n введена

в новую версию MathCAD Она возвращает вектор VS запрашиваемый функцией int erp VS VX VY x содержащий коэффициенты многочлена n-й

степени который наилучшим образом приближает laquoоблакоraquo точек с координатами хранящимися в векторах VX и VY

Для вычисления коэффициентов полинома регрессии исполь-зуется функция submatrix

На практике не рекомендуется делать степень аппроксимиру-ющего полинома выше четвертой-шестой поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий поли-ном коэффициенты которого вычисляются по всей совокупности заданных точек те глобально Иногда полезна другая функция по-линомиальной регрессии дающая локальные приближения отрез-ками полиномов второй степени ndash loess VX VY span Эта функция

возвращает используемый функцией int erp VS VX VY x вектор

VS дающий наилучшее приближение данных (с координатами то-чек в векторах VX и VY ) отрезками полиномов второй степени Ар-гумент span gt 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение ndash 075)

117

Чем больше span тем сильнее сказывается сглаживание данных При больших span lt эта функция приближается к 2regress VX VY

MathCAD позволяет выполнять также многомерную регрес-сию самый типичный случай которой ndash приближение трехмерных поверхностей Их можно характеризовать массивом значений высот z соответствующих двумерному массиву Мху координат точек (х у) на горизонтальной плоскости

Новых функций для этого не задано Используются уже описанные функции в несколько иной форме

Regress Mxy Vz n ndash возвращает вектор запрашиваемый функ-

цией int erp VS Mxy Vz V для вычисления многочлена п-й степени который наилучшим образом приближает точки множества Мху и Vz Мху ndash матрица т times 2 содержащая координаты x и y

Vz ndash m-мерный вектор содержащий z-координат соответ-ствующих m точкам указанным в Мху

118

loess Mxy Vz span аналогична loess VX VY span но в

многомерном случае int erp VS Mxy Vz V возвращает значение z по заданным

векторам VS (создается функциями regress или loess) и Мху Vz и V (вектор координат х и у заданной точки для которой находится z)

84 Функция для нелинейной регрессии

общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора K параметров произвольной функции 1 2 F x K K Kn при котором обеспечивается минимальная

среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек

Для проведения нелинейной регрессии общего вида использу-ется функция genfit VX VY VS F Эта функция возвращает вектор

K параметров функции F дающий минимальную среднеквадратич-ную погрешность приближения функцией 1 2F x K K Kn ис-

ходных данных F должен быть вектором с символьными элементами содер-

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

119

ментов вектора K необходимые для решения системы нелинейных уравнений регрессии итерационным методом

85 Функции сглаживания данных

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

medsmooth VY n ndash для вектора с m действительными числами

возвращает m-мерный вектор сглаженных данных по методу сколь-

120

зящей медианы параметр n задает ширину окна сглаживания (n должно быть нечетным числом меньшим m)

ksmooth VX VY b ndash возвращает n-мерный вектор сглаженных

VY вычисленных на основе распределения Гаусса здесь VX и VY ndash n-мерные векторы действительных чисел параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в не-сколько раз превышать интервал между точками по оси х)

sup smooth VX VY ndash возвращает n-мерный вектор сглажен-

ных VY вычисленных на основе использования процедуры линей-ного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k здесь VX и VY ndash n-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возрастания

86 Функция предсказания

Весьма интересной является функция предсказания predikt data k N где data ndash вектор данных k ndash число последних

точек существующих данных на основе которых происходит расчет предсказываемых точек N ndash число точек в которых необходимо предсказать данные Она по ряду заданных равномерно располо-женных точек позволяет рассчитать некоторое число N последую-

121

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

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

122

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ

Вплоть до появления 7-й версии системы MathCAD возможно-сти программирования в них были крайне ограниченными Факти-чески MathCAD позволяла реализовать лишь линейные программы в основе которых лежит понятие функции Функция if и ранжиро-ванные переменные в отдельных случаях могли заменить условные выражения и циклы но с серьезными ограничениями Отсутствова-ла возможность задания завершенных программных модулей

Эти возможности в расширенном варианте появились в MathCAD 70 Pro Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке) включаемой кнопкой на панели Math

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

Эти подпрограммы-функции составляются так же как и опре-деления функций (табл 23) Рассмотрим простой пример вычисле-ния суммы Sum(n) = 1 + 2 + 3 + + n

Задайте сначала имя функции Sum вслед за которым введите список параметров (n) и оператор присваивания =

Введите начальное значение s 0 и отметьте его целиком Стрелка служит оператором присваивания в теле программы вво-дится клавишей (открывающая фигурная скобка) или выбором кнопки со стрелкой с панели

Создайте новую строку программы (вставка вертикальной черты) с помощью кнопки Add Line клавиша (закрывающая квадратная скобка) На экране появится вертикальная черта и пустая ячейка

Выполните щелчок на кнопке for чтобы ввести оператор цикла Перед символом принадлежности введите переменную i а после него ndash промежуток изменения переменной 1n В находящей-ся ниже ячейке введите присваивание s s+i Программа готова

123

Таблица 23 Команды панели Symbolic (символы)

Команда Функция Пример

Add Line Добавляет новую строку поднад (зависит от выделения) текущей строкой

Присваивание значения локальной переменной

if

Условный оператор (оператор ветвления) if условие должно стоять после if а оператор который исполняется если выполнено заданное условие ndash перед if

otherwise Обозначает оператор который должен быть исполнен если условие оператора if не выполняется

for

Цикл for за ключевым словом for следует переменная-счетчик а после символа принадлежности вводится промежуток изменения этой переменной Внутренние операторы цикла сдвинуты немного вправо

while

Цикл while внутренние операторы цикла будут исполняться до тех пор пока будет истинным условие следующее за ключевым словом while Пример показывает применение цикла для нахождения нулей функции методом касательных Ньютона

break

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

continue Служит для преждевременного завершения текущей итерации цикла сам цикл при этом продолжается

retutn Преждевременное завершение программы указанное в ячейке значение будет возвращено

on error Если при вычислении выражения expr2возникла ошибка вычисляется выражение expr1

124

Условный оператор if и оператор otherwise Рассмотрим пример программного блока вычисляющего фак-

ториал с использованием рекурсии

В данном примере 1 возвращается только если n = 0 или n = 1

Обратите внимание на задание нескольких условий ndash со знаком плюс каждое условие в скобках В остальных случаях учитывая формулу n=n(n minus 1) вызывается fakt(n minus 1) и умножается на n С помощью функции error можно вывести сообщение об ошибке при непра-вильном вводе аргумента

Для демонстрации работы цикла for рассмотрим ту же задачу но вычисление факториала осуществим с помощью цикла

Если n = 0 или n = 1 возвращается 1 в противном случае с по-мощью цикла for вычисляется произведение n=123n Вычис-ленное последним значение p возвращается автоматически

В следующем примере с помощью алгоритма Евклида опреде-ляется наибольший общий делитель Для реализации алгоритма используется цикл с ключевым словом while

125

91 Прерывание цикла с помощью операторов break и continue Оператор return

Первый пример ndash реализация метода касательных Ньютона

для определения нулей функции На основе начального значения x вычисляется новое улучшенное значение x расположенное ближе к искомому нулю функции При этом итерации повторяются до тех пор пока значение функции не станет меньше заданной точности (в примере 10minus6)

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

Кроме ключевого слова break имеется ключевое слово

continue с похожей функцией В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору continue прерывает выполнение только текущей итерации

126

92 Ключевое слово continue Ключевое слово continue используется для выявления всех ну-

лей функции на заданном интервале При этом в примере производится разбиение интервала на n

равных подынтервалов и ищутся те из них на которых функция ме-няет знак При обнаружении такого подынтервала вызывается функция реализующая метод касательных Ньютона с начальным значением находящимся в середине подынтервала

Обратите внимание по завершении работы программы выда-

ется вектор значений Ниже приводится программа вычисляющая коэффициенты

Фурье функции причем в результате выдается матрица значений нулевая по счету строка содержит коэффициенты Аn а первая ndash ко-эффициенты Bn Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn и первый ndash для Bn

127

128

ЛАБОРАТОРНЫЕ РАБОТЫ

Методические указания Порядок выполнения работы 1 Получите у преподавателя задание на выполнение очеред-

ной работы (вариант и дополнительные указания) и уясните цель 2 Разработайте структуру и алгоритм работы программы 3 Реализуйте алгоритм в виде текста на языке Maple 4 Продемонстрируйте работу программы преподавателю и

при наличии замечаний сделайте необходимые поправки 5 Подготовьте и сдайте отчет о работе Требования к оформлению отчета

По каждой выполненной лабораторной работе составляется отчет который должен содержать

minus титульный лист с названием учебного заведения и кафедры учебной дисциплины указанием номера работы фамилии исполни-теля и фамилии преподавателя принявшего работу

minus тему цель работы и развернутое лабораторное задание с от-ражением сведений о конкретном варианте

minus при необходимости minus краткое пояснение принципов метода и алгоритма решения задачи

minus текст программы minus фактические результаты исполнения программы minus вывод о работоспособности программы с объяснением при-

чин обнаруженных некорректностей в работе

129

Лабораторная работа 1 Тема Решение нелинейных уравнений

Лабораторные задания 1 Разработать программу вычисления корня нелинейного

уравнения с некоторой точностью одним из четырех методов поло-винного деления (ПД) касательных (К) хорд (Х) хорд и касатель-ных (ХК)

2 Решить эти же уравнения используя встроенные функции MathCAD

3 Сравнить полученные результаты

Методические указания С методами решения можно ознакомиться в [1minus3] Построить графики функций и отделить корень

Варианты заданий

Метод решения Задания

Метод хорд

Вариант 1 1 sin 035x x 2 3 23 9 8 0x x x

Вариант 5

1 12 cos 0368 0x x 2 3 3 1 0x x Вариант 9

1 ctg 3 0x x 2 3 201 06 15 0x x x Вариант 13

1 2 4sin 0x x 2 3 201 04 2 0x x x Вариант 17

1 lg 7 2 6 0x x 2 3 203 09 08 0x x x

Метод половинного деления

Вариант 2

1 2 5 3 0x x 2 22 log 1x x

Вариант 61 exp 2 2 1 0x x 2 tg 2 4x x x

Вариант 10 1 arctg 1 2 0x x 2 4 3 23 4 12 1 0x x x

Вариант 14

1 2 5xe x 2 3l g 1 1x o x

Вариант 18 1 lg 1 1x x 2 4 218 6 0x x

130

Окончание

Метод

касательных

Вариант 3

1 3ln 1 0x x 2 3 22 2 0x x

Вариант 7

1 2 1xx 2 3 23 9 10 0x x x Вариант 11

1 121 1x x 2 3 2 2 0x x

Вариант 151 cos 0x x 2 3 3 1 0x x

Вариант 19 1 2 lnx x 2 3 204 06 18 0x x x

Метод хорд и касательных

Вариант 4

1 2tg 047 02x x 2 3 22 3 12 5 0x x x Вариант 8

1 lg 12 0x x 2 3 23 24 3 0x x x Вариант 12

1 2ctg105 0x x 2 3 23 1 0x x Вариант 16

1 3 cos 1 0x x 2 3 22 9 6 0x x Вариант 20

1 2 21x

x e 2 3 23 8 0x x

131

Лабораторная работа 2 Тема Решение систем Лабораторные задания 1 Решить линейную систему классическим методом Гаусса

или одним из его модифицированных методов 2 Решить линейную систему методом Крамера используя со-

ответствующие пакеты 3 Решить нелинейные системы уравнений методами итераций

и Ньютона 4 Решить эти же системы используя встроенные функции 5 Результаты

Методические указания С методами решения можно ознакомиться в [1minus3 5 6] Построить графики функций и определить область существо-

вания корня Варианты заданий

1 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 1

3 2 4

2 3 6

2 3 4

х х х х

х х х х

х х х х

х х х х

sin 1 12

2 cos 2

x y

x y

2

2 2

tg 04

06 2 1

0 0

xy x

x y

x y

2 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 6

2 3 8

3 2 2 4

2 3 2 8

х х х х

х х х х

х х х х

х х х х

сos 1 05

cos 3

x y

x y

2 2

sin 16 0

1

0 0

x y x

x y

x y

3 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 4 5

2 2 3 1

3 2 2 1

4 3 2 5

х х х х

х х х х

х х х х

х х х х

sin 2 2

cos 1 07

x y

y x

3 2

2 2

tg 01

2 1

xy x

x y

4 1 3 4

1 3 4

1 2 4

1 2 3

3 4 5

2 3 4

3 2 5 12

4 3 5 5

х х х

х х х

х х х

х х х

2 sin 05 1

cos 15

x y

x y

2 2

sin 12 02

1

x y x

x y

132

Продолжение

5 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

3 5 7 12

3 5 7 0

5 7 3 4

7 3 5 16

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

x y

y x

3 2

2 2

tg 03

09 2 1

xy x

x y

6 1 2 3 4

1 2 3

1 2 4

2 3

5 3 4 20

3 2 9

5 7 10 9

3 5 1

х х х х

х х х

х х х

х х

сos 05 08

sin 2 16

x y

y x

2 2

sin 13 0

1

x y x

x y

7 1 2 3 4

1 2 4

2 3 4

1 2 3 4

2 5 8

3 6 9

2 2 5

4 7 6 0

х х х х

х х х

х х х

х х х х

sin 1 13

sin 1 08

x y

x y

3

2

2 2

tg

08 2 1

xy x

x y

8 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 4

3 3 3 2 6

3 2 6

3 3 6

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

y x

x y

2 2

sin 15 01

1

x y x

x y

9 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 7

2 5

2 1

3 3 10

х х х х

х х х х

х х х х

х х х х

сos 05 2

sin 2 1

x y

y x

3

2

2 2

tg

07 2 1

xy x

x y

10 1 2 4

1 2 3

2 3 4

1 2 3 4

4 2 9

3 4 7

3 2 4 12

2 3 0

х х х

х х х

х х х

х х х х

sin 2 15

cos 2 05

x y

y x

2 2

sin 12 01

1

x y x

x y

11 1 2 3 4

1 2 4

1 3 4

1 2 3 4

2 1

2 3 2

3 3

2 2 2 5 6

х х х х

х х х

х х х

х х х х

sin 1 12

cos 2 2

y x

x y

2

2 2

tg 02

06 2 1

xy x

x y

12 1 2 3 4

2 3 4

1 2 4

1 2 3

2 0

2 2

3 1

3 2 0

х х х х

х х х

х х х

х х х

сos 1 05

cos 3

y x

y x

2 2

sin 15 01

1

x y x

x y

133

Окончание

13 1 2 4

1 2 3 4

1 3 4

1 2 4

5 9

3 3 4 7

3 2 16

4 0

х х х

х х х х

х х х

х х х

сos 1 07

sin 2 2

x y

y x

2

2 2

tg 04

08 2 1

xy x

x y

14 1 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 9

2 8

2 5

2 1

х х х

х х х х

х х х х

х х х х

2 sin 05 1

cos 15

y x

y x

2 2

sin 12 01

1

x y x

x y

15 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 6 2 2 12

3 5 7 12

3 5 7 0

5 7 3 4

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

y x

x y

2

2 2

tg 01

09 2 1

xy x

x y

16 1 2

1 2 3 4

1 2 3 4

1 2 3 4

5 2

2 3 2 4

3 2 6

3 3 6

х х

х х х х

х х х х

х х х х

сos 05 08

sin 2 16

x x

x y

2 2

sin 14

1

x y x

x y

17 1 2 4

1 2 3 4

1 2 3 4

1 2 3 4

4 2

2 3 1

2 3 6

2 3 4

х х х

х х х х

х х х х

х х х х

sin 1 13

sin 1 08

y x

y x

2

2 2

tg 01

05 2 1

xy x

x y

18 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

5 3 4

2 3 2 6

2 2 3 8

3 2 2 4

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

x y

y x

2 2

sin 11 01

1

x y x

x y

19 1 2 3 4

1 2 3 4

1 3 4

1 2 3 4

4 2 4 3

2 1

3 3

2 2 2 5 6

х х х х

х х х х

х х х

х х х х

2 cos 05

sin 2 1

x y

x y

2 2

tg

2 1

x y xy

x y

20 1 3 4

2 3 4

1 2 4

1 2 3

2 2 1

2 2

1

3 2 0

х х х

х х х

х х х

х х х

sin 2 15

cos 2 05

y x

x y

2 2

sin 1

075

x y xy

x y

134

Лабораторная работа 3 Тема Работа с многочленами Лабораторные задания 1 Исследовать заданные функции на непрерывность найти их

экстремумы 2 Разложить заданную функцию одного переменного в ряд в

окрестности указанной точки 0x до n-го порядка 3 Преобразовать ряд в многочлен который разложить по сте-

пеням х а Построить графики заданной функции и получивше-

гося многочлена 4 Уметь находить коэффициенты при заданных степенях

старшие и младшие степени корни из многочлена и интервалы дей-ствительных корней многочлена раскладывать в ряд функции мно-гих переменных

Варианты заданий

Номер варианта

Функция n 0x

1 siny x arcsinu xy 10 1

2 cosy x u xy 8 minus1

3 lny x zu xy 9 3

4 tgy x zu y x 6 minus2

5 arcsiny x expu z xy 10 minus07

6 arccosy x lnu x y z 9 08

7 exp 2y x expu x zy 6 17

8 3 4 5y x x u th x y z 8 minus066

9 05log 1y x u ch x y z 5 15

10 05 2y sh x 2 2 2x y z 10 05

11 03 4y ch x 2 2 2x y z 7 minus045

12 13arctgy x 2 2 21 u x y z 5 03

13 1 exp 1y x x 2 2 2ln u x x y z 10 minus14

14 3 cos 1y x x 2 2tg u z x y 12 09

135

Окончание

Номер варианта

Функция n 0x

15 2 1 sin 7 3y x x ctgu x y z 9 055

16 2tgy x 22 z x y 6 08

17 2ln 1y x 2 2 21 cosu x y z 10 01

18 2 21 1y x x 2 2 21 sinu x y z 8 0

19 2 21 1y x x 2tgu x z 9 0

20 2 2sin 1y x x u cth x y z 10 036

136

Лабораторная работа 4 Тема Интерполяция и экстраполяция функций Цель построение интерполяционных многочленов по равно-

и неравноотстоящим узлам вычисление значений функций в ука-занных точках

Лабораторные задания 1 Построить интерполяционные многочлены Лагранжа Нью-

тона по равно- и неравноотстоящим узлам а также первые и вторые интерполяционные формулы Ньютона Гаусса и Бесселя

2 Выполнить линейную квадратичную кубическую и четвер-того порядка сплайн-аппроксимацию

Методические указания С методами построения многочленов можно ознакомиться

в [1minus3]

Варианты заданий

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

0298

0303

0310

0317

0323

0330

0339

150

155

160

165

170

175

180

325578

317639

312180

304819

2098755

2091950

283598

1

7

13

19

02006 03645

144 182

02654 03325

146 177

03127 03222

154 185

02746 03033

149 172

043

048

055

062

070

075

078

0115

0120

0125

0130

0135

0140

0145

163597

173234

187686

203345

222846

235973

253687

2

8

14

20

04984 073482

01144 0142

04998 08375

01004 0148

04256 08751

01157 0152

04057 08599

0105 0150

137

Окончание

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

011 015 021 029 035 041 047

150 155 160 165 170 175 180

15132 17422 20393 23994 28160 32812 37875

3 9

15

18

0112 0481 143 175 0128 0462 156 1751 0104 0439 148 1782 0103 04661 1523 1885

002 008 012 017 023 030 035

0375 0380 0385 0390 0395 0400 0405

102316 109590 121483 114725 130120 140976 139642

4

10

16 5

0021 036 0365 0406 024 0348 0379 0427 005 0321 0384 0403 0057 0337 0371 0413

068 073 080 088 093 099 106

185 190 195 200 205 210 215

43198 48689 54653 59653 64817 69554 71258

6

11

17

12

066 105 182 214 069 11 188 211 071 103 173 201 0682 0983 194 221

138

Лабораторная работа 5 Тема Разложение функций в ряд Фурье

Лабораторные задания 1 Разложить заданную функцию в ряд Фурье по системе ор-

тонормированных функций 2 Построить в одной системе координат графики функции и

некоторых частичных сумм ряда Фурье

Методические указания С методами решения можно ознакомиться в [1minus3 5minus7]

Варианты заданий

Номер варианта Функция у(х) Система функций

1 expx x Гегенбауэра

2 23 5 11x x Эрмита

3 sin 2 6x Лагерра

4 cos 5 x Лежандра

5 21 3x Якоби

6 2 21 1x x Чебышева 1-го рода

7 2 21 1x x Чебышева 2-го рода

8 1 cos x Гегенбауэра9 1 sin x Эрмита10 cosx x Лагерра11 sinx x Лежандра12 cos x x Якоби

13 sin x x Чебышева 1-го рода

14 exp x x Чебышева 2-го рода

15 6x Гегенбауэра16 1 x Эрмита17 1 Лагерра18 2cos x Лежандра

19 2sin x Якоби

20 122 1x Чебышева 1-го рода

21 122 1x Чебышева 2-го рода

139

Лабораторная работа 6 Тема Решение дифференциальных уравнений Лабораторные задания 1 Решить дифференциальное уравнение методами Эйлера

Рунге-Кутта Милна Адамса и простроить графики решений считая начальные условия нулевыми

2 Решить дифференциальное уравнение методами системы MathCAD и сравнить результаты решений

Методические указания Принять шаг равным 01 в качестве отрезка на котором ищет-

ся решение взять отрезок [01] С методами решения можно ознакомиться в [1minus3 5 6 8] Варианты заданий

Но-мер вари-анта

Уравнение у= f(x)

Но-мер вари-анта

Уравнение у= f(x)

1 21 02 siny y x y 11 cos 05y x y x y

2 2cos 1 05y x x y 12 2cos 1 06y x y y

3 21 04 sin 15y y x y 13 2cos 2 03y y x y

4 cos 15y x y x y 14 1 sin 05 2y x y y x

5 2cos 15 01y y x y 15 21 06sin 125y x y

6 cos 2 15y x y x y

16 1 01 2 sin 2y y x x y

7 2cos 1254 01y y x y

17 21 08 sin 2y y x y

8 cos 15 15y x y x y

18 1 sin 2 03 2y x y y x

9 2cos 175 05y y x y

19 1 1 sin 2y x y y x

10 2cos 08 03y x y y 20 21 22sin 15y x y

140

Лабораторная работа 7

Тема Интегральные преобразования Цель вычисление интегральных преобразований

Лабораторное задание От заданных функций найти прямое и обратное преобразова-

ние Фурье Лапласа Гильберта и Меллина

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

ознакомиться в [1minus3 5minus7] Так как не все заданные функции записа-ны в таблицы интегральных преобразований то необходимо соста-вить для них соответствующие интегральные суммы

Варианты заданий

Номер варианта Функция Номер варианта Функция

1 x 11 2 0

0 0

x

x

2 1 0 1

2 1

0 0 2

x

x x

x x

12 2x

3 1 0 1

0 0 1

x x

x x

13 2 0 2

0 0 2

x x

x x

4 sin 0

0 0

x x

x

14 0

0 0

x x

x

5 cos 0

0 0

x x

x

15 3x

6 1 0 1

3 1

0 0 2

x x

x x

x x

16 3 0 1

3 1

0 0 9

x x

x

x x

7 2 0

0 0

x x

x

17

1 1 1

0 1 1

x

x x

8 3 0

0 0

x x

x

18

1 1

0 1 1

x x

x x

9 exp x 19 2 1 1

0 1 1

x x

x x

10 exp 0

0 0

x x

x

20 3 1 1

0 1 1

x x

x x

141

САМОСТОЯТЕЛЬНЫЕ РАБОТЫ

Самостоятельная работа 1 1 Вычислите для каждого значения 1 5 7x следующие

функции

3 62 5

1y

x x

2

21

2

x

y e

2arctg

2

xy

Рекомендуется использовать операцию векторизации (MathPalette матричные операции) Измените количество значащих цифр выводимых на экран после десятичной точки на 6

2 Решите двумя способами (матричным и с помощью функ-

ции lsolve) систему линейных уравнений

2 0

2 3 1

5 1

x y z

x y z

x y z

Справку по использованию функции lsolve найдите в справоч-ной системе MathCAD

3 Смените нижнюю границу индексации массивов на 1 Вы-ведите решение системы уравнений из п 2 в виде вектора-столбца и поэлементно

4 Скопируйте первую из формул п 1 и замените в ней первое подкоренное выражение в знаменателе на sin x а второй операнд

в знаменателе ndash на ctg2

x

Присвойте полученное выражение но-

вой переменной G (удалив у) 5 Вставьте в документ текстовую область laquoПостроение про-

стейшего графикаraquo 6 Определите функцию sin cos 1f x x x

7 Постройте график функции f x (воспользуйтесь быстрым

построением графиков)

142

Самостоятельная работа 2 1 Задайте вектор 1V состоящий из трех элементов 231 и

вектор 2V ndash 417

2 Выполните следующие операции 1 3V 1 2V V 1 2V V 1 2V V просуммируйте элементы 1V транспонируйте вектор 2V

вычислите норму вектора 1V используя операцию векторизации вычислите sin 1V и посчитайте норму получившегося вектора

3 Задайте матрицу М с размерностью 2 3 транспонируйте ее 4 Создайте единичную матрицу Е размерности 5 5 вычис-

лите ее след 5 Создайте две квадратные матрицы 1M и 2M размерности

3 3 перемножьте их у полученной матрицы вычислите определи-тель выведите на экран второй столбец и поэлементно третью строку

6 Сложите матрицы 1M и 2M (матрица MM ) для получен-ной матрицы вычислите exp MM

7 Объедините матрицу MM и вектор 1V отсортируйте полу-ченную матрицу по первым столбцу и строке

8 Вычислите собственные значения любой из введенных мат-риц размерности 3 3 а также собственный вектор принадлежащий второму собственному значению

143

Самостоятельная работа 3 1 Задайте ранжированную переменную х меняющуюся от 0

до 2 с шагом 01 определите функцию 2sin 2f x x x построй-

те ее график

2 Определите изменение целого индекса i от 0 до 15 10ix i

2sin 2i i iy x x постройте график функции i iy x

3 Постройте график функции 2 2g x y x y где перемен-

ные x и y меняются от minus5 до 5 4 Изобразите сферу Ее параметрическое представление имеет

вид

8 0 0

cos sin

sin sin

cos

R

x R

y R

z R

Число точек 30N

5 Анимация Измените определение радиуса сферы

cosR f FrameF Постройте анимационный график (число

кадров равно 20 число кадров в секунду minus 3 Просмотрите на плеере получившуюся анимацию

ВНИМАНИЕ Перед построением анимации не забудьте от-ключить АВТОМАСШТАБ

6 Постройте графики функций заданных полярно

115 0 2

31 sin 2

2

sin 31 1

2

NN

r

r

144

7 Изобразите пространственную кривую

340 1 cos

3 sin

3

i

i

i

N i N x iN

y iN

z iN

8 Увеличьте число точек N повторите построение предыду-щего графика поэкспериментируйте меняя различные параметры отображения графика

145

Самостоятельная работа 4 1 Используя команды меню Symbolic вычислите в символь-

ном виде

1 sin

dx

x 1

cosm

n

na

2 Разложите по степеням sin 5x Посчитайте производную

от полученного выражения Постройте график функции и ее пред-ставлений в виде ряда включающих 2 члена разложения 5 членов разложения и 10 членов разложения

3 Вычислите коэффициенты полинома по степеням х и у

2 2 2 25 6 7 8 9 10x y x y xy xy x y

4 Используя интегральное преобразование Лапласа (и обрат-ное преобразование Лапласа) решите в символьном виде диффе-ренциальное уравнение

sind

y t ky t tdt

5 Используя палитру символьных преобразований найдите точку в которой функция двух переменных имеет экстремум

sind

y t ky t tdt

6 Вычислите в символьном виде интеграл предположив что с minus действительное число с gt 0

0

expx ct dt

7 Используя оператор символьного вывода и блок Givenhellip Find решите в символьном виде систему уравнений

2

2

400 2 2 0

200 200 0

y x x b x

y x

146

8 Вычислите предел от функции tg x при х стремящемся к

2 minus обыкновенный слева и справа 9 Исследуйте аналитически функцию f x определите точки

максимума и минимума точки перегиба постройте графики f x

f x и f x

2

2

1

xf x

x

147

Самостоятельная работа 5 1 Найдите решения систем уравнений (если они существуют)

а) 2

23 1

2 2

yx

x y

б) 2

2

0

1 0

x

e y

x y

с помощью блоков GivenhellipFind GivenhellipMinner Проверьте все ли решения найдены

2 Решите на отрезке [0 3] задачу Коши

0 051

x

x

ey y

e

используя функцию odersolve (в блоке с Given) и функцию rkfixed Выведите значение полученного решения в точке x = 3 3 Решите задачу Коши для дифференциального уравнения

0 0 3 0 1 0 1y y y y y

на отрезке [01] используя функцию odersolve (в блоке с Given) и функцию rkadapt

4 Решите систему дифференциальных уравнений

2 3 0 0 0 5

2 0 2 0 1

x x y x x

y x y y y

на отрезке [0 3] Выведите значения искомых функций и их произ-водных в точке с координатой х =15

5 Решите краевую задачу для дифференциального уравнения

10 0 0 0 8 1

2y yy y y y

на отрезке [0 8] выведите значение функции и ее производных в конечной точке отрезка

6 Для примера из п 5 вычислите значение функции только в конечной точке Используйте специально предназначенные для это-го формы функций bulstoer rkadapt stiffb stiffr

7 Найдите корни многочлена

3 22 20 2 100y x x x x

с помощью функций root и poltroots (Обратите внимание на значе-ние системной переменной)

148

Самостоятельная работа 6 1 Составьте программу вычисляющую константу фигуриру-

ющую в легенде об изобретателе шахмат Изобретатель попросил дать ему в награду определенное количество зерна положив на

первую клетку одно зернышко ( 1 12 те 02 ) на вторую minus два зер-

нышка ( 2 12 ) на третью minus четыре ( 3 12 ) и тд (на новой клетке зе-рен в 2 раза больше чем на предыдущей) Найдите общее число зе-рен составляющих награду изобретателя Вычислите их массу приняв за массу одного зерна 03 грамма Переведите полученный результат в тонны Вы знаете это число А MathCAD знает

2 Модифицируйте программу предусмотрев выход из нее ес-

ли число зерен больше триллиона ( 1210 ) 3 Составьте программу-функцию вычисляющую по заданным

длинам сторон треугольника a b c три величины периметр тре-угольника его площадь и радиус вписанной окружности

1

2s p p a p b p c

12p a p b p c

rp

где p minus полупериметр Предусмотрите в программе оценку существования треуголь-

ника с заданными длинами сторон a b c и выдачу результата об ошибке если треугольник с указанными сторонами не существует

4 Составьте программу-функцию вычисляющую n коэффи-циентов разложения функции f x заданной на отрезке L L в

ряд Фурье minus те параметрами являются f n L 5 Используя построенную в п 4 функцию вычислите при-

ближение рядом Фурье ступенчатой функции заданной на 11

0 если 1 0

1 если 0 1

xf x

x

Рассмотрите приближения для разных n (например 3n и 40n ) Постройте график функции f x и ее приближений рядами

Фурье с различным числом членов разложения

149

Самостоятельная работа 7 1 Введите матрицу координат точек плоскости

х 01 5 11 05 34 27 19 4 47 у 10 13 5 7 3 45 6 25 15

Постройте линейную и сплайновую интерполяцию для данно-

го laquoоблакаraquo точек Постройте функции линейной полиномиальной и обобщенной регрессии для этих же точек

2 С помощью функции rnd введите 50 случайных чисел из от-резка [0 2] Постройте функции сглаживания данных (с помощью различных встроенных функций)

3 С помощью функции predict предскажите поведение функ-ции sin 2f x x на [2 4] если предположить что она задана

на отрезке 0 2 Изменится ли предсказанное поведение если в

качестве исходных данных взять функцию определенную на [0 ]

150

СПИСОК ЛИТЕРАТУРЫ 1 Демидович Б П Основы вычислительной математики

Б П Демидович И А Марон М Лань 2011 minus 672 с 2 Фаддеев Д К Вычислительные методы линейной алгебры

Д К Фаддеев В Н Фаддеева М Лань 2002 736 с 3 Вержбицкий В М Численные методы учеб пособие для

вузов В М Вержбицкий minus 2-е изд испр minus М ООО Изд дом laquoОНИКС 21 векraquo 2005 minus 400 с

4 Вержбицкий В М Численные методы Математический анализ и обыкновенные дифференциальные уравнения В М Верж-бицкий minus М Высш шк 2001 minus 382 с

5 Воробьева Г Н Практикум по численным методам Г Н Во-робьева А Н Данилова minus М Высш шк 1990 minus 208 с

6 Кудрявцев Л Д Краткий курс математического анализа учеб для вузов Л Д Кудрявцев minus М Наука Гл ред физ-мат лит 2005 minus 736 с

151

Учебное издание

Черушева Татьяна Вячеславовна Зверовщикова Наталья Васильевна

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

В трех частях

Часть 1

Редактор Т В Веденеева Компьютерная верстка Р Б Бердниковой

Подписано в печать 9122015 Формат 60times84116 Усл печ л 883 Тираж 50

Заказ 1069

Издательство ПГУ

440026 Пенза Красная 40 Телфакс (8412) 56-47-33 е-mail iicpnzguru

  • Пустая страница
Page 6: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

6

1 РАБОТА В СРЕДЕ MATHCAD

11 Интерфейс пользователя

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

Рис 1

111 Главное меню системы

Вторая строка окна системы ndash главное меню Назначение его команд приведено на рис 2

Рис 2

7

Рассмотрим эти команды File (Файл) ndash работа с файлами сетью Интернет и электронной

почтой Ниспадающее меню содержит команды стандартные для

Windows-приложений Edit (Правка) ndash редактирование документов Ниспадающее меню также содержит команды стандартные

для Windows-приложений Большинство из них доступны только в случае если в документе выделены одна или несколько областей (текст формула график и тд)

View (Обзор) ndash изменение средств обзора Toolbars (Панели инструментов) ndash позволяет отображать или

скрывать панели инструментов Standart (Стандартная) Formatting (Форматирования) Math (Математика)

Status bar (Строка состояния) ndash включение или отключение отображения строки состояния системы

Ruler (Линейка) ndash установка мерной линейки Regions (Границы) ndash делает видимыми границы областей (тек-

стовых графических формул) Zoom (Масштаб) ndash увеличивает или уменьшает размер доку-

мента при изменении масштаба Refresh (Обновить) [Ctrl+R] ndash обновление содержимого экрана Animate (Анимация) ndash команда позволяющая создать анимацию Playback (Проигрыватель) ndash воспроизведение анимации хра-

нящейся в файле с расширением AVI Preferences (Настройки) ndash одна из вкладок всплывающего окна

(General) позволяет задать некоторые параметры работы програм-мы не влияющие на вычисления другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet

Insert (Вставка) ndash команды этого меню позволяют помещать в MathCAD-документ графики функции гиперссылки компоненты и встраивать объекты

Format (Формат) ndash изменение формата объектов Equation (Уравнение) ndash форматирование формул и создание

собственных стилей для представления данных Result (Результат) ndash позволяет задать формат представления

результатов вычислений Text (Текст) ndash форматирование текстового фрагмента (шрифт

размер начертание)

8

Paragraf (Абзац) ndash изменение формата текущего абзаца (от-ступы выравнивание)

Tabs (Табуляция) ndash задание позиций маркеров табуляции Style (Стиль) ndash оформление текстовых абзацев Properties (Свойства) ndash вкладка Display (Отображение) поз-

воляет задать цвет фона для наиболее важных текстовых и графиче-ских областей вставленный в документ рисунок ( Insert Picture ) позволяет заключить его в рамку вернуть ему первоначальный размер

Вкладка Calculation (Вычисление) позволяет для выделенной формулы включить и отключить вычисление в последнем случае в правом верхнем углу области формулы появляется маленький чер-ный прямоугольник и формула превращается в комментарий

Graf (График) позволяет менять параметры отображения графиков

Separate regions (Разделить области) ndash позволяет раздвигать перекрывающиеся области

Align regions (Выровнять области) ndash выравнивает выделенные области по горизонтали или по вертикали

HeadersFooters (Колонтитулы) ndash создание и редактирование колонтитулов

Repaganite Now (Перенумерация страниц) ndash производит раз-бивку текущего документа на страницы

Math (Математика) ndash управление процессом вычислений в MathCAD существует два режима вычислений автоматический и ручной В автоматическом режиме результаты вычислений полно-стью обновляются при каком-либо изменении в формуле

Automatic Calculation (Автоматическое вычисление) ndash позво-ляет переключать режимы вычислений

Calculate (Вычислить) ndash при ручном режиме вычислений поз-воляет пересчитать видимую часть экрана

Calculate Worksheet (Просчитать документ) ndash пересчет всего документа целиком

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

Options (Параметры) ndash позволяет задавать параметры вычис-лений

9

Symbolik (Символика) ndash выбор операций символьного процес-сора

Window (Окно) ndash управление окнами системы Help (Справка) ndash работа со справочной базой данных о системе MathCAD Help (Справка по MathCAD) ndash содержит три вклад-

ки Содержание ndash справка упорядочена по темам Указатель ndash предметный указатель Поиск ndash находит нужное понятие при вводе его в форму

Resource Center (Центр ресурсов) ndash информационный центр содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials) быструю справку в виде примеров из раз-личных областей математики (Quicksheets and Reference tables)

Tip of the Day ndash всплывающие окна-подсказки с полезными со-ветами (возникают при загрузке системы)

Open Book (Открыть книгу) ndash позволяет открыть справочник системы MathCAD

About MathCAD (О программе MathCAD) ndash информация о вер-сии программы авторских правах и пользователе

Каждая позиция главного меню может быть сделана активной Для этого достаточно указать на нее курсором ndash стрелкой мыши и нажать ее левую клавишу Можно также нажать клавишу F10 и ис-пользовать клавиши перемещения вправо и влево Затем выбор фиксируется нажатием клавиши ввода Enter Если какая-либо пози-ция главного меню делается активной она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций Перемещение по списку подменю и выбор нужной операции производятся аналогично тому как это описано для главного меню

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

Третью строку окна системы занимает панель инструментов

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

Рис 3

10

Кнопки операций с файлами Документы системы MathCAD являются файлами Файлы

можно создавать загружать (открывать) записывать и распечаты-вать на принтере Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок

New Worksheet (Создавать) ndash создание нового документа с очисткой окна редактирования

Open Worksheet (Открыть) ndash загрузка ранее созданного доку-мента из диалогового окна

Save Worksheet (Cохранить) ndash запись текущего документа с его именем

Печать и контроль документов

Print Worksheet (Печать) ndash распечатка документа на принтере Print Preview (Просмотр) ndash предварительный просмотр доку-

мента Check Speling (Проверка) ndash проверка орфографии документа

Кнопки операций редактирования Во время подготовки документов их приходится редактиро-

вать те видоизменять и дополнять с помощью следующих кнопок Cut (Вырезать) ndash перенос выделенной части документа в бу-

фер обмена с очисткой этой части документа Copy (Копировать) ndash копирование выделенной части докумен-

та в буфер обмена с сохранением выделенной части документа Paste (Вставить) ndash перенос содержимого буфера обмена в ок-

но редактирования на место указанное курсором мыши Undo (Отменить) ndash отмена предшествующей операции редак-

тирования Три последние операции связаны с применением буфера об-

мена Он предназначен для временного хранения данных и их пере-носа из одной части документа в другую либо для организации об-мена данными между различными приложениями

Кнопки размещения блоков

Документы состоят из различных блоков текстовых фор-мальных графических и тд Блоки просматриваются системой ин-

11

терпретируются и исполняются Просмотр идет справа налево и снизу вверх

ndash Align Across (Выровнять по горизонтали) ndash блоки вы-равниваются по горизонтали

ndash Align Down (Выровнять вниз) ndash блоки выравниваются по вертикали располагаясь сверху вниз

Пиктограммы этих кнопок изображают блоки и указанные ва-рианты их размещения

Кнопки операций с выражениями

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

Следующие группы кнопок являются специфичными именно для системы MathCAD (рис 4)

Рис 4

ndash Insert Function (Вставить функции) ndash вставка функции из списка появляющегося в диалоговом окне

ndash Insert Unit (Вставить единицы) ndash вставка единиц измере-ния

ndash Calculate (Пересчитать) ndash вычисление выделенного вы-ражения

ndash Insert Giperlink (Включение гиперссылки) ndash обеспечивает создание гиперссылки

ndash Component Wizard (Мастер компонентов) ndash открывает окно Мастера дающего удобный доступ ко всем компонентам си-стемы

ndash Run Math Connex (Запуск системы Math Connex) ndash за-пуск системы для стимулирования блочнозаданных устройств

Кнопки управления ресурсами

ndash Resource Center (Центр ресурсов) ndash дает доступ к центру ресурсов (см рис 4)

MathCAD 2000 Professional

12

ndash Help (Справка) ndash дает доступ к ресурсам справочной базы данных системы

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

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами

Style ndash Переключатель выбора стилей Font ndash Переключатель выбора набора символов Point Size ndash Переключатель выбора размеров символов Bold ndash Установка жирных символов Italik ndash Установка наклонных символов Underline ndash Установка подчеркнутых символов Left Align ndash Установка левостороннего выравнивания Center Align ndash Установка выравнивания по центру Right Align ndash Установка правостороннего выравнивания До тех пор пока не начат набор элементов документа часть

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

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

113 Наборные математические панели инструментов

Для ввода математических знаков в MathCAD используются

удобные перемещаемые наборные панели со знаками (рис 5) Они служат для вывода заготовок ndash шаблонов математических знаков (цифр знаков арифметических операций матриц знаков интегра-лов производных и тд) Для вывода панели Math необходимо вы-полнить команду View Toolbar Math Наборные панели появ-ляются в окне редактирования документов при активизации

13

соответствующих пиктограмм ndash первая линия пиктограмм управле-ния системой Используя общую наборную панель можно вывести или все панели сразу или только те что нужны для работы Для установки с их помощью необходимого шаблона достаточно поме-стить курсор в желаемое место окна редактирования (красный кре-стик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона установив на него курсор мыши и нажав ее ле-вую клавишу

Рис 5

Многие функции и операции которые вставляются в документ

с помощью наборных математических панелей могут быть поме-щены в документ с помощью laquoбыстрых клавишraquo При этом работа в системе MathCAD становится более продуктивной Рекомендуем запомнить сочетания клавиш хотя бы для некоторых наиболее часто употребляемых команд

12 Входной язык системы MathCAD Типы данных

MathCAD обладает специализированным входным языком

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

14

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

121 Алфавит MathCAD 2000 PRO

Алфавит входного языка системы определяет совокупность символов и слов которые используются при задании команд необ-ходимых для решения интересующего пользователя класса задач Алфавит системы MathCAD содержит

minus строчные и прописные латинские буквы minus строчные и прописные греческие буквы minus арабские цифры от 0 до 9 minus системные переменные minus операторы minus имена встроенных функций minus спецзнаки minus строчные и прописные буквы кириллицы (при работе с ру-

сифицированными документами) К укрупненным элементам языка относятся типы данных опе-

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

Для ввода греческих букв можно использовать панель набор-ных знаков Greek включаемую кнопкой на панели Math Кроме того в MathCAD предусмотрена возможность набора греческих букв с помощью клавиш Для этого достаточно набрать соответ-ствующую английскую букву и нажать комбинацию клавиш [Ctrl+G]

122 Числовые константы

Константами называют поименованные объекты хранящие некоторые значения которые не могут быть изменены В качестве имени числовых констант используются их числовые значения В системе MathCAD используются и числовые константы значени-ями которых являются числа с разной системой исчисления деся-тичные восьмеричные или шестнадцатеричные

15

Числовые константы задаются с помощью арабских цифр де-сятичной точки (а не запятой) и знака ndash (минус) Например

123 ndash целочисленная десятичная константа 123 ndash десятичная константа с дробной частью

5123 10 ndash десятичная константа с мантиссой 123 и поряд-ком ndash5

Порядок числа вводится умножением мантиссы на 10 в степе-ни определяющей порядок Знак умножения при выводе числа на экран меняется на привычную математическую точку а операция возведения в степень (с применением спецзнака ^) отображается пу-тем представления порядка в виде надстрочного элемента Десятич-ные числа имеют основание 10 Диапазон их возможных значений лежит в пределах от 10 ^ 307 до 10 ^ 307 (это машинная бесконеч-ность и машинный нуль)

Система MathCAD может работать с восьмеричными и шест-надцатеричными числами Восьмеричные числа имеют основание 8 так что один их разряд может иметь значения от 0 до 7 Такие числа в конце отмечаются латинской буквой O (от слова octal ndash восьме-ричное) Шестнадцатеричные числа имеют основание 16 и их раз-ряд может иметь значения

HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный при-знак в виде буквы h или H (от слова hexagonal ndash шестнадцатерич-ное) Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal ndash десятичное) Если число шестнадцатеричное начинается с буквы (например ABCО) то си-стема будет путать его с возможным именем переменной Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (нуль)

123 Комплексные числа

Большинство вычислений система выполняет как с действи-тельными так и с комплексными числами которые обычно пред-ставляются в алгебраическом виде Re ImZ Z i Z или

Re ImZ Z j Z Здесь ReZ minusдействительная часть комплексного числа Z ImZ ndash его мнимая часть а символы i или j обозначают мни-

16

мую единицу те корень квадратный из ndash1 Такое представление характерно для системы MathCAD Однако система не всегда знает какой символ применить для обозначения мнимой единицы Поэто-му перед использованием любых операций с комплексными числа-ми полезно вначале определить i или j как мнимую единицу (те присвоить им значение квадратного корня из ndash1)

124 Строковые константы

Строковая константа ndash это строка заключенная в кавычки например laquoMy nameraquo В строковую константу могут входить один или несколько символов либо слов

125 Переменные

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

Идентификатор начинается только с буквы например X 1X Идентификатор не должен содержать пробелов Нельзя использо-вать для идентификаторов буквы русского языка Идентификаторы не могут совпадать с именами встроенных или определенных поль-зователем функций

126 Системные переменные

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

17

Таблица 1

Системные переменные

Объект Клавиши Назначение

π Alt+Ctrl+P Число пи (314)

е E Основание натурального логарифма (272)

Ctrl+Z Системная бесконечность (10^307)

Процент (001)

TOL Погрешность численных методов (0001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Ширина столбцов (в символах) для операто-ра WRITEPRN (8)

PRNPRECISSION Число десятичных знаков используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

127 Операторы

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

128 Встроенные функции

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

18

Элементарные встроенные математические функции

Элементарные функции представим в табл 27 Таблица 2

Тригонометрические функции

sin( )z Синус cos( )z Косинус tan( )z Тангенс sec( )z Секанс csc( )z Косеканс cot( )z Котангенс

Таблица 3

Гиперболические функции

sinh( )z Гиперболический синус cosh( )z Гиперболический косинус tanh( )z Гиперболический тангенс sech( )z Гиперболический секанс csch( )z Гиперболический косеканс coth( )z Гиперболический котангенс

Таблица 4

Обратные тригонометрические функции

sin( )A z Обратный тригонометрический синус cos( )A z Обратный тригонометрический косинус tan( )A z Обратный тригонометрический тангенс

Таблица 5

Обратные гиперболические функции

sinh( )A z Обратный гиперболический синус cosh( )A z Обратный гиперболический косинус tanh( )A z Обратный гиперболический тангенс

Таблица 6

Показательные и логарифмические функции

exp( )z Экспоненциальная функция ln( )z Натуральный логарифм (по основанию e) log( )z Десятичный логарифм (по основанию 10)

Таблица 7

Функции комплексного аргумента

Re( )z Выделение действительной части z Im( )z Выделение мнимой части z Arg( )z Вычисление аргумента (фазы)

19

Специальные встроенные математические функции

Функции Бесселя К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя являю-щиеся решениями некоторых дифференциальных уравнений второ-го порядка (табл 8)

Таблица 8 Список функций Бесселя

0J x Функция Бесселя первого рода нулевого порядка 0I x Модифицированная функция Бесселя первого рода нулевого порядка 0Y x Функция Бесселя второго рода нулевого порядка

0K x Модифицированная функция Бесселя второго рода нулевого порядка

1J x Функция Бесселя первого рода первого порядка 1I x Модифицированная функция Бесселя первого рода первого порядка 1Y x Функция Бесселя второго рода первого порядка 1K x Модифицированная функция Бесселя второго рода первого порядка Jn n x Функция Бесселя первого рода n-го порядка In n x Модифицированная функция Бесселя первого рода n-го порядка Yn n x Функция Бесселя второго рода n-го порядка Kn n x Модифицированная функция Бесселя второго рода n-го порядка

Гамма-функция В системе MathCAD предусмотрено вычис-

ление гамма-функции G(z) Она широко применяется и в статисти-ческих расчетах В них используется также функция ошибок erf(x) называемая еще интегралом вероятности

Дополнительные неактивные функции При загрузке сим-вольного процессора система распознает ряд дополнительных спе-циальных функций например таких как в табл 9

Таблица 9 Дополнительные неактивные функции

FresnelC x Интеграл Френеля С(х) FresnelS x Интеграл Френеля S(x)

Ci x Интегральный косинус Si x Интегральный синус Ei x Интегральная показательная функция

dilog x Дилогарифм erf z Интеграл ошибок для комплексного аргумента z

lnPsi x d dx Go x пси-функция

Psi n x n-я производная пси-функции

20

Функции с условиями сравнения

Функции приведены в табл 10 Таблица 10

Числовые функции с условиями сравнения

( )ceil х Наименьшее целое большее или равное x ( )Floor х Наибольшее целое большее или равное x

mod( )х Остаток от деления xy со знаком x ( )angel х Положительный угол с осью x для точки с координатами (xy)

( )Ф х Функция Хевисайда ndash единичного скачка (дает 0 при 0x и 1 в противном случае)

d m n Функция именуемая символом Кронекера возвращающая 1 при m = n и 0 в противном случае

129 Функция условных выражений

Для создания условных выражений более широкие возможно-сти дает функция if

if (Условие Выражение 1 Выражение 2)

Если в этой функции условие выполняется то будет вычис-ляться выражение 1 в противном случае ndash выражение 2

1210 Математические выражения

Функции могут входить в математические выражения напри-мер в выражении

2ln 1Y x

где Y ndash переменная 1 и 2 ndash числовые константы знаки laquoraquo и laquo+raquo ndash операторы ln(x) ndash встроенная функция с аргументом х При выпол-нении символьных операций переменные π и e используются только в символьном виде К примеру число 2π равно 628314hellip и выводится как 2π а не как приближенное численное значение

13 Ввод и редактирование данных

131 Ввод и редактирование формул и текста

В MathCAD-документе курсор ввода имеет вид красного кре-стика Этот крестик указывает в каком месте рабочего листа будет

21

произведено следующее действие Установив указатель мыши в нужном месте документа и выполнив щелчок вы перемещаете туда крестик (можно использовать стрелки а не мышь) Указатель в виде крестика может принимать другие формы

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

этот голубой курсор можно только с помощью клавиш-стрелок Если при перемещении красного курсора-крестика вы вторг-

лись в область формулы курсор автоматически принимает форму голубого курсора формул

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

Если вам не нравится взаимное распо-ложение областей в документе его можно изменить

ndash установите курсор-крестик на пустом месте документа

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

ndash установите курсор на одну из выделен-ных областей (курсор примет вид черной руки)

ndash удерживая нажатой левую клавишу мыши переместите выделенные области в требуемое место

При вводе текстовой области (клавиша []) курсор-крестик имеет вид вертикальной

красной черты При этом текстовая область окружена черной рамкой

Если вы уже вводите текст забыв создать текстовую область (те MathCAD воспринимает введенный текст как формулу) то до-статочно нажать клавишу пробела и MathCAD преобразует форму-лу в текст Преобразование в обратном направлении невозможно

Остановимся подробнее на свойствах голубого курсора фор-мул Для этого рассмотрим пример Предположим что MathCAD не

22

известна функция cosh (гиперболический косинус) и нам необхо-димо ввести определение

2

x xe ef x

Введем последовательность символов

^ ^ 2f x e x e x

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

Однако в MathCAD предусмотрены более экономичные мето-ды редактирования и ввода С помощью клавиши пробела можно увеличить область выделения ndash у голубого курсора появляется го-ризонтальный след Отмеченный следом курсора фрагмент форму-лы как бы подразумевается заключенным в скобки

Введенную выше формулу можно ввести по-другому

^ ^ 2f x e x Пробел e x Пробел Пробел Пробел

След курсора позволяет снабжать фрагменты формул мнимы-ми скобками таким образом что последующая математическая опе-рация относится ко всему выражению отмеченному следом курсо-ра те заключенному в мнимые скобки

Часто бывает необходимым все-таки заключение в скобки не-которой части введенного выражения Для этого достаточно выде-лить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу [] (апостроф) Обычно курсор со сле-дом при вводе формул имеет вид уголка направленного вправо (след направлен влево от курсора) предлагая вправо ввести необхо-димые значения А что делать если вы пропустили какую-то часть формулы или необходимо подправить выражение и дописать кое-что слева Для этого можно воспользоваться клавишей [Ins]

Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода В режиме вставки след курсора направлен впра-во и вводимые символы появляются слева от курсора

23

При редактировании формул случаются ошибки На этот слу-чай в меню Edit имеется команда Undo отменяющая последнее дей-ствие Того же результата можно достичь воспользовавшись соот-ветствующей кнопкой панели инструментов Standart или комби-нацией клавиш [Alt+Backspace]

Для удаления отдельных чисел или фрагментов формул ис-пользуется клавиша [Backspace] ndash если курсор находится в режиме ввода и клавиша [Del] ndash если курсор находится в режиме вставки Для удаления больших частей формул удобнее воспользоваться мышью выделив соответствующий фрагмент (протащить по нему мышь с нажатой левой кнопкой) и нажав клавишу [Del]

В MathCAD существует возможность разбивки больших вы-ражений на строки если выражение состоит из нескольких слагае-мых Для этого

minus выполните щелчок на операнде который по вашему мне-нию следует перенести на следующую страницу

minus увеличьте след курсора в режиме вставки таким образом чтобы отметить всю правую часть формулы

minus нажмите клавишу Backspace Стоящий перед курсором знак laquo+raquo будет удален При этом обе части формулы заключаются в скобки

minus нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки)

Если же там где оканчивается строка находится знак вычита-ния то необходимо удалить символ разности minus минус minus и произвести перевод строки При этом MathCAD превратит разность в сумму что сделает результат неправильным Но погрешность можно компенси-ровать присвоив первому слагаемому во второй строке знак laquoraquo

Если вы по ошибке удалили знак умножения и осуществили перенос строки то результат будет неправильным поскольку MаthCAD заменит умножение сложением Разбивка на строки не может применяться для выражений результаты вычислений кото-рых получены в символьном виде

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

Обычные переменные отличаются от системных тем что они должны быть предварительно определены пользователем В каче-стве оператора присваивания используется знак Если перемен-ной присваивается начальное значение с помощью оператора та-кое присваивание называется локальным

24

С помощью знака (три горизонтальные черточки) который

вводится клавишей [~] (тильда) можно обеспечить глобальное при-сваивание те оно может производиться в любом месте документа Для вывода результата или для контроля значений переменных ис-пользуется обычный знак равенства = (если выводится численный результат) или знак символьного равенства (стрелка) если вы-числения производятся в символьном виде Для ввода стрелки мож-но использовать клавиши [Ctrl+] или соответствующую кнопку наборной панели Symbolic

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

25

133 Определение функций пользователя

При определении функций пользователя так же как и при определении переменных могут быть использованы знаки локаль-

ного и глобального присвоения При этом с использованием знака глобального присваивания функ-ция может быть определена в лю-бом месте документа

Синтаксис определения функции

_ arg1arg 2arg Name Func N Выражение

Здесь _Name Func ndash имя функции arg1arg 2arg N ndash аргу-менты функции Выражение ndash любое выражение содержащее до-ступные системе операторы и функции с операндами и аргумента-ми указанными в списке параметров

134 Ранжирование переменных

Ранжированные переменные ndash особый класс переменных который в системе MathCAD зачастую заменяет управляющие структуры называемые циклами Эти переменные имеют ряд фик-сированных значений с определенным шагом меняющихся от начального значения до конечного

Ранжированные переменные характеризуются именем и ин-дексом каждого своего элемента Например Name Nbegin Nend

где Name ndash имя переменной Nbegin ndash ее начальное значение Nend ndash конечное значение ndash символ указывающий на изменение переменной в заданных пре-делах (он вводится знаком точки с запя-той ) Если Nbegin Nend то шаг изменения переменной будет +1 в про-тивном случае ndash ( 1 )

26

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

Step заданный шаг переменной

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

Любое выражение с ранжиро-ванными переменными после знака равенства инициирует таблицу вы-

вода Полезно учитывать некоторые свойства таблиц вывода minus число строк в них не может быть больше 50 minus числа в таблицах можно задавать в требуемом формате с по-

мощью операций задания формата чисел minus при использовании в таблице единиц размерности все дан-

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

jX выводится обычная таблица вывода

X выводится вектор если число его элементов меньше 10 X выводится таблица вывода со слайдером если число эле-

ментов вектора больше 10 В таблице вывода можно и вставлять числовые значения и

корректировать их Индексированные переменные образующиеся в результате за-

дания ранжированных переменных могут применяться в последу-ющих формульных блоках

Однако при этом необходимо соблюдать соответствие результа-тов (конечных и промежуточных) векторному типу этих переменных Необходимо помнить что ранжированная переменная minus это вектор

Обратите внимание что в приведенном примере ранжирован-ная переменная i принимает значения 1 2 3 и 4 А вектор g опреде-ленный через ранжированную переменную i содержит 5 элементов

27

Это связано с тем что по умолчанию началом отсчета индексов в MathCAD является нуль

135 Массивы (векторы матрицы)

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

Индексация элементов массивов Порядковый номер эле-мента который является его адресом называется индексом

Нижняя граница индексации задается значе-нием системной переменной ORIGIN которая может принимать значение 0 или 1 Для смены начала индексации можно прямо в документе присвоить переменной ORIGON соответствующее значение или сделать это через позицию Math

главного меню подменю Options используя вкладку Build-In Variables (Встроенные переменные)

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

числовые значения элементов они раз-личны по типу и при использовании да-дут разные результаты при векторных и матричных операциях Для ввода векторов и матриц можно

использовать кнопку панели набор-ных математических элементов Matrix

28

которая в свою очередь включается нажатием соответствующей кнопки на панели Math Но гораздо проще использовать сочетание клавиш [Ctrl+M] Оба вышеуказанных действия приводят к появле-нию диалогового окна Insert Matrix в котором необходимо указать число строк и столбцов для вводимой матрицы (вектора)

В результате в документе появляется шаблон матрицы который можно заполнить требуемыми данными Пере-ход от символа к символу внутри шаблона совершается с помощью клавиши Tab (Табуляция)

Массив можно определить и вручную поэлемент-но Для указания нижнего индекса используется клави-

ша [ (квадратная скобка) Если индекс двойной (у матрицы) то ин-дексы вводятся через запятую

Заполнение массивов может быть организовано с помощью ранжированных переменных и функций пользователя

136 Операторы системы MathCAD

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструи-рования математических выражений В табл 1113 приведены раз-личные операторы системы MathCAD

29

Таблица 11 Арифметические операторы

Оператор Ввод Назначение оператора X Y X Y Локальное присваивание X значения Y

X Y X Y Глобальное присваивание X значения Y X X Вывод значения X

X X Смена знака X X Y X Y Суммирование X с Y X Y X Y Вычитание из X значения Y

X Y X Y Умножение X на Y X Y X Y Деление X на Y

YX ^X Y Возведение X в степень Y

X X Вычисление квадратного корня из X X X Вычисление факториала

Z | Z Вычисление модуля комплексного Z

Z Z ldquo Вычисление комплексно-сопряженного с Z числа () lsquo Ввод пары круглых скобок с шаблоном ( ( Ввод открывающей скобки ) ) Ввод закрывающей скобки

nX X n Ввод нижнего индекса n nX X Ctrl n Ввод верхнего индекса n

Таблица 12 Расширенные арифметические операторы

Оператор Ввод Назначение оператора $ Вычисление суммы

Вычисление произведения

f Вычисление производной b

a

amp Вычисление определенного интеграла

Применение расширенных операторов значительно облегчает решение математических задач

Таблица 13 Операторы отношения (логические операторы)

Оператор Ввод Назначение оператора X Y X Y X больше Y X Y X Y X меньше Y X Y X Ctrl Y X больше или равно Y

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

X Y X Ctrl Y X не равно Y X Y X Ctrl Y X равно Y

30

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

137 Программные операторы в MathCAD

В системе MathCAD можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами Это реализуется использованием встроенных программных операторов похожих на используемые в различных языках программирования (рис 6) Как видно на рис 7 и 8 где вычисляется факториал про-граммный модуль в системе MathCAD превратился в самостоятель-ный блок причем при необходимости выполнить несколько опера-торов их объединяют жирной вертикальной чертой

Рис 6 Рис 7 Рис 8

Модуль может вести себя как безымянная функция без пара-

метров но возвращающая результат ndash первый пример Программ-ный модуль может выполнять и роль тела функции пользователя с именем и параметрами ndash второй пример

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

Add Line ndash создает и при необходимости расширяет жирную вертикальную линию справа от которой в шаблонах задается запись программного блока

31

ndash символ локального присваивания (в теле модуля) if ndash условный оператор for ndash оператор задания цикла с фиксированным числом повто-

рений while ndash оператор задания цикла действующего до тех пор по-

ка выполняется некоторое условие otherwise ndash оператор иного выбора (обычно применяется с if) break ndash оператор прерывания continue ndash оператор продолжения return ndash оператор возврата on error ndash оператор обработки ошибок Оператор добавления линии Add Line выполняет функции

расширения программного блока Расширение фиксируется удлине-нием вертикальной черты программных блоков или их древовид-ным расширением Благодаря этому в принципе можно создавать сколь угодно большие программы

Оператор внутреннего присваивания выполняет функ-ции внутреннего локального присваивания Например выражение

123x присваивает переменной x значение 123 Локальный харак-тер присваивания означает что такое значение х сохраняет только в теле программы За пределами тела программы значение перемен-ной х может быть неопределенным либо равно значению которое задается вне программного блока операторами локального = или глобального присваивания

Условный оператор if является оператором для создания условных выражений Он задается в виде

Выражение if Условие Если условие выполняется то возвращается значение выраже-

ния Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise

Оператор цикла for служит для организации циклов с задан-ным числом повторений Он записывается в виде

for Var NminhellipNmax

Эта запись означает что выражение помещенное в распо-ложенный ниже заменитель будет выполняться для значений переменной Var меняющихся от Nmin до Nmax с шагом +1 Пере-менную счетчика Var можно использовать в исполняемом выра-жении

32

Оператор цикла while служит для организации циклов дей-ствующих до тех пор пока выполняется некоторое условие Этот оператор записывается в виде

while Условие

Выполняемое выражение записывается на место расположен-ного ниже заполнителя

Оператор иного выбора otherwise обычно используется сов-местно с оператором if Это поясняет следующая программная кон-струкция

1 0

1

if xf x

otherwise

Здесь f x получает значение 1 если 0x и ndash1 во всех

остальных случаях Оператор прерывания break вызывает прерывание работы про-

граммы всякий раз когда он встречается Чаще всего он использу-ется совместно с оператором условного выражения if и операторами циклов while и for обеспечивая переход в конец тела цикла

Оператор продолжения continue используется для продолже-ния работы после прерывания программы Он также чаще всего ис-пользуется совместно с операторами задания циклов while и for обеспечивая возвращение в точку прерывания и продолжение вы-числений

Оператор возвращения return прерывает выполнение про-граммы и возвращает значение операнда стоящего следом за ним Например конструкция

0 0return if x

будет возвращать значение 0 при любом 0x Оператор и функция обработки ошибок позволяют создавать

конструкции обработчиков ошибок Этот оператор задается в виде

_1 _ 2Выражение on error Выражение

Здесь если при выполнении _1Выражения возникает ошибка то выполняется _ 2Выражение Для обработки ошибок полезна так-

же функция error S которая будучи помещенной в программный

модуль при возникновении ошибки выводит всплывающую под-сказку с надписью хранящейся в символьной переменной S

33

Программный модуль в сущности является функцией но опи-санной с применением упомянутых программных средств Она воз-вращает значение определяемое последним оператором (если не предусмотрено иное с помощью оператора return) Это значит что после такого модуля выделенного как целый блок можно поста-вить знак равенства для вывода результата его работы (см рис 8) В блоке могут содержаться любые операторы и функции входного языка системы Для передачи в блок значений переменных можно использовать переменные документа которые ведут себя в блоке как глобальные переменные

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

14 Настройка MathCAD для работы

141 Настройка параметров вычислений

Для настройки параметров вычислений необходимо выбрать команду Options (Параметры) меню Math (Математика) При этом на экране появится диалоговое окно (Свойства) содержащее сле-дующие вкладки

Built-In Variabls (Встроенные переменные) ndash позволяет уста-новить значения встроенных системных переменных влияющих на точность вычислений и параметры некоторых функций системы

Calculation (Вычисление) ndash эта вкладка содержит две опции задающие режим автоматических вычислений и оптимизации вы-ражений перед вычислением

Display (Отображение) ndash позволяет форматировать вид сим-волов отображающих основные операторы системы (умножение деление локальное и глобальное присваивание и др)

34

Unit System (Система единиц) ndash позволяет выбрать систему единиц для размерных величин SI MKS CGS Us и None (не ис-пользуется ни одна из этих систем)

Dimensions (Размерность) ndash позволяет изменить формат раз-мерных величин (на вкладке содержится их перечень) Для этого надо laquoвключитьraquo опцию Display Dimensions (Просмотр размерно-стей)

Остановимся подробнее на изучении параметров вкладки Built-In Variabls (Встроенные переменные) Здесь можно изменить значения системных констант и переменных К ним относятся

Array Origin (ORIGIN) ndash начальное значение для индексов Например трехмерный вектор v при ORIGIN=0 (по умолчанию) имеет компоненты v0 v1 v2

Convergence Tolerance (TOL) ndash допустимое отклонение MathCАD использует эту переменную при различных численных расчетах таких как вычисление определенных интегралов и при решении уравнений с использованием функций root и polyroots По умолчанию TOL=10minus3

Constraint Tolerance (CTOL) ndash задает точность вычислений при использовании блока решений уравнений и систем Блок начинается со слова Given и заканчивается словами Find Minerr и др По умол-чанию CTOL = 10minus3

Seed value for random numbers ndash определяет интервал от 0 до указанного в поле значения из которого функция rnd(x) генери-рует x случайных чисел Возможность менять этот интервал позво-ляет получать разные последовательности случайных чисел

35

Presision (PRNPRESISION) ndash задает точность числовых значений которые помещаются в файл создаваемый функцией WRITEPRN

Column Width (PRNCOLWIDTH) ndash задает ширину столбца (в символах) при создании файлов с помощью функции WRITEPRN

Кнопка Restore Defaults (Восстановить по умолчанию) позво-ляет вернуть стандартно установленные в системе MathCAD пара-метры вычислений (те те что установлены по умолчанию) если внесенные вами изменения в системные переменные вас не устраи-вают Значения переменных по умолчанию указаны справа от по-лей предназначенных для ввода

142 Форматирование результатов вычислений

MathCAD представляет результаты вычислений в определен-

ном формате Этот формат включает в себя например число знаков после запятой величину начиная с которой используется экспонен-циальное представление чисел символ i или j для представления мнимой единицы и многое другое Чтобы задать формат представ-ления результатов вычислений надо выбрать команду Result (Ре-зультат) меню Format (Формат) В результате на экране появится диалоговое окно Result Format содержащее несколько вкладок

На вкладке Number format (Формат числа) находятся Поле Number of decimal places (Число десятичных знаков)

в котором задается количество отображаемых знаков после запятой (по умолчанию ndash 3)

36

Опция Show trailing zeroz (Показывать конечные нули) если установлена эта опция все числа будут отображаться с тем количе-ством знаков после запятой которое указано в поле Number of decimal places даже если без этого можно обойтись В этом случае число 5 будет иметь вид 5000 а число 0 ndash 0000

Поле Exponential threshold (Порог экспоненты) здесь необ-ходимо задать целое число n Оно указывает что числа x для кото-

рых справедливы неравенства 10nx и 110 nx представляются

в экспоненциальной форме Числу n можно присваивать значения от 0 до 15 по умолчанию 3n MathCAD производит вычисления с точностью 15 знаков после запятой

Опция Show exponents in engeneering format (Показывать экс-поненты в инженерном формате) всегда представляет число в экспоненциальном формате если показатель степени больше 3 или меньше 3 выделяя при этом 3 целых и 3 десятичных разряда В противном случае число отображается в явном виде например число 2233446 при включении опции будет выглядеть как

3223344 10 Список Format (Формат) ndash позволяет выбрать формат пред-

ставления чисел Выделим среди указанных в списке формат Decimal ndash при его выборе результат никогда не представляется в экспоненциальной форме Остальные форматы могут представлять числа в экспоненциальной форме Более подробно с видами форма-тов можно познакомиться нажав кнопку Справка

На вкладке Tolerance (Допуск) находятся поля Complex threshold (Комплексный порог) и Zero threshold (Нулевой порог)

Целое число n заданное в поле Complex threshold указывает что комплексные числа z для которых справедливо неравенство

Re Im 10 nz z представляются как чисто мнимые Числа для

которых Im Re 10 nz z ndash как действительные При вычисле-

ниях MathCAD не пренебрегает даже незначительной мнимой Чис-лу n можно присваивать значения от 0 до 63 по умолчанию 10n

Целое число n заданное в поле Zero threshold указывает что

числа x для которых справедливо неравенство 10 nx принимают-

ся равными 0 Числу n можно присваивать значения от 0 до 307 по

умолчанию 15n Для комплексных чисел у которых Re 10 nz

действительная часть принимается равной нулю то же самое спра-

37

ведливо и для мнимой части Значение заданное в поле Zero threshold действительно для всего документа

Вкладка Display Options содержит следующие поля и опции Matrix display style (Стиль отображения матриц) ndash выпада-

ющий список позволяет установить отображение матриц в стан-дартном математическом виде ndash Matrix в виде таблицы ndash Table либо предоставляет выбрать стиль представления матриц системе MathCAD ndash Automatic

При этом если матрица содержит менее 10 строк и столбцов она представляется в стандартном виде матрицы в противном слу-чае ndash в виде таблицы с полосами прокрутки По умолчанию уста-новлена опция Automatic

Опция Expand nested arrays (Развернуть вложенные массивы) ndash позволяет явно вывести элементы матрицы представляющие в свою очередь матрицы

Поле Imaginary value (Мнимая единица) ndash позволяет определить символ который будет использоваться для обозначения мнимой едини-цы (i или j)

В поле списка Radix (Система) ndash можно выбрать десятичную двоичную восьмеричную

или шестнадцатеричную систему счисления Вкладка Unit display (Отображение единиц измерения) со-

держит две опции Format Units (Формат единиц) ndash включает отоб-ражение единиц измерения Simplify units when possible ndash включает упрощение единиц измерения (если это возможно)

38

Окно Result Format можно открыть двойным щелчком на чис-ле представляющем собой результат вычислений

Если вы хотите увидеть точное значение некоторого числа не изменяя его формата выделите это число и нажмите клавиши [Ctrl+Shift+N] В строке состояния вы увидите данное число с 15 зна-ками после запятой

Если вы хотите применять выполненные установки и в других документах вам необходимо открыть соответствующий файл шаб-лона с расширением MCT из папки TEMPLATE и произвести в нем нужные изменения Кроме того вы можете сохранить текущий до-кумент как шаблон

39

2 ОПЕРАТОРЫ MATHCAD

21 Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD со-держит ряд операторов (табл 14) и функций Введем следующие обозначения для векторов ndash V для матриц ndash M и для скалярных ве-личин ndash Z

Таблица 14 Векторные и матричные операторы

Оператор Ввод Назначение оператора 1 2V V 1 2V V Сложение двух векторов V1 и V2 1 2V V 1 2V V Вычитание двух векторов V1и V2

V V Смена знака у элементов вектора V M M Смена знака у элементов матрицы M

V Z V Z Вычитание из вектора V скаляра Z Z V V Z Z V V Z Умножение вектора V на скаляр Z

MZ MZ MZ MZ Умножение матрицы M на вектор V 1 2V V 1 2V V Умножение двух векторов V1 и V2

M V M V Умножение матрицы M на вектор V M1M2 M1M2 Умножение двух матриц M1 и M2

V Z V Z Деление вектора V на скаляр Z M Z M Z Деление матрицы M на скаляр Z

1M M ^ 1 Обращение матрицы M

Mn M ^ n Возведение матрицы M в степень n

V Вычисление квадратного корня из μV

M Вычисление определителя матрицы M TV V Ctrl Транспонирование вектора V TM M Ctrl Транспонирование матрицы M

1 2V V 1 2V Ctrl V Кросс-умножение двух векторов V1 и V2 V rdquo Получение комплексно-сопряженного вектора Mrdquo Получение комплексно-сопряженной матрицы Alt $ V Вычисление суммы элементов вектора V V -Ctrl Векторизация вектора V M -Ctrl Векторизация матрицы M

M n M ^ nCtrl Выделение n-го столбца матрицы M

nV V n Выделение n-го элемента вектора V

Mm n M m n Выделение элемента (m n) матрицы M

Под понятием laquoвекторизацияraquo подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы Это можно понимать и как возможность параллельных вычислений

40

Если А и В ndash векторы то АВ дает скалярное произведение этих векторов Но то же произведение под знаком векторизации со-здает новый вектор каждый j-й элемент которого есть произведение j-х элементов векторов А и В Векторизация позволяет использовать скалярные операторы и функции с массивами

22 Векторные и матричные функции

Векторные и матричные функции представлены в виде табл 15 16

Таблица 15 Векторные функции

lenght V Возвращает длину вектора

last V Возвращает индекс последнего элемента

max V Возвращает максимальный по значению элемент

min V Возвращает минимальный по значению элемент

Re V Возвращает вектор действительных частей вектора с комплексными элементами

Im V Возвращает вектор мнимых частей вектора с комплексными элементами

i j k

Полностью асимметричный тензор третьей размерности i j k должны быть целыми числами от 0 до 2 (или между gt ORIGIN и ORIGIN+2 если ORIGINne0) Результат равен 0 если любые два аргумента равны 1 ndash если три аргумента являются четной перестановкой (0 1 2) и минус 1 если три аргумента являются перестановкой (0 1 2) кратной 2 и некратной 4

Таблица 16 Матричные функции

Augment (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие оди-наковое число строк (объединение идет laquoбок о бокraquo)

identity (n) Создает единичную квадратную матрицу размером nn

stack (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие одинаковое число столбцов располагая М1 над М2

Submatrix (A ir jr ic jc) Возвращает субматрицу состоящую из всех элементов содержащихся в строках с ir по jr и столбцов с ic по jc (irJjr и icJjc)

diag (V) Создает диагональную матрицу элемент главной диагонали которой ndash вектор V

matrix (m n f) Матрицу в которой (i j)-й элемент содержит f(i j) где i = 0 1 hellip m и j = 0 1 hellip n

Re (M) Возвращает матрицу действительных частей матрицы М с комплексными элементами

Im (M) Возвращает матрицу мнимых частей матрицы М с комплексными элементами

41

23 Функции возвращающие специальные характеристики матриц

Эти функции представлены в виде табл 17

Таблица 17

Функции возвращающие специальные характеристики матриц

сols(M) Возвращает число столбцов матрицы М rows (M) Возвращает число строк матрицы М rank (M) Возвращает ранг матрицы М

tr (M) Возвращает след (сумму диагональных элементов) квадратной матрицы М

mean (M) Возвращает среднее значение элементов массива М median (M) Возвращает медиану элементов массива М

cond1 (M) Возвращает число обусловленности матрицы вычисленное в норме L1

cond2 (M) Возвращает число обусловленности матрицы вычисленное в норме L2

conde (M) Возвращает число обусловленности матрицы вычисленное в норме евклидова пространства

condi (M) Возвращает число обусловленности матрицы основанное на равномерной норме

norm1 (M) Возвращает L1 норму матрицы М norm2 (M) Возвращает L2 норму матрицы М norme (M) Возвращает евклидову норму матрицы М normi (M) Возвращает неопределенную норму матрицы М

24 Дополнительные матричные функции Такие функции представлены в виде табл 18

Таблица 18

Дополнительные матричные функции

eigenvals (M) Возвращает вектор содержащий собственные значения матрицы М

eisenvec (M Z) Для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

eigenvecs (M)

Возвращает матрицу столбцами которой являются собствен-ные векторы матрицы М (порядок расположения собствен-ных векторов соответствует порядку собственных значений возвращаемых функцией eigenvals)

42

Окончание табл 18

genvals (M N) Возвращает вектор обобщенных собственных значений v соответствующий решению уравнения M x = vi ndash N minus x (матрицы М и N должны быть вещественными)

genvals (M N) Возвращает матрицу столбцы которой содержат нормированные обобщенные собственные векторы

+ lu (M) Выполняет треугольное разложение матрицы М P M = L U L и U minus соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные одного порядка

+ qr (A) Дает разложение матрицы A A = Q R где Q minus ортогональная матрица и R minus верхняя треугольная матрица

+ svd (A)

Дает сингулярное разложение матрицы А размером n times m A = = U S middotVT где U и V minus ортогональные матрицы размерностей mmiddotm и n times n соответственно S minus диагональная матрица на диагонали которой расположены сингулярные числа матрицы А

+ svds (A) Возвращает вектор содержащий сингулярные числа матрицы А размером m times n

Egeninv (A)

Возвращает матрицу левую обратную к матрице А LmiddotA=E где E ndash единичная матрица размером n times n L ndash прямоугольная матрица размером n times m A ndash прямоугольная матрица размером m times n

25 Функции сортировки для векторов и матриц

Функции сортировки представлены в табл 19

Таблица 19

Функции сортировки для векторов и матриц

Vsort Сортировка элементов векторов в порядке возрастания их значений

Vreverse Перестановка элементов (после sort) в обратном порядке

Mcsort n Перестановка строк матрицы М таким образом чтобы отсортированным оказался n-й столбец

Mrsort n Перестановка строк матрицы М таким образом чтобы отсортированной оказалась n-я строка

43

3 ГРАФИКА MATHCAD

31 Двухмерные графики в декартовой системе координат

MathCAD позволяет легко строить двух- и трехмерные гисто-граммы двухмерные графики в декартовых и полярных координа-тах трехмерные графики поверхностей линии уровня поверхно-стей изображения векторных полей пространственные кривые Существует три способа построения графиков в системе MathCAD

minus можно воспользоваться позицией Главного меню Insert вы-брав команду Graph и в раскрывающемся списке minus тип графика

minus выбрать тип графика на наборной панели Graph которая включается кнопкой на панели Math

minus воспользоваться быстрыми клавишами (они предусмотрены не для всех типов графиков)

Рассмотрим более подробно команды меню Insert Graph наборной панели Math

X-Y Plot (X-Y Зависимость) клавиша [] Служит для по-строения графика функции y = f(x) в виде связанных друг с другом пар координат (xi yi) при заданном промежутке изменения для i

Polar Plot (Полярные координаты) клавиши [Ctrl+7] Служит для построения графика функции r(q) заданной в полярных координатах где полярный радиус r зависит от полярного угла q

Surface Plot (Поверхности) клавиши [Ctrl+2] Служит для представления функции z = f(x y) в виде поверхности в трехмерном пространстве При этом должны быть заданы векторы значений xi и yj а также определена матрица вида Aij = f(xi yj) Имя матрицы A указывается при заполнении рамки-шаблона С помощью этой ко-манды можно строить параметрические графики

Contour Plot (Контурный график) Строит диаграмму ли-ний уровня функции вида z=f(xy) те отображает точки в которых данная функция принимает фиксированное значение z = const

3D Scatter Plot (3D Точечный) Служит для точечного пред-ставления матрицы значений Aij или отображения значений функ-ции z=f(xy) в заданных точках Эта команда может также использо-ваться для построения пространственных кривых

3D Bar Plot (3D Диаграммы) Служит для представления матрицы значений Aij или отображения значений функции z = f(x y) в виде трехмерной столбчатой диаграммы

44

Vector Field Plot (Поле векторов) Служит для представле-ния двухмерных векторных полей V=(Vx Vy) При этом компоненты векторного поля Vx и Vy должны быть представлены в виде матриц С помощью этой команды можно построить поле градиента функ-ции f(x y)

3D Plot Wizard (вызов мастера для быстрого построения трех-мерного графика) При выборе этой команды возникает ряд всплы-вающих окон в которых требуется выбрать параметры построения трехмерного графика (задаются тип трехмерного графика стиль его изображения цветовая гамма) График по умолчанию строится на промежутке от minus5 до +5 (по обеим переменным)

311 График функции у = f(x)

При выполнении команды Insert Graph Plot (или нажать соответствующую кнопку наборной панели) в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика (Клавиша [])

В ячейке расположенной под осью абсцисс указывается неза-висимая переменная x Ее следует определить заранее как перемен-ную принимающую значения из промежутка (ранжированная пере-менная)

В ячейке рядом с осью ординат необходимо задать функ-

цию f x график которой мы хотим построить Если эта функция

была определена заранее то в ячейку достаточно ввести f x в

противном случае следует ввести изображаемую функцию в явном виде (например cos x )

После ввода x и f x в графической области появятся еще че-

тыре ячейки которые не обязательно заполнять MathCAD автома-

45

тически находит подходящие значения для xmin xmax ymin ymax Если же предлагаемые MathCAD значения вас не устраивают вы можете задать свои

В MathCAD существует возможность строить график функ-ции не задавая предварительно промежуток изменения независи-мой переменной По умолчанию этот промежуток принимается рав-ным 1010

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

312 Кривые на плоскости заданные параметрически

Уравнения x f t y y t где f t и y t непрерывны

при t из a b устанавливающие зависимость декартовых коорди-

нат x y точки плоскости от значения параметра t определяют на

плоскости кривую заданную в параметрической форме

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

независимой переменной x под осью абсцисс необходимо задать индексированную переменную xi а рядом с осью ординат необхо-димо соответственно указать yi

46

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

313 Редактирование графиков в декартовой системе координат

Если вас не устраивает внешний вид построенных графиков вы можете его изменить выделив график (выполнив на нем щелчок так чтобы вокруг него появилась рамка) и воспользовавшись ко-мандой - Format Graph X Y Plot или выполнив на графике щелчок правой кнопкой мыши и выбрав команду Format из выпа-дающего контекстного меню (можно выполнить также двойной щелчок левой кнопкой мыши) В результате на экране появится диалоговое окно Formatting Currently Selected X-Y Plot позволяю-щее изменить вид графика

Данное диалоговое окно содержит несколько вкладок X-Y Axes (форматирование осей) Traces (тип линий графиков) Labels (подписи) Defaults (по умолчанию)

Первая из вкладок позволяет форматировать оси координат Log Scale (Логарифмическая шкала) ndash задает логарифмические

оси в этом случае границы графика должны задаваться положи-тельными числами

Grid Lines (Вспомогательные линии) ndash задает отображение сетки из параллельных осям линий

47

Numbered (Нумерация) ndash задает отображение подписи к мар-кировкам на осях

Autoscale (Автомасштаб) ndash задает автоматическое нахожде-ние подходящих границ для осей Но если вы сами зададите в соот-ветствующих ячейках минимальные и максимальные значения xmin xmax ymin ymax именно эти значения будут использоваться для опре-деления границ графика

Show Markers (Показать метки) ndash если установить эту опцию то в графической области появятся четыре дополнительные ячейки для создания красных линий маркировки соответствующих двум специальным значениям x и двум специальным значениям y

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Axes Style (Вид осей) ndash группа кнопок этой области позволяет выбрать следующие варианты представления осей Boxed (Ограни-ченная область) Crossed (Пересечение) ndash оси пересекаются в точке с координатами (00) None (Без границ) Флажок Equal Scales (Равный масштаб) позволяет задать одинаковый масштаб для обеих осей

Форматирование оси графика можно произвести выполнив на ней двойной щелчок

Для изменения типа линий графиков необходимо активизиро-вать вкладку Traces (След)

Legend Lable (Имя в легенде) ndash каждой кривой можно поста-вить в соответствие некоторый текст называемый легендой Леген-да отображается в нижней части графической области а рядом с каждой легендой отображается тип линии соответствующей кривой

Symbol (Символ) ndash позволяет выбрать символ для каждой точ-ки кривой (плюс крестик кружок и др)

48

Line (Линия) ndash можно выбрать один из следующих типов ли-ний solid (сплошная) dash (штриховая) dot (точечная) или dadot (штрихпунктирная) Это поле списка доступно в случае если в поле Type (Тип) выбран элемент lines

Color (Цвет) ndash задается цвет представления кривой на экране Type (Тип) ndash позволяет выбрать один из семи видов графика в

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

Weight (Вес) ndash позволяет задавать толщину линий графика В нижней части вкладки Traces расположены опции Hide

Arguments (Скрыть аргументы) ndash эта опция по умолчанию отклю-чена В этом случае под именем функции рядом с осью ординат ука-зывается текущий тип линий Если установить данную опцию ука-зание типа линий исчезнет

Hide Legend (Скрыть легенду) ndash по умолчанию легенда не

отображается Если вы хотите отобразить под графиком текст ле-генды его надо перед этим ввести в поле Legend Lable (Имя в леген-де) и подтвердить ввод выполнив щелчок на кнопке Применить Вкладка Labels (Метки) позволяет ввести заголовок графика и подписи для осей

49

В подменю Graph (Графика) меню Format (Формат) содер-жатся кроме прочих следующие команды

Trace (След) ndash при перемещении в области графика указателя

мыши при нажатой левой кнопке в полях X-Value (значение X) Y-Value (значение Y) диалогового окна X-Y Trace отображаются ко-ординаты точки на которую указывает курсор Если установлена опция Track Data Points (След точек данных) то курсор-крестик бу-дет перемещаться вдоль графика функции и вы сможете считывать текущее значение аргумента x и соответствующее значение функ-ции y=f(x) Координаты текущей точки можно скопировать в буфер с помощью кнопок Copy X (Копировать Х) Copy Y (Копировать Y)

Zoom (Изменение масштаба) ndash с помощью этой команды можно увеличить фрагмент графика предварительно выделив его протаскиванием мыши с нажатой левой клавишей После отпус-кания клавиши координаты углов выделенной области будут отображены в полях окна X-Y Zoom С помощью кнопки Zoom (Масштаб +) фрагмент можно увеличить с помощью кнопки Unzoom (Масштаб ndash) отменить выделение фрагмента а с помощью кнопки Full View (Обзор) ndash восстановить первоначальный вид графика Если вы увеличили фрагмент графика то при щелчке на кнопке OK в документе будет отображаться только этот фрагмент

50

32 Двухмерные графики в полярной системе координат

321 Построение полярных графиков

Для построения полярного графика необходимо выполнить

команду Insert Graph Polar Plot При этом в документ поме-щается графическая область с двумя незаполненными ячейками для построения графика (клавиши [Ctrl +7])

В нижнюю ячейку вводится полярный угол q Его следует определить заранее как переменную принимающую значения из промежутка (ранжированная переменная)

В левую ячейку вводится полярный радиус r q или Re r q и Im r q

Функция r q либо задается заранее ли-

бо ее определение вводится непосред-ственно в ячейку

График в полярных координатах можно построить и посредством команды

X Y Plot Только в этом случае необхо-димо дополнительно задать следующие функции х(q) = r(q)cos(q) и y(q) = r(q)sin(q) а в ячейках для абсцисс и ординат указать соответственно х(q) и y(q)

Если для некоторых углов q функ-ция не определена (не существует радиу-са с действительным значением он принимает чисто мнимые значе-ния) то MathCAD отображает на графике только действительные значения радиуса Но с помощью функций Re и Im можно предста-вить на одной круговой диаграмме графики как действительной так и мнимой части функции r q

322 Форматирование полярных графиков

Если вы хотите отредактировать график в полярных координа-тах необходимо выделить график (щелчком левой кнопки мыши) и выполнить команду Format Graph Polar Plot или выполнить

51

двойной щелчок на выделенном графике При этом откроется окно Formatting Currently Selected Polar Plot (Форматирование полярного графика) Это окно содержит те же вкладки что и для графиков в декартовой системе координат

Вкладка Polar Axes содержит следующие элементы Log Scale (Логарифмическая шкала) ndash используется для созда-

ния логарифмической r-оси Grid Lines (Вспомогательные линии) ndash отображает сетку ли-

ний соответствующих равенствам constr и constq Numbered (Нумерация) ndash линии constr и constq снабжа-

ются подписями Show Markers (Показать метки) ndash с помощью этой опции

можно снабдить график двумя дополнительными пунктирными окружностями constr Для этого надо ввести нужные значения радиуса в появившиеся ячейки Кроме того справа от графика ука-зываются минимальный и максимальный радиусы можно увеличить или уменьшить график введя в эти ячейки собственные значения

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Остальные значения параметров на этой вкладке и на других вкладках те же самые что и в случае команды - X Y Plot

52

33 Построение графика функции z = f (x y) в виде поверхности в декартовой

системе координат

Для построения графика поверхности можно воспользоваться двумя способами

Если вам надо только посмотреть общий вид поверхности то MathCAD предоставляет возможность быстрого построения подобных графиков Для этого достаточно определить функцию f x y и выполнить команду Insert

Graph Surface Plot или нажать со-ответствующую кнопку наборной пане-ли Graph (сочетание клавиш [Ctrl+7]) В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции MathCAD автоматически построит гра-фик поверхности Независимые переменные x и y принимают значе-ния из промежутка 5 5 При необходимости этот промежуток мо-

жет быть уменьшен или увеличен Для этого необходимо выделить график и воспользоваться командой 3 Format Graph D Plot или щелкнуть правой кнопкой мыши по выделенному графику и в кон-текстном меню выбрать команду Format В появившемся окне 3 D Plot Format на вкладке Quick Plot Data можно установить другие параметры изменения независимых переменных x и y

53

Для построения графика поверхно-сти в определенной области изменения независимых переменных или с кон-кретным шагом их изменения необхо-димо сначала задать узловые точки ix и

jy в которых будут определяться зна-

чения функции После (а можно и до) этого надо определить функцию f x y график которой хотите постро-

ить Затем необходимо сформировать

матрицу значений функции в виде i j i jA f x y

Теперь после выполнения команды Insert Graph Surface Plot в появившейся графической области достаточно ввести имя матри-цы (без индексов)

Если вы хотите чтобы узловые точки были расположены че-рез равные промежутки воспользуйтесь формулами

Для построения графика линий

уровня данной функции необходимо по-ступать так же как это было описано вы-ше только вместо команды (Поверхно-сти) следует выбрать команду Contour Plot (Контурный)

Аналогично с помощью команды 3 D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции с помощью команды

54

3 D Scatter Plot (3D Точечный) ndash трехмерный точечный график а с помощью команды 3 D Patch Plot (3D Лоскутный) ndash трех-мерный график поверхности в виде несвязанных квадратных пло-щадок ndash плоскостей уровня для каждой точки данных параллель-ных плоскости XY

Если поверхность задана параметрически это означает что все три координаты x y и z заданы как функции от двух параметров u и v Сначала необходимо задать векторы значений параметров iu и jv Затем необходимо определить матрицы значений функций ко-

ординат x u v y u v и z u v

После выбора команды Surface Plot в MathCAD-документе появится гра-фическая область В свободной ячейке внизу области надо указать в скобках имена (без аргументов и индексов) трех матриц ndash x y z

А А

55

34 Форматирование трехмерных графиков

Если вас не устраивает внешний вид созданного трехмер-ного графика вы можете изменить его выполнив команду

3 Format Graph D Plot или выполнив двойной щелчок мышкой на графической области В результате на экране появится диалого-вое окно 3 D Plot Format позволяющее изменять параметры отоб-ражения графика Мы рассмотрим здесь основные опции Разо-браться во всех тонкостях управлением видом графика вы можете самостоятельно построив график и поэкспериментировав выбирая те или иные опции

Диалоговое окно 3 D Plot Format содержит несколько вкладок Некоторые из них мы рассмотрим более подробно а для других minus опишем лишь их функциональное назначение

На вкладке General (Общие свойства) вы можете в области View задать направление взгляда наблюдателя на трехмерный график Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости XY Значение в поле Tilt задает угол наклона ли-нии взгляда к плоскости XY Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз равное цифре указанной в поле

ndash в области Axes Style (Стиль оси) задать вид осей выбрав се-лекторную кнопку Perimetr (Периметр) или Corner (Угол)

В первом случае оси всегда находятся на переднем плане При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A00 матрицы A

56

ndash в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями а опция Show border (Границы) позволяет заключить график в прямо-угольную рамку

ndash в области Plot 1 (Plot 2) Display as (Графикнесколько графи-ков отобразить как) имеются селекторные кнопки для представле-ния графика в других видах (контурный точечный векторное поле и др)

Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат

Посредством опций области Grids (Сетки) можно отобразить на графике линии описываемые равенствами x y z = const

Если установлены опции Show Numbers (Нумерация) отобра-жаются метки на осях и подписи к ним

При этом рядом с осями Ox и Oy указываются не значения уз-ловых точек xi yj а значения индексов i и j в то время как ось Oz размечается в соответствии с промежутком которому принадлежат элементы матрицы значений Ai j

Если установлена опция Auto Grid (Автосетка) программа самостоятельно задает расстояние между соседними отметками на осях Вы можете сами указать число линий сетки если отключите указанную опцию

Если установлена опция Auto Scale (Автошкала) то MathCAD сам определяет границы построения графика и масштабы по осям Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value (Ми-нимум) и Maximum Value (Максимум)

57

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options) вид цвет и толщину дополнительных линий на графике (область Line Options) наносить на график точки данных (опция Draw Points области Point Options) менять их вид размер и цвет

Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения laquoустановитьraquo несколько источников света выбрав для них цвет освещения и определив его направление

Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей ограничивающих область построения цвет нанесение сетки определение ее цвета и толщины прорисовка границ плоскостей

На вкладке Special (Специальная) можно изменять параметры построения специфичные для различных типов графиков

Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности графика а также указать направление смены окраски (вдоль оси Ox Oy или Oz) Включение опции Enable Fog (Наличие Тумана) делает график нечетким слегка размытым (полупрозрачным) При включении оп-ции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя

Вкладка Quick Plot Data обсуждалась ранее в начале раздела

35 Кривая в пространстве Трехмерные точечные графики можно использовать для по-

строения изображения пространственных кривых Пространствен-ные кривые задаются как правило в виде (x(t)y(t)z(t)) где t пред-ставляет собой непрерывный действительный параметр

58

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

и соединяющие их линии необходимо сначала определить три вектора координат ndash xi yi zi

Пространственная кривая создается командой 3 Insert D Graph Scatter Plot Можно использовать наборную панель Graph выбрав соответствующую пикто-грамму Для соединения точек необходимо на вкладке Appearance окна форматирова-ния графиков указать опцию Line

36 Векторные и градиентные поля

Команда Insert Graph Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx vy)

При этом векторное поле необходимо вначале определить как вектор-функцию двух координат ndash x и y Затем задаются векторы значений узловых точек x и y С помощью этих векторов компонен-ты векторного поля vx(xy) и vy(xy) генерируются в виде матриц значений vxi j и vyi j

59

Подобным образом можно построить градиентное поле ска-лярной функции f(x y)

Градиентное поле для функции двух переменных представляет собой двумерное векторное поле

Как и в остальных случаях внешний вид изображения вектор-ного поля можно легко изменить выполнив двойной щелчок в об-ласти графика и изменив требуемые опции в открывшемся диалого-вом окне 3 D Plot Format

37 Поверхности полученные вращением кривых вокруг осей

Интересные объемные фигуры мож-

но получить вращая некоторую кривую вокруг той или иной оси Построение этих фигур вращения сродни параметрически заданным поверхностям

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

60

38 Анимация в MathCAD

Для создания анимации строим график функции командой - X Y Plot из подменю Graph меню Insert Для анимации задается

промежуток изменения целочисленного параметра FRAME (по умолчанию от 0 до 9)

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

61

Теперь для создания анимации необходимо выполнить следу-ющие действия

1 Выбрать команду Animate из меню View При этом появится диалоговое окно Animate

2 Заключить построенный график в маркировочный прямо-угольник

3 Задать минимальное и максимальное значения параметра FRAME (поля From и To)

4 Задать в поле At количество воспроизводимых кадров в се-кунду

5 Выполнить щелчок на кнопке Animate При этом в диалого-вом окне вы увидите анимационные кадры

6 Чтобы воспроизвести анимацию щелкнуть на кнопке Play в появившемся окне Playback (Проигрыватель)

7 Чтобы внести изменения в анимацию выполнить щелчок на кнопке открытия меню в окне Playback

62

8 С помощью команды Save As можно сохранить анимацию в файле с расширением AVI

Встраивание анимации в MathCAD-до-кумент производится с помощью Windows Explorer Для этого необходимо

1 Запустить Windows Explorer 2 Выполнить в окне Windows Explorer

щелчок на имени AVI-файла 3 Перетащить AVI-файл в соответ-

ствующий MathCAD-документ 4 Воспроизвести анимацию можно посредством двойного

щелчка в графической области Анимацию можно также воспроизвести выполнив двойной

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

1 Выбрать команду Object из меню Insert 2 Установить опцию Создать из файла 3 Выбрать нужный AVI-файл с помощью кнопки Обзор 4 Установить опции Связь и В виде значка после чего выпол-

нить щелчок на кнопке OK

63

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба может привести к скачкообразному изменению размеров графика хотя на деле он должен меняться без скачков с дискретностью определяемой только изменением FRAME = 1 2 3 и тд

64

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ

41 Возможности символьного процессора MathCAD

Системы компьютерной алгебры снабжаются специальным

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

Ядро символьного процессора системы MathCAD minus несколько упрощенный вариант ядра известной системы символьной матема-тики Maple V фирмы Waterloo Maple Software у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение благодаря чему MathCAD стала (начиная с версии 30) системой символьной математики

Введение в систему MathCAD символьных вычислений прида-ет ей качественно новые возможности которые отсутствовали у прежних версий системы Куда важней что символьные вычисле-ния выполняются в конечном счете столь же просто (для пользова-теля) как скажем вычисление квадрата х

Символьные вычисления в MathCAD могут быть реализованы тремя способами

minus с использование команд подменю позиции Symbolics (Сим-волика) главного меню

minus с использованием команд панели Symbolic включаемой

кнопкой на математической панели инструментов (Начиная с версии MathCAd 40 для активных символьных вычислений при-меняется термин SMARTMATH представляющий комбинацию слов smart и MathCAD что в буквальном смысле означает умный MathCAD)

minus с использованием команды Optimization позиции главного меню Math

65

42 Команды меню Symbolics

Операции относящиеся к работе символьного процессора со-держатся в подменю позиции Symbolics (Символика) главного меню

Чтобы символьные операции выполня-лись процессору необходимо указать над ка-ким выражением эти операции должны произ-водиться те надо выделить выражение Для ряда операций следует не только указать выра-жение к которому они относятся но и наме-тить переменную относительно которой вы-полняется та или иная символьная операция

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

Следует отметить некоторые особенности при работе с коман-дами меню Symbolics

Для символьных вычислений выражения необходимо указы-вать явно Например недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл Это существенное ограничение о котором надо всегда помнить Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath которая описывается в дальнейшем главное в том что для вывода символьных вычислений в этом слу-чае используется оператор

Иногда результат вычислений содержит встроенные в систему специальные математические функции в этом случае результат по-мещается в буфер обмена Используя команду Paste или клавишу F4 можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат

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

66

Если операция невыполнима ndash система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изме-нений)

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

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

421 Операции с выделенными выражениями

Функции представлены в табл 20

Таблица 20

Операции с выделенными выражениями

Evaluate (Вычислить)

Преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

Упростить выделенное выражение с выполнением таких операций как сокращение подобных слагаемых приведение к общему знаменателю использование основных тригонометрических тождеств и тд

Expand (Разложить по степеням)

Раскрыть выражение [например для (Х + Y) (Х minus Y) по-лучаем X 2minus Y 2]

Factor (Разложить на множители)

Разложить число или выражение на множители [например Х 2 minus Y 2 даст (Х + Y) (Х minus Y)]

Collect (Разложить по подвыражению)

Собрать слагаемые подобные выделенному выражению которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение полиномиальное относительно выбранного выражения)

Polynomial Coefficients (Полиномиальные коэффициенты)

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

67

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами Evaluate Symbolically [Shift+F9](Вычислить в символах) minus вы-

полнить символьное вычисление выражения Floating Point Evaluation (С плавающей точкой) minus выполнить

арифметические операции в выражении с результатом в форме чис-ла с плавающей точкой

Complex Evaluation (В комплексном виде) minus выполнить преоб-разование с представлением в комплексном виде

Команда Evaluate Symbolically тут наиболее важная Назначе-ние других команд очевидно они нужны если результат требуется получить в форме комплексного или действительного числа К примеру если вы хотите вместо числа p получить 3141 ис-пользуйте команду Floating Point Evaluation В режиме символь-ных вычислений результат может превосходить машинную беско-нечность системы При этом число точных значащих цифр результата практически не ограничено (или точнее говоря зависит от емкости ОЗУ)

Символьная операция Evaluate Symbolically [Shift+F9] (Вычис-лить) обеспечивает работу с математическими выражениями со-держащими встроенные в систему функции и представленными в различном виде полиномиальном дробно-рациональном в виде сумм и произведений производных и интегралов и тд Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде Она возможна над матрицами с символьными элементами Производные и определен-ные интегралы символьные значения которых вычисляются долж-ны быть представлены в своей естественной форме

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью minus 20 знаков после запятой Для перехода в такой режим вычислений нужно числовые констан-ты в вычисляемых объектах задавать с обязательным указанием де-сятичной точки например 100 или 30 а не 10 или 3 Этот признак является указанием на проведение вычислений такого типа

На рисунке ниже показаны типовые примеры действия опера-ции Evaluate Symbolically

68

Здесь слева показаны исходные выражения подвергаемые

символьным преобразованиям а справа результат этих преобразо-ваний

Операция Evaluate Symbolically одна из самых мощных Как видно из рисунка она позволяет в символьном виде вычислять сум-мы (и произведения) рядов производные и неопределенные инте-гралы выполнять символьные и численные операции с матрицами

Simplify (Упростить)

Символьная операция Simplify (Упростить) minus одна из самых важных Эта операция позволяет упрощать математические выра-жения содержащие алгебраические и тригонометрические функции а также выражения со степенными многочленами (полиномами)

Упрощение означает замену более сложных фрагментов вы-ражений на более простые Приоритет тут отдается простоте функ-ций К примеру функция tan x считается более сложной чем

функции sin x и cos x Поэтому tan x упрощается так что по-

лучает представление через соотношение этих функций что не-сколько неожиданно так как в некоторых пакетах символьной ма-тематики например Derive ситуация иная они заменяют отношение sin cosx x функцией tan x

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений При-ведем примеры применения операции Simplify

69

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

Однако команда Simplify применительно к вычислениям опре-деленных интегралов делает гораздо больше minus она ищет аналитиче-ское выражение для интеграла Более того она способна делать это и при вычислении кратных интегралов пределы которых minus функции

Операцию Simplify можно использовать и для вычисления сумм и произведений символьных последовательностей Результат операции как и следовало ожидать получается в символьной форме (если она существует)

Приведенные примеры могут создать впечатление что

MathCAD справляется со всеми производными интегралами сум-мами и произведениями с помощью операции Simplify К сожале-нию это далеко не так Нередко система не справляется с кажущи-мися простыми справочными примерами Надо помнить что символьный процессор системы MathCAD обладает заметно уре-

70

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

В результате преобразований могут появляться специальные функции minus как встроенные в систему (функции Бесселя гамма-функция интеграл вероятности и др) так и ряд функций дополни-тельно определенных при загрузке символьного процессора (инте-гральные синус и косинус интегралы Френеля эллиптические ин-тегралы и др) Последние нельзя использовать при создании математических выражений

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в из-

вестном смысле противоположно действию операции Simplify Под-вергаемое преобразованию выражение расширяется с использова-нием известных (и введенных в символьное ядро) соотношений например алгебраических разложений многочленов произведений углов и тд Разумеется расширение происходит только в том случае когда его результат однозначно возможен Иначе нельзя считать что действие этой операции противоположно действию операции Simplify К примеру операция Simplify преобразует сумму квадратов синуса и косинуса в 1 тогда как обратное преобразование много-значно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные свести алгебраические выражения представленные в сжатом виде к выражениям в развернутом виде и тд Приведем примеры действия операции Expand Expression

Последний пример показывает что результатом операции мо-

жет быть специальная математическая функция которая считается более сложным выражением чем порождающее ее выражение

71

С виду однако выражения со специальными математическими функ-циями обычно выглядят гораздо проще чем исходные выражения

Factor (Разложить на множители)

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

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

Collect (Разложить по подвыражению)

Операция Collect (Разложить по подвыражению) обеспечива-

ет замену указанного выражения выражением скомплектованным по базису указанной переменной если такое представление воз-можно В противном случае появляется окно с сообщением о невоз-можности комплектования по указанному базису

Эта команда особенно удобна когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции

72

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

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

Polynomial Coefficients

(Полиномиальные коэффициенты)

Операция Polynomial Coefficients (Полиномиальные коэффи-циенты) в ранних версиях MathCAD отсутствующая служит для вычисления коэффициентов полинома

Операция применяется если заданное выражение ndash полином (степенной многочлен) или оно может быть представлено таковым относительно выделенной переменной Результатом операции явля-ется вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

422 Операции с выделенными переменными

Следующая группа символьных операций (табл 21) выпол-

няется с выражениями требующими указания переменной по от-ношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно поскольку указание в нем на пере-менную является одновременно и указанием на само выражение Если выражение содержит другие переменные то они рассматри-ваются как константы

73

Таблица 21 Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

Заменить указанную переменную содержимым буфера обмена

Differentiate (Дифференцировать переменную)

Дифференцировать все выражение содержащее выделенную переменную по отношению к этой переменной (остальные переменные рассматриваются как константы)

Integrate (Интегрировать по переменной)

Интегрировать все выражение содержащее выделенную переменную по этой переменной

Expand to Series (Разложить в ряд)

Найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной

Convert to Partial Fraction (Разложить на эле-ментарные дроби)

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

Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х то операция Solve (Решить) возвращает символьные значения ука-занной переменной х при которых F(x) = 0 Это очень удобно для решения алгебраических уравнений например квадратных и куби-ческих или для вычисления корней полинома Примеры решения квадратного уравнения и нахождения комплексных корней полино-ма четвертой степени

Ранее отмечалось что усложнение уравнения например пере-ход от квадратного уравнения к кубическому может вызвать и су-

74

щественное усложнение результата Тогда система представляет решение в более компактном виде (но без общепринятой математи-ческой символики) и предлагает занести его в буфер обмена

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

Более того форма представления результата в таком случае отличается от принятой в системе MathCAD (например в качестве знака деления используется косая черта для возведения в степень minus составной знак и тд) Это сделано ради компактности представ-ления результатов вычислений

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

Substitute (Заменить переменную)

Операция Substitute (Подстановка) возвращает новое выраже-ние полученное путем подстановки на место указанной переменной некоторого другого выражения Последнее должно быть подготов-лено и скопировано (операциями Cut или Copy) в буфер обмена Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой перемен-ной путем замены ее на числовое значение

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

75

Differentiate (Дифференцировать по переменной)

Нахождение символьного значения производной minus одна из са-мых распространенных задач в аналитических вычислениях Опера-ция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз Ниже показано применение операции дифференцирования

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычисле-

ниях minus вычисление интегралов (или нахождение первообразных) для аналитически заданной функции Для этого используется опе-рация Integrate (Интегрировать по переменной) Она возвращает символьное значение неопределенного интеграла по указанной кур-сором ввода переменной Выражение в состав которого входит пе-ременная является подынтегральной функцией

Здесь показан пример символьного интегрирования по пере-

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

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

Expand to Series (Разложить в ряд)

Операция Expand to Series(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной пе-ременной с заданным по запросу числом членов ряда п (число опре-деляется по степеням ряда) По умолчанию задано n = 6

76

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

Здесь представлено применение этой операции для разложе-ния функции sin(x)x Минимальная погрешность получается при малых х

Символьные операции нередко можно комбинировать для ре-шения сложных задач

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction (Разложить на элемен-

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

Как видно из представленных примеров применение этой

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

423 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции) которая имеет свое подме-ню со следующими операциями

Transpose (Транспонировать) minus получить транспонированную матрицу

Invert (Обратить) minus создать обратную матрицу

77

Determinant (Определитель) minus вычислить детерминант (опре-делитель) матрицы

Приведем примеры

424 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования создающий подменю со следующими возможностями

Fourier Transform (Преобразование Фурье) minus выполнить пря-мое преобразование Фурье относительно выделенной переменной

Inverse Fourier Transform (Обратное преобразование Фурье) minus выполнить обратное преобразование Фурье относительно выделен-ной переменной

Laplace Transform (Преобразование Лапласа) minus выполнить прямое преобразование Лапласа относительно выделенной пере-менной (результат minus функция от переменной s)

Inverse Laplace Transform (Обратное преобразование Лапласа) minus выполнить обратное преобразование Лапласа относительно выде-ленной переменной (результат minus функция от переменной t)

Z Transform (Z-преобразование) minus выполнить прямое Z-преоб-разование выражения относительно выделенной переменной (ре-зультат minus функция от переменной z)

Inverse Z Transform (Обратное Z-преобразование) minus выполнить обратное Z-преобразование относительно выделенной переменной (результат minus функция от переменной n)

По строкам показано применение соответственно преобразова-ния Фурье Лапласа и Z-преобразования а по столбцам minus исходная

78

функция ее интегральное преобразование и обратное преобразова-ние (выражения стоящего во втором столбце)

В меню Symbolics находится команда Evaluation Style при исполнении которой на экран выводится диалоговое окно позволя-ющее установить вид вывода результатов при работе с символьным процессором MathCAD

В группе переключателей Show envaluation steps (Стиль эво-люции) можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним Кроме то-го можно установить опции Show Comments для вставки коммента-риев и задать вывод результирующего выражения вместо исходного Evaluate in Place

43 Палитра символьных преобразований SmartMath

431 Назначение системы SmartMath

SmartMath minus фактически экспертная система ускоряющая вы-

числения в тех случаях когда это возможно При запущенной си-стеме SmartMath процессор численных операций приступая к вы-

79

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

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вы-числений и преобразований Система SmartMath более полно ис-пользует ядро символьных операций чем символьные вычисления из подменю позиции Symbolics главного меню и снимает некоторые ограничения на их выполнение Например возможно использование в преобразуемых выражениях функций пользователя Еще важнее то что результаты символьных преобразований выполняемых си-стемой SmartMath автоматически меняются при изменении исход-ных символьных данных

Система SmartMath в сущности является частью программных средств MathCAD реализующих линейные программы символьных вычислений

432 Операторы символьного вывода

Вначале для визуализации результатов символьных преобра-зований был введен специальный символ minus удлиненная горизон-тальная стрелка rarr Ее можно вызвать нажатием клавиш Ctrl+ (точка) или вызовом из палитр математических символов (для вво-да отношений и символьных операций) Шаблон этого знака имеет вид где на месте черного прямоугольника вводится подвергае-мое символьному преобразованию исходное выражение

Указанный символ можно рассматривать как простой оператор символьного вывода Если задать исходное выражение и вывести курсор из формульного блока с ним то система помещает результат его символьных преобразований после стрелки (оператора символь-ного вывода) Это и есть первый этап работы с системой SmartMath

В версию системы MathCAD 70 PRO введен еще один опера-тор ndash расширенный оператор символьного вывода Он задается нажатием клавиш Ctrl+Shift+ (точка) или выбором из палитры символьных операций Этот оператор имеет вид В первый шаблон-прямоугольник вводится исходное выражение а во второй ndash директивы символьных преобразований Задаются эти директивы или вводом соответствующих ключевых слов или из палитры сим-вольных операций

80

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

433 Состав директив системы SmartMath и их применение

При вводе стрелки rarr после выражения фактически (по умол-

чанию) над ним исполняется операция Simplify (Упростить) Но что подразумевается под этим ясно далеко не всегда даже несмотря на то что многие символьные операции система выполняет вполне очевидно например вычисление интеграла или производной в сим-вольном виде

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов помещенных на панели Symbolic ко-

торая вызывается кнопкой с панели инструментов Math (табл 22)

Таблица 22

Symbolic (символы)

Команда Функция Пример 1 2 3

Символьное вычисление

Символьное вычисление с ключевым словом

81

Продолжение табл 22

1 2 3

Modifier Дополнительные модификаторы

assume minus вводное слово для приведенных далее определений real minus для var=real означает вещественное значение var RealRange minus для var=RealRange(ab) означает принадлеж-ность вещественной var к интервалу [аb] trig minus задает направление тригонометрических преобразований

float Численное вычисление

complex Комплексное вычисление

assume

Символьное вычисление с некоторыми предположениями

solve

Решение уравнения (системы уравне-ний) относительно переменной (переменных)

simplify Упрощение выражений

substitute Замена переменной

factor Разложение на множители

expand Перемножение степеней и произведений

coeffs Определение коэффициентов полинома

collect

Группировка слагаемых по степеням переменной

series Разложение в ряд Тейлора или Лорана

parfac Разложение на элементарные дроби

82

Окончание табл 22

1 2 3

fourier Преобразование Фурье

invfourier Обратное преобра-зование Фурье

lарlасе Преобразование Лапласа

invlaplace Обратное преобразование Лапласа

ztrans Z-преобразование

invztrans Обратное Z-преобразование

MT Транспонирование матрицы

M-1 Нахождение обратной матрицы

|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными бук-

вами (кроме Modifier первая буква в этом слове должна быть прописной)

Блоки системы SmartMath имеют следующие отличительные свойства

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

несколько директив minus имеют конструкцию схожую с конструкцией программных

блоков Как нетрудно заметить директива упрощения simplify не име-

ет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения перемен-ной х и указания числа членов ряда Директивы преобразования

83

Лапласа (laplace) и решения уравнений (solve) требуют одного па-раметра minus указания имени переменной (в нашем случае х) С помо-щью директивы solve можно решать и системы уравнений minus тогда ее параметр будет вектором неизвестных

Выполнение матричных операций в символьной форме особой специфики не имеет

44 Оптимизация

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

Признаком оптимизации выражения является появление после него красной звездочки Кроме того щелкнув правой кнопкой мы-ши и выбрав из контекстного меню команду Show Popup можно наблюдать появление окна с оптимизированным выражением

Особый выигрыш оптимизация может дать при многократном

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

84

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

51 Линейные алгебраические уравнения

Уравнение вида 0ax b с заданным базовым множеством Gx a из Ga b из Gb называется линейным уравнением

Этапы решения с помощью MathCAD 1 Ввести уравнение (знак = вводится с помощью комбина-

ции [Ctrl++]) 2 Выделить курсором переменную относительно которой

должно быть решено уравнение 3 Выбрать команду Solve (Вычислить) подменю Variable (Пе-

ременные) меню Symbolics (Символы) При решении линейных уравнений (без параметров) или дроб-

ных уравнений которые сводятся к линейным MathCAD находит все существующие решения Однако при этом следует правильно интерпретировать сообщения выдаваемые системой

511 Единственное решение уравнения

В качестве решения MathCAD выдает число minus это означает что уравнение однозначно разрешимо (однозначное решение ли-нейного уравнения над множеством действительных чисел которое одновременно является областью определения этого уравнения)

512 Решение отсутствует

Рассмотрим другой пример

85

После выполнения описанных выше действий для нахождения решения MathCAD выдает сообщение о том что решение не найдено

Проанализировав данное уравнение приходим к выводу что выданное MathCAD сообщение означает что решений нет L=

MathCAD выдает сообщение laquoРешение не найденоraquo даже если уравнение имеет laquoформальное решениеraquo которое не принадлежит области определения (см примеры ниже)

513 Многозначность

Если в качестве решения MathCAD выдает имя переменной это означает что множество решений уравнения совпадает с областью определения Однако такие понятия как множество решений уравне-ния и область определения отсутствуют в MAthCAD и он не выписы-вает область определения Вы можете найти область определения решая с помощью MathCAD систему неравенств или уравнений

Такой результат выданный MathCAD после выполнения дей-ствий по решению уравнения означает что любое значение x из ба-зового множества удовлетворяет этому уравнению те L=R

514 Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Перемен-ные) меню Symbolics (Символы) выдает множество решений L = 6

86

Решение 6 копируем в буфер а затем выделяем маркером пе-ременную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены пере-менной значением 6

Рассмотрим пример

Здесь также правильное решение множество решений совпа-

дает с областью допустимых значений L = D Только следует учесть что D=R11

Рассмотрим другой пример

Последнее уравнение условно эквивалентно уравнению 2x = 4

Решение уравнения MathCAD 2 Формальное решение x = 2 не вхо-дит в область допустимых значений MathCAD выдает правильное сообщение

52 Квадратные уравнения и алгебраические уравнения высших порядков

Уравнение P(x) = 0 называется алгебраическим уравнением

n-го порядка если P(x) представляет собой полином степени n при n = 2 данное уравнение называется квадратным уравнением

87

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

521 Квадратное уравнение

Команда Solve (Вычислить) подменю Variable (Переменные)

меню Symbolics (Символы) дает решение в виде вектора L = minus2 minus4

Аналогичный результат можно получить используя директи-

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

Другой способ решения заключается в использовании коман-ды Factor (Фактор) меню Symbolics (Символы) для разложения по-линома на множители в соответствии с теоремой Виета

Отметим что при иррациональных и комплексных решениях

команда Factor (Фактор) меню Symbolics (Символы) не работает Но MathCAD находит и такие решения при использовании команды Solve

б)

в)a)

88

522 Квадратные уравнения с комплексными коэффициентами

При вводе уравнения с комплексными коэффициентами следу-ет вводить для i 1i для -i -1i для 2i 2i ни в коем случае не вводить laquoraquo

53 Уравнения более высокого порядка

MathCAD может решать уравнения вплоть до порядка 4 (даже символьно) Если возможно частичное разложение на множители то разрешимы уравнения и более высокого порядка Кубические уравнения

Уравнения четвертого порядка Уравнения седьмого порядка

б)а)

89

54 Иррациональные уравнения (уравнения с радикалами)

Корни (радикалы) могут вычисляться в MathCAD либо с по-

мощью знака корня (клавиши [Ctrl+]) либо как степени (клавиша [^] с дробными показателями Знак квадратного корня вводится нажатием клавиши [] Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор) Последовательность дей-ствий при решении уравнений с радикалами та же что и при реше-нии рассмотренных ранее уравнений

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

Радикалы определены не везде в действительной области Это обстоятельство приводит к необходимости находить область опре-деления прежде чем решать само уравнение Данная проблема справедливо игнорируется MathCAD поскольку он не может знать во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение Выход вы можете самостоятельно найти область определения воспользовавшись при этом возможно-стями MathCAD связанными с решениями неравенств

Вторая проблема возникающая при решении уравнений с ра-дикалами имеет принципиальный характер Функция x2 (как и лю-бая другая функция с четным показателем) на является инъективной (проблема главных значений) В связи с этим возведение в квадрат обеих частей уравнения содержащего квадратные корни не являет-ся эквивалентным преобразованием Как всегда при применении к обеим частям уравнения неинъективного преобразования увеличи-вается множество решений В результате в него могут войти laquoфик-тивныеraquo решения Как ни удивительно MAthCAD сам производит проверку решений на laquoфиктивностьraquo

Классический случай решения уравнения с радикалами

MathCAD распознает laquoфиктивныеraquo решения (которые могут воз-никнуть в результате неэквивалентного преобразования laquoвозведение в квадратraquo) и выдает верное сообщение Решение не найдено L =

90

В приведенных ниже примерах демонстрируется способность MathCAD находить область определения иррационального уравне-ния путем решения неравенств

Уравнения с радикалами третьей степени как и уравнения с комплексными коэффициентами не представляют для MathCAD никакой сложности

55 Уравнения с параметрами

При решении уравнений с параметрами MathCAD ведет себя по-разному в зависимости от того каким образом производятся символьные вычисления minus с помощью символьного знака равенства или команд меню Symbolics

91

В данном примере использование палитры символьных преоб-разований позволяет решить уравнение (solve) и упростить резуль-тат (simplify)

56 Экспоненциальные и логарифмические уравнения

Уравнение в котором независимая переменная входит в аргу-

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

Способ решения с помощью MathCAD такой же как и для других типов уравнений

Экспоненциальные уравнения во множестве действительных

чисел не создают дополнительных сложностей в том смысле что их область определения совпадает со множеством действительных чи-сел а логарифмирование представляет собой инъективное отобра-жение

Если при решении экспоненциального уравнения возникают

проблемы их как правило можно устранить посредством вспомо-гательного логарифмирования В крайнем случае можно обратиться к численным методам (см нелинейные уравнения и системы урав-нений в разд 510)

Значительно больше сложностей возникает при решении лога-рифмических уравнений

92

Область определения этих уравнений если рассматривать их во множестве действительных чисел как правило не совпадает с действительной числовой прямой MathCAD рассматривает лога-рифмические уравнения в комплексной области те не учитывая область определения

В данном примере показано что MathCAD иногда находит

решения (и даже действительные) там где их быть не может (про-блемы с комплексным логарифмом) Но нахождение области опре-деления позволяет прийти к верному решению

Насколько полезным может быть предварительное нахожде-ние области определения показывает следующий пример

93

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

множество решений L=

57 Тригонометрические уравнения

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

Для тангенса (и котангенса) этого главного значения доста-точно посредством периодического продолжения atan(x)+kp где k ndash целое представить все решения При решении уравнений с тан-генсами и котангенсами возникает также вполне разрешимая про-блема связанная с тем что данные функции определены не во всех точках числовой прямой

Данный пример показывает что вышеуказанное ограничение не

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

94

Вместо этого возникает другая сложность обратные функции asin(x) и acos(x) значениями которых являются главные значения обратных отображений не дают всех решений в рамках одного пе-риода (2p)

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

95

Данный пример демонстрирует пределы возможности MathCAD Решение напрямую не дает никаких результатов

Проведя дополнительные преобразования нам все-таки удает-ся найти решение

58 Неравенства

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

Неравенства как и уравнения можно решать либо с использо-ванием символьного знака равенства либо отметив переменную следом курсора посредством выполнения команды Solve (Вычис-лить) подменю Variable (Переменные) меню Symbolics (Символы) В разных неравенствах могут быть использованы различные знаки неравенств

Знаки laquoбольшеraquo и laquoменьшеraquo могут вводиться непосредственно с клавиатуры Все остальные знаки можно вводить с помощью па-нели Evaluation (Вычисления) либо сочетанием клавиш

96

Линейные неравенства и неравенства с дробно-рациональ-

ными функциями не составляют сложности для MathCAD

Неравенства с параметрами удобно анализировать с использо-

ванием знака символьного равенства если значения параметра ограничены некоторыми условиями

При решении неравенств содержащих трансцендентные

функции возможности MathCAD ограничены

В данном примере MathCAD не может решить неравенство

при использовании символьного процессора На помощь приходят

97

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

59 Системы линейных уравнений

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция lsolv(AB) Она решает си-стему линейных алгебраических уравнений вида A X B выдавая решение ndash вектор X А ndash матрица коэффициентов размерности n n В ndash вектор свободных членов размерности n X ndash вектор неизвест-ных пока решений

Эквивалентной для MathCAD формой представления систем

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

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения) Он удобен тем что при его использовании уравнения записываются не в матричной а в обычной форме а также тем что позволяет решать нелинейные

98

уравнения и вводить ограничительные условия для определяемого решения Блок решения применяется как для нахождения численно-го решения так и для отыскания решения в символьном виде

Синтаксис Блока решения Given Уравнения Ограничительные условия Find(v1v2vn) minus возвращает значение одной или ряда переменных для точного решения vi minus переменные которые надо найти i = 1 hellip n

Последовательность действий при численном решении

Задаем начальные (стартовые) значения для искомых пере-

менных Заключаем уравнения в блок решения начинающийся ключевым

словом Given и заканчивающийся ключевым словом Find (v1v2 vn) Если после слова Find (v1v2vn) ввести знак равенства [=]

MathACD выдаст численное решение При символьном решении не надо вводить начальные значе-

ния а после ключевого слова Find (v1v2vn) вместо знака равен-ства следует ввести символьный знак равенства (с помощью комби-нации [Ctrl+] или соответствующей пиктограммы панели Evaluation)

Существует еще одно важное отличие между блоком решения

и использованием матричных операций Если определитель матри-

99

цы коэффициентов равен нулю матричные методы оказываются непригодными В таком случае система не имеет решений или раз-решима неоднозначно Если же применить блок решения MathCAD распознает неоднозначность и выдает решение в параметрической форме

510 Нелинейные уравнения и системы уравнений

Многие уравнения например трансцендентные и системы из

них не имеют аналитических решений Однако они могут решаться численными методами с заданной погрешностью (не более значе-ния заданного системной переменной (TOL) Для простейших урав-нений вида F(x) = 0 решение находится с помощью функции

Rооt (Выражение Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем точности при котором выражение дает 0

Функция реализует вычисления итерационным методом при-чем можно задать начальное значение переменной Это особенно полезно если возможно несколько решений Тогда выбор решения определяется выбором начального значения переменной Пример ниже иллюстрирует технику применения функции root для вычис-ления корней кубического полинома

Как известно кубическое уравнение обязательно имеет хотя

бы один кубический корень х1 Он найден вначале функцией root Два других корня могут оказаться и комплексными Функция root

100

может отыскивать и такие корни Для поиска второго корня х2 первый исключается делением F(x) на (хminusх1) Соответственно для поиска третьего корня х3 F(X) делится и на (хminusх2)

Эту процедуру можно распространить и на поиск корней по-

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

5101 Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию polyroots(V) Она воз-вращает вектор корней многочлена (полинома) степени п коэффи-циенты которого находятся в векторе V имеющем длину равную n + 1

Заметим что корни полинома могут быть как вещественными

так и комплексными числами Не рекомендуется пользоваться этой функцией если степень полинома выше пятой-шестой так как то-гда трудно получить малую погрешность вычисления корней

При решении систем нелинейных уравнений используется специальный вычислительный блок открываемый служебным сло-вом директива Given и имеющий следующую структуру

101

Given Уравнения Ограничительные условия Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций Find(vl v2 vn) minus возвращает значение одной или ряда пере-

менных для точного решения Minerr(vl v2 vn) minus возвращает значение одной или ряда пе-

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

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

При использовании функции

Minerr для решения систем нелиней-ных уравнений надо проявлять из-вестную осторожность и обязательно предусматривать проверку решений

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

102

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ

61 Решение одиночного дифференциального

уравнения Для численного решения одиночного дифференциального

уравнения в MathCAD имеется функция Odesolve с помощью кото-рой может быть решена как задача Коши для обыкновенного диф-ференциального уравнения так и граничная задача Эта функция входит в состав блока решения и является его заключительным ключевым словом

Odesolve x b step ndash возвращает функцию которая является

решением дифференциального уравнения Используется в блоке с оператором Given

x ndash переменная интегрирования действительное число b ndash конечная точка отрезка интегрирования step ndash величина шага по переменной интегрирования (необяза-

тельный аргумент) Замечания 1 Уравнение должно быть линейным относитель-

но старшей производной 2 Число заданных начальных или граничных условий внутри

блока должно быть равно порядку уравнения 3 При записи уравнения для обозначения производных функ-

ции используйте специальные кнопки с панели Math или (штрих) minus [Ctrl+F7] для знака равенства = [Ctrl+=] (в том числе и для допол-нительных условий)

4 Конечная точка должна быть больше начальной 5 Не допускаются начальные и граничные условия смешанно-

го типа 5f a f a

6 Искомая функция в блоке должна быть обязательно с аргу-ментом f x

103

62 Численное решение задачи Коши для дифференциальных уравнений и систем

Для численного решения задачи Коши дифференциальных

уравнений и их систем могут быть использованы функции 1 2 rkfixed y x x n F ndash возвращает матрицу решений системы

уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

1 2 rkadapt y x x n F ndash ищет решение с переменным шагом

(там где решение меняется медленнее шаг увеличивается а в обла-сти быстрого изменения решения шаг функции уменьшается) Воз-вращается решение с равным шагом Функция работает быстрее чем rkfixed

1 2 Bulstoer y x x n F ndash дает более точное решение (методом

Bulirsch-Stoer) Аргументы вышеуказанных функций y ndash вектор начальных условий 1 2x x ndash границы интервала для поиска решения

n ndash количество точек на интервале F x y ndash вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе диффе-ренциальных уравнений первого порядка

104

В результате работы указанных функций рассчитывается мат-

рица количество столбцов которой равно порядку уравнения +1 (или сумме порядков уравнений в системе +1) а количество строк равно параметру n Первый столбец содержит значения независи-мой переменной второй ndash значение функции третий ndash для диффе-ренциальных уравнений 2-го порядка ndash значение производной искомой функции (если решается система двух уравнений 1-го по-рядка то третий столбец будет содержать значения второй функ-

105

ции) Для выделения решений (функций или их производных) мож-но воспользоваться стандартным оператором вывода столбцов мат-рицы Mlt gt

Если матрица правых частей дифференциальных уравнений почти вырождена то такие системы называются жесткими В этом случае решения возвращаемые функцией rkfixed будут неустойчи-выми и для решения таких систем необходимо применять функции Stiffb Stiffr где 1 2 Stiffb y x x n F J ndash ищет решение дифференци-

ального уравнения или системы дифференциальных уравнений ме-тодом Bulirsch-Stoer

1 2 Stiffr y x x n F J ndash ищет решение дифференциального

уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же как и при решении хорошо обусловленных систем дифференциальных уравнений Дополни-тельный аргумент ndash матрица J размером 1n n первый столбец

которой содержит частные производные dF dx остальные столбцы и строки представляют собой матрицу Якоби dF dy

106

0 0 0

0

1 1 1

0

0

n

n

n n n

n

F F F

x y y

F F F

x y yJ x y

F F F

x y y

Пример решения жесткой системы дифференциальных урав-нений

Для отыскания решения системы дифференциальных уравне-

ний только в конечной точке используются функции bulstoer rkadapt stiffb stiffr

Набор параметров для этих функций 1 2 maxbulstoer y x x acc F k save

1 2 maxrkadapt y x x acc F k save

1 2 maxstiffb y x x acc F k save

1 2 maxstiffr y x x acc F k save

107

Первые три параметра и пятый F этих функций те же что и

для функции Rkadapt Дополнительные параметры acc ndash параметр контролирующий точность решения (реко-

мендуется асс = 0001) maxk ndash максимальное число промежуточных точек в которых

ищется решение save ndash минимально допустимый интервал между точками в

которых ищется решение

63 Решение граничных задач для обыкновенных дифференциальных

уравнений

Если для дифференциального уравнения n-го порядка k гра-ничных условий заданы в начальной точке 1x а n k граничных

условий ndash в конечной точке 2x то такая задача называется краевой В MathCAD реализованы две функции позволяющие численно найти недостающие условия в точках 1x и 2x

631 Двухточечная краевая задача

Задача решается в два этапа Сначала с помощью функции sbval находятся недостающие начальные значения а затем приме-няется одна из вышеописанных функций для решения стандартной задачи Коши на отрезке

1 2 sbval V x x xf F load score ndash ищет недостающие началь-

ные условия в точке 1x V ndash вектор начальных приближений для искомых начальных

значений в точке 1x 1x 2x ndash граничные точки интервала F x y ndash вектор-столбец из n элементов содержит правые ча-

сти дифференциальных уравнений 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точке 1x некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

2score x y ndash вектор-столбец размерности вектора V содер-

жащий разность между начальным условием в точке 2x и значени-ем искомого решения в этой точке

108

Теперь решаем задачу традиционным методом

632 Краевая задача с условиями внутри интервала

На первом этапе используется функция ( 1 2 1 2 balfit V V x x xf 1 2 )F load load score ndash ищет недостающие начальные условия

в точках х1 и х2 сшивая решения выходящие из этих точек в точке xf

109

1 2V V ndash векторы начальных приближений для искомых на-чальных значений в точках х1 и х2

х1 х2 ndash граничные точки интервала 2 1 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точках х1 х2 некоторые из значений ndash констан-ты другие неизвестны и будут найдены в процессе решения

2 2 2load x V ndash вектор-столбец из n элементов содержит

начальные значения в точке х2 некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

score xf y ndash вектор-столбец размерности n содержащий раз-

ность между решениями начинающимися в точках х1 и х2 в точке xf

110

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ

71 Одномерная линейная аппроксимация

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

При кусочно-линейной интерполяции или аппроксимации вычи-сления дополнительных точек выполняются по линейной зависимости Графически это означает просто соединение узловых точек отрезками прямых для чего используется следующая функция linterp VX VY x

Для заданных векторов VX и VY узловых точек и заданного ар-гумента х эта функция возвращает значение функции при ее линей-ной аппроксимации При экстраполяции используются отрезки пря-мых с наклоном соответствующим наклону крайних отрезков при линейной интерполяции например

111

72 Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная ин-

терполяция оказывается довольно грубой Для целей экстраполяции функция linterp не предназначена и за пределами области определе-ния может вести себя непредсказуемо

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

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

cspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии в опорных точках к ку-бическому полиному

pspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии к опорным точкам пара-болической кривой

lspline VX VY ndash воз-

вращает вектор VS вторых производных при прибли-жении к опорным точкам прямой Наконец четвертая

функция int erp VS VX VY x ndash возвращает значение у (х) для за-

данных векторов VS VX VY и заданного значения x

112

Таким образом сплайн-аппроксимация проводится в два эта-па На первом с помощью функций cspline pspline или Ispline отыс-кивается вектор вторых производных функции у(х) заданной векто-рами VX и VY ее значений (абсцисс и ординат) Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с по-мощью функции interp

73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D графиков имеется возможность осуществления двумерной сплайн-интерполяции Это позволяет существенно повысить представительность сложных гра-фиков SD-функций в том числе контурных

113

Интерполяция функции двух переменных проводится также в два этапа

1 Вычисляется вектор VS вторых производных в опорных точках с помощью функций

cspline Mxy Mz

pspline Mxy Mz

lspline Mxy Mz

Здесь Mxy ndash матрица размера 2n строки которой определя-

ют по диагонали x y координаты прямоугольной сетки Mz ndash

матрица размера n n значений функции в узлах вышеопределен-ной сетки

2 Вычисление с помощью функции int erp VS Mxy Mz V

Здесь V minus вектор координат x y

Показаны графики функции двух переменных после проведе-ния двумерной сплайн-интерполяции и без нее

114

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ

81 Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х) Задача регрессии заключается в получении параметров этой функ-ции такими чтобы функция приближала облако исходных точек (заданных векторами VX и VY ) с наименьшей среднеквадратичной погрешностью

Чаще всего используется линейная регрессия при которой функция у(х) имеет вид у(х) = a + bx и описывает отрезок прямой К линейной регрессии можно свести многие виды нелинейной ре-грессии при двупараметрических зависимостях у(х)

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций

corr VX VY ndash возвращает скаляр ndash коэффициент корреляции

Пирсона int ercrpt VX VY ndash возвращает значение параметра а (смеще-

ние линии регрессии по вертикали) slope VX VY ndash возвращает значение параметра b (наклона

линии регрессии)

115

82 Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной

регрессии общего вида При ней заданная совокупность точек при-ближается функцией вида

1 2 1 1 2 2 F x K K Kn K F x K F x KnFn x

Таким образом функция регрессии является линейной комби-нацией функций 1 2 F x F x Fn x причем сами эти функции

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

Для реализации линейной регрессии общего вида использует-ся функция inf l it VX VY F Эта функция возвращает вектор

коэффициентов линейной регрессии общего вида K при котором среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек если их координаты хранятся в векторах VX и VY оказы-вается минимальной Вектор F должен содержать функции

1 2 F x F x Fn x записанные в символьном виде

Расположение координат точек исходного массива может быть любым но вектор VX должен содержать координаты упорядочен-ные в порядке их возрастания а вектор VY ndash ординаты соответ-ствующие абсциссам в векторе VX

116

83 Функции для одномерной и многомерной полиномиальной регрессии

Функция для обеспечения полиномиальной регрессии при про-

извольной степени полинома регрессии regress VX VY n введена

в новую версию MathCAD Она возвращает вектор VS запрашиваемый функцией int erp VS VX VY x содержащий коэффициенты многочлена n-й

степени который наилучшим образом приближает laquoоблакоraquo точек с координатами хранящимися в векторах VX и VY

Для вычисления коэффициентов полинома регрессии исполь-зуется функция submatrix

На практике не рекомендуется делать степень аппроксимиру-ющего полинома выше четвертой-шестой поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий поли-ном коэффициенты которого вычисляются по всей совокупности заданных точек те глобально Иногда полезна другая функция по-линомиальной регрессии дающая локальные приближения отрез-ками полиномов второй степени ndash loess VX VY span Эта функция

возвращает используемый функцией int erp VS VX VY x вектор

VS дающий наилучшее приближение данных (с координатами то-чек в векторах VX и VY ) отрезками полиномов второй степени Ар-гумент span gt 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение ndash 075)

117

Чем больше span тем сильнее сказывается сглаживание данных При больших span lt эта функция приближается к 2regress VX VY

MathCAD позволяет выполнять также многомерную регрес-сию самый типичный случай которой ndash приближение трехмерных поверхностей Их можно характеризовать массивом значений высот z соответствующих двумерному массиву Мху координат точек (х у) на горизонтальной плоскости

Новых функций для этого не задано Используются уже описанные функции в несколько иной форме

Regress Mxy Vz n ndash возвращает вектор запрашиваемый функ-

цией int erp VS Mxy Vz V для вычисления многочлена п-й степени который наилучшим образом приближает точки множества Мху и Vz Мху ndash матрица т times 2 содержащая координаты x и y

Vz ndash m-мерный вектор содержащий z-координат соответ-ствующих m точкам указанным в Мху

118

loess Mxy Vz span аналогична loess VX VY span но в

многомерном случае int erp VS Mxy Vz V возвращает значение z по заданным

векторам VS (создается функциями regress или loess) и Мху Vz и V (вектор координат х и у заданной точки для которой находится z)

84 Функция для нелинейной регрессии

общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора K параметров произвольной функции 1 2 F x K K Kn при котором обеспечивается минимальная

среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек

Для проведения нелинейной регрессии общего вида использу-ется функция genfit VX VY VS F Эта функция возвращает вектор

K параметров функции F дающий минимальную среднеквадратич-ную погрешность приближения функцией 1 2F x K K Kn ис-

ходных данных F должен быть вектором с символьными элементами содер-

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

119

ментов вектора K необходимые для решения системы нелинейных уравнений регрессии итерационным методом

85 Функции сглаживания данных

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

medsmooth VY n ndash для вектора с m действительными числами

возвращает m-мерный вектор сглаженных данных по методу сколь-

120

зящей медианы параметр n задает ширину окна сглаживания (n должно быть нечетным числом меньшим m)

ksmooth VX VY b ndash возвращает n-мерный вектор сглаженных

VY вычисленных на основе распределения Гаусса здесь VX и VY ndash n-мерные векторы действительных чисел параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в не-сколько раз превышать интервал между точками по оси х)

sup smooth VX VY ndash возвращает n-мерный вектор сглажен-

ных VY вычисленных на основе использования процедуры линей-ного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k здесь VX и VY ndash n-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возрастания

86 Функция предсказания

Весьма интересной является функция предсказания predikt data k N где data ndash вектор данных k ndash число последних

точек существующих данных на основе которых происходит расчет предсказываемых точек N ndash число точек в которых необходимо предсказать данные Она по ряду заданных равномерно располо-женных точек позволяет рассчитать некоторое число N последую-

121

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

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

122

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ

Вплоть до появления 7-й версии системы MathCAD возможно-сти программирования в них были крайне ограниченными Факти-чески MathCAD позволяла реализовать лишь линейные программы в основе которых лежит понятие функции Функция if и ранжиро-ванные переменные в отдельных случаях могли заменить условные выражения и циклы но с серьезными ограничениями Отсутствова-ла возможность задания завершенных программных модулей

Эти возможности в расширенном варианте появились в MathCAD 70 Pro Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке) включаемой кнопкой на панели Math

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

Эти подпрограммы-функции составляются так же как и опре-деления функций (табл 23) Рассмотрим простой пример вычисле-ния суммы Sum(n) = 1 + 2 + 3 + + n

Задайте сначала имя функции Sum вслед за которым введите список параметров (n) и оператор присваивания =

Введите начальное значение s 0 и отметьте его целиком Стрелка служит оператором присваивания в теле программы вво-дится клавишей (открывающая фигурная скобка) или выбором кнопки со стрелкой с панели

Создайте новую строку программы (вставка вертикальной черты) с помощью кнопки Add Line клавиша (закрывающая квадратная скобка) На экране появится вертикальная черта и пустая ячейка

Выполните щелчок на кнопке for чтобы ввести оператор цикла Перед символом принадлежности введите переменную i а после него ndash промежуток изменения переменной 1n В находящей-ся ниже ячейке введите присваивание s s+i Программа готова

123

Таблица 23 Команды панели Symbolic (символы)

Команда Функция Пример

Add Line Добавляет новую строку поднад (зависит от выделения) текущей строкой

Присваивание значения локальной переменной

if

Условный оператор (оператор ветвления) if условие должно стоять после if а оператор который исполняется если выполнено заданное условие ndash перед if

otherwise Обозначает оператор который должен быть исполнен если условие оператора if не выполняется

for

Цикл for за ключевым словом for следует переменная-счетчик а после символа принадлежности вводится промежуток изменения этой переменной Внутренние операторы цикла сдвинуты немного вправо

while

Цикл while внутренние операторы цикла будут исполняться до тех пор пока будет истинным условие следующее за ключевым словом while Пример показывает применение цикла для нахождения нулей функции методом касательных Ньютона

break

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

continue Служит для преждевременного завершения текущей итерации цикла сам цикл при этом продолжается

retutn Преждевременное завершение программы указанное в ячейке значение будет возвращено

on error Если при вычислении выражения expr2возникла ошибка вычисляется выражение expr1

124

Условный оператор if и оператор otherwise Рассмотрим пример программного блока вычисляющего фак-

ториал с использованием рекурсии

В данном примере 1 возвращается только если n = 0 или n = 1

Обратите внимание на задание нескольких условий ndash со знаком плюс каждое условие в скобках В остальных случаях учитывая формулу n=n(n minus 1) вызывается fakt(n minus 1) и умножается на n С помощью функции error можно вывести сообщение об ошибке при непра-вильном вводе аргумента

Для демонстрации работы цикла for рассмотрим ту же задачу но вычисление факториала осуществим с помощью цикла

Если n = 0 или n = 1 возвращается 1 в противном случае с по-мощью цикла for вычисляется произведение n=123n Вычис-ленное последним значение p возвращается автоматически

В следующем примере с помощью алгоритма Евклида опреде-ляется наибольший общий делитель Для реализации алгоритма используется цикл с ключевым словом while

125

91 Прерывание цикла с помощью операторов break и continue Оператор return

Первый пример ndash реализация метода касательных Ньютона

для определения нулей функции На основе начального значения x вычисляется новое улучшенное значение x расположенное ближе к искомому нулю функции При этом итерации повторяются до тех пор пока значение функции не станет меньше заданной точности (в примере 10minus6)

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

Кроме ключевого слова break имеется ключевое слово

continue с похожей функцией В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору continue прерывает выполнение только текущей итерации

126

92 Ключевое слово continue Ключевое слово continue используется для выявления всех ну-

лей функции на заданном интервале При этом в примере производится разбиение интервала на n

равных подынтервалов и ищутся те из них на которых функция ме-няет знак При обнаружении такого подынтервала вызывается функция реализующая метод касательных Ньютона с начальным значением находящимся в середине подынтервала

Обратите внимание по завершении работы программы выда-

ется вектор значений Ниже приводится программа вычисляющая коэффициенты

Фурье функции причем в результате выдается матрица значений нулевая по счету строка содержит коэффициенты Аn а первая ndash ко-эффициенты Bn Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn и первый ndash для Bn

127

128

ЛАБОРАТОРНЫЕ РАБОТЫ

Методические указания Порядок выполнения работы 1 Получите у преподавателя задание на выполнение очеред-

ной работы (вариант и дополнительные указания) и уясните цель 2 Разработайте структуру и алгоритм работы программы 3 Реализуйте алгоритм в виде текста на языке Maple 4 Продемонстрируйте работу программы преподавателю и

при наличии замечаний сделайте необходимые поправки 5 Подготовьте и сдайте отчет о работе Требования к оформлению отчета

По каждой выполненной лабораторной работе составляется отчет который должен содержать

minus титульный лист с названием учебного заведения и кафедры учебной дисциплины указанием номера работы фамилии исполни-теля и фамилии преподавателя принявшего работу

minus тему цель работы и развернутое лабораторное задание с от-ражением сведений о конкретном варианте

minus при необходимости minus краткое пояснение принципов метода и алгоритма решения задачи

minus текст программы minus фактические результаты исполнения программы minus вывод о работоспособности программы с объяснением при-

чин обнаруженных некорректностей в работе

129

Лабораторная работа 1 Тема Решение нелинейных уравнений

Лабораторные задания 1 Разработать программу вычисления корня нелинейного

уравнения с некоторой точностью одним из четырех методов поло-винного деления (ПД) касательных (К) хорд (Х) хорд и касатель-ных (ХК)

2 Решить эти же уравнения используя встроенные функции MathCAD

3 Сравнить полученные результаты

Методические указания С методами решения можно ознакомиться в [1minus3] Построить графики функций и отделить корень

Варианты заданий

Метод решения Задания

Метод хорд

Вариант 1 1 sin 035x x 2 3 23 9 8 0x x x

Вариант 5

1 12 cos 0368 0x x 2 3 3 1 0x x Вариант 9

1 ctg 3 0x x 2 3 201 06 15 0x x x Вариант 13

1 2 4sin 0x x 2 3 201 04 2 0x x x Вариант 17

1 lg 7 2 6 0x x 2 3 203 09 08 0x x x

Метод половинного деления

Вариант 2

1 2 5 3 0x x 2 22 log 1x x

Вариант 61 exp 2 2 1 0x x 2 tg 2 4x x x

Вариант 10 1 arctg 1 2 0x x 2 4 3 23 4 12 1 0x x x

Вариант 14

1 2 5xe x 2 3l g 1 1x o x

Вариант 18 1 lg 1 1x x 2 4 218 6 0x x

130

Окончание

Метод

касательных

Вариант 3

1 3ln 1 0x x 2 3 22 2 0x x

Вариант 7

1 2 1xx 2 3 23 9 10 0x x x Вариант 11

1 121 1x x 2 3 2 2 0x x

Вариант 151 cos 0x x 2 3 3 1 0x x

Вариант 19 1 2 lnx x 2 3 204 06 18 0x x x

Метод хорд и касательных

Вариант 4

1 2tg 047 02x x 2 3 22 3 12 5 0x x x Вариант 8

1 lg 12 0x x 2 3 23 24 3 0x x x Вариант 12

1 2ctg105 0x x 2 3 23 1 0x x Вариант 16

1 3 cos 1 0x x 2 3 22 9 6 0x x Вариант 20

1 2 21x

x e 2 3 23 8 0x x

131

Лабораторная работа 2 Тема Решение систем Лабораторные задания 1 Решить линейную систему классическим методом Гаусса

или одним из его модифицированных методов 2 Решить линейную систему методом Крамера используя со-

ответствующие пакеты 3 Решить нелинейные системы уравнений методами итераций

и Ньютона 4 Решить эти же системы используя встроенные функции 5 Результаты

Методические указания С методами решения можно ознакомиться в [1minus3 5 6] Построить графики функций и определить область существо-

вания корня Варианты заданий

1 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 1

3 2 4

2 3 6

2 3 4

х х х х

х х х х

х х х х

х х х х

sin 1 12

2 cos 2

x y

x y

2

2 2

tg 04

06 2 1

0 0

xy x

x y

x y

2 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 6

2 3 8

3 2 2 4

2 3 2 8

х х х х

х х х х

х х х х

х х х х

сos 1 05

cos 3

x y

x y

2 2

sin 16 0

1

0 0

x y x

x y

x y

3 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 4 5

2 2 3 1

3 2 2 1

4 3 2 5

х х х х

х х х х

х х х х

х х х х

sin 2 2

cos 1 07

x y

y x

3 2

2 2

tg 01

2 1

xy x

x y

4 1 3 4

1 3 4

1 2 4

1 2 3

3 4 5

2 3 4

3 2 5 12

4 3 5 5

х х х

х х х

х х х

х х х

2 sin 05 1

cos 15

x y

x y

2 2

sin 12 02

1

x y x

x y

132

Продолжение

5 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

3 5 7 12

3 5 7 0

5 7 3 4

7 3 5 16

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

x y

y x

3 2

2 2

tg 03

09 2 1

xy x

x y

6 1 2 3 4

1 2 3

1 2 4

2 3

5 3 4 20

3 2 9

5 7 10 9

3 5 1

х х х х

х х х

х х х

х х

сos 05 08

sin 2 16

x y

y x

2 2

sin 13 0

1

x y x

x y

7 1 2 3 4

1 2 4

2 3 4

1 2 3 4

2 5 8

3 6 9

2 2 5

4 7 6 0

х х х х

х х х

х х х

х х х х

sin 1 13

sin 1 08

x y

x y

3

2

2 2

tg

08 2 1

xy x

x y

8 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 4

3 3 3 2 6

3 2 6

3 3 6

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

y x

x y

2 2

sin 15 01

1

x y x

x y

9 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 7

2 5

2 1

3 3 10

х х х х

х х х х

х х х х

х х х х

сos 05 2

sin 2 1

x y

y x

3

2

2 2

tg

07 2 1

xy x

x y

10 1 2 4

1 2 3

2 3 4

1 2 3 4

4 2 9

3 4 7

3 2 4 12

2 3 0

х х х

х х х

х х х

х х х х

sin 2 15

cos 2 05

x y

y x

2 2

sin 12 01

1

x y x

x y

11 1 2 3 4

1 2 4

1 3 4

1 2 3 4

2 1

2 3 2

3 3

2 2 2 5 6

х х х х

х х х

х х х

х х х х

sin 1 12

cos 2 2

y x

x y

2

2 2

tg 02

06 2 1

xy x

x y

12 1 2 3 4

2 3 4

1 2 4

1 2 3

2 0

2 2

3 1

3 2 0

х х х х

х х х

х х х

х х х

сos 1 05

cos 3

y x

y x

2 2

sin 15 01

1

x y x

x y

133

Окончание

13 1 2 4

1 2 3 4

1 3 4

1 2 4

5 9

3 3 4 7

3 2 16

4 0

х х х

х х х х

х х х

х х х

сos 1 07

sin 2 2

x y

y x

2

2 2

tg 04

08 2 1

xy x

x y

14 1 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 9

2 8

2 5

2 1

х х х

х х х х

х х х х

х х х х

2 sin 05 1

cos 15

y x

y x

2 2

sin 12 01

1

x y x

x y

15 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 6 2 2 12

3 5 7 12

3 5 7 0

5 7 3 4

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

y x

x y

2

2 2

tg 01

09 2 1

xy x

x y

16 1 2

1 2 3 4

1 2 3 4

1 2 3 4

5 2

2 3 2 4

3 2 6

3 3 6

х х

х х х х

х х х х

х х х х

сos 05 08

sin 2 16

x x

x y

2 2

sin 14

1

x y x

x y

17 1 2 4

1 2 3 4

1 2 3 4

1 2 3 4

4 2

2 3 1

2 3 6

2 3 4

х х х

х х х х

х х х х

х х х х

sin 1 13

sin 1 08

y x

y x

2

2 2

tg 01

05 2 1

xy x

x y

18 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

5 3 4

2 3 2 6

2 2 3 8

3 2 2 4

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

x y

y x

2 2

sin 11 01

1

x y x

x y

19 1 2 3 4

1 2 3 4

1 3 4

1 2 3 4

4 2 4 3

2 1

3 3

2 2 2 5 6

х х х х

х х х х

х х х

х х х х

2 cos 05

sin 2 1

x y

x y

2 2

tg

2 1

x y xy

x y

20 1 3 4

2 3 4

1 2 4

1 2 3

2 2 1

2 2

1

3 2 0

х х х

х х х

х х х

х х х

sin 2 15

cos 2 05

y x

x y

2 2

sin 1

075

x y xy

x y

134

Лабораторная работа 3 Тема Работа с многочленами Лабораторные задания 1 Исследовать заданные функции на непрерывность найти их

экстремумы 2 Разложить заданную функцию одного переменного в ряд в

окрестности указанной точки 0x до n-го порядка 3 Преобразовать ряд в многочлен который разложить по сте-

пеням х а Построить графики заданной функции и получивше-

гося многочлена 4 Уметь находить коэффициенты при заданных степенях

старшие и младшие степени корни из многочлена и интервалы дей-ствительных корней многочлена раскладывать в ряд функции мно-гих переменных

Варианты заданий

Номер варианта

Функция n 0x

1 siny x arcsinu xy 10 1

2 cosy x u xy 8 minus1

3 lny x zu xy 9 3

4 tgy x zu y x 6 minus2

5 arcsiny x expu z xy 10 minus07

6 arccosy x lnu x y z 9 08

7 exp 2y x expu x zy 6 17

8 3 4 5y x x u th x y z 8 minus066

9 05log 1y x u ch x y z 5 15

10 05 2y sh x 2 2 2x y z 10 05

11 03 4y ch x 2 2 2x y z 7 minus045

12 13arctgy x 2 2 21 u x y z 5 03

13 1 exp 1y x x 2 2 2ln u x x y z 10 minus14

14 3 cos 1y x x 2 2tg u z x y 12 09

135

Окончание

Номер варианта

Функция n 0x

15 2 1 sin 7 3y x x ctgu x y z 9 055

16 2tgy x 22 z x y 6 08

17 2ln 1y x 2 2 21 cosu x y z 10 01

18 2 21 1y x x 2 2 21 sinu x y z 8 0

19 2 21 1y x x 2tgu x z 9 0

20 2 2sin 1y x x u cth x y z 10 036

136

Лабораторная работа 4 Тема Интерполяция и экстраполяция функций Цель построение интерполяционных многочленов по равно-

и неравноотстоящим узлам вычисление значений функций в ука-занных точках

Лабораторные задания 1 Построить интерполяционные многочлены Лагранжа Нью-

тона по равно- и неравноотстоящим узлам а также первые и вторые интерполяционные формулы Ньютона Гаусса и Бесселя

2 Выполнить линейную квадратичную кубическую и четвер-того порядка сплайн-аппроксимацию

Методические указания С методами построения многочленов можно ознакомиться

в [1minus3]

Варианты заданий

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

0298

0303

0310

0317

0323

0330

0339

150

155

160

165

170

175

180

325578

317639

312180

304819

2098755

2091950

283598

1

7

13

19

02006 03645

144 182

02654 03325

146 177

03127 03222

154 185

02746 03033

149 172

043

048

055

062

070

075

078

0115

0120

0125

0130

0135

0140

0145

163597

173234

187686

203345

222846

235973

253687

2

8

14

20

04984 073482

01144 0142

04998 08375

01004 0148

04256 08751

01157 0152

04057 08599

0105 0150

137

Окончание

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

011 015 021 029 035 041 047

150 155 160 165 170 175 180

15132 17422 20393 23994 28160 32812 37875

3 9

15

18

0112 0481 143 175 0128 0462 156 1751 0104 0439 148 1782 0103 04661 1523 1885

002 008 012 017 023 030 035

0375 0380 0385 0390 0395 0400 0405

102316 109590 121483 114725 130120 140976 139642

4

10

16 5

0021 036 0365 0406 024 0348 0379 0427 005 0321 0384 0403 0057 0337 0371 0413

068 073 080 088 093 099 106

185 190 195 200 205 210 215

43198 48689 54653 59653 64817 69554 71258

6

11

17

12

066 105 182 214 069 11 188 211 071 103 173 201 0682 0983 194 221

138

Лабораторная работа 5 Тема Разложение функций в ряд Фурье

Лабораторные задания 1 Разложить заданную функцию в ряд Фурье по системе ор-

тонормированных функций 2 Построить в одной системе координат графики функции и

некоторых частичных сумм ряда Фурье

Методические указания С методами решения можно ознакомиться в [1minus3 5minus7]

Варианты заданий

Номер варианта Функция у(х) Система функций

1 expx x Гегенбауэра

2 23 5 11x x Эрмита

3 sin 2 6x Лагерра

4 cos 5 x Лежандра

5 21 3x Якоби

6 2 21 1x x Чебышева 1-го рода

7 2 21 1x x Чебышева 2-го рода

8 1 cos x Гегенбауэра9 1 sin x Эрмита10 cosx x Лагерра11 sinx x Лежандра12 cos x x Якоби

13 sin x x Чебышева 1-го рода

14 exp x x Чебышева 2-го рода

15 6x Гегенбауэра16 1 x Эрмита17 1 Лагерра18 2cos x Лежандра

19 2sin x Якоби

20 122 1x Чебышева 1-го рода

21 122 1x Чебышева 2-го рода

139

Лабораторная работа 6 Тема Решение дифференциальных уравнений Лабораторные задания 1 Решить дифференциальное уравнение методами Эйлера

Рунге-Кутта Милна Адамса и простроить графики решений считая начальные условия нулевыми

2 Решить дифференциальное уравнение методами системы MathCAD и сравнить результаты решений

Методические указания Принять шаг равным 01 в качестве отрезка на котором ищет-

ся решение взять отрезок [01] С методами решения можно ознакомиться в [1minus3 5 6 8] Варианты заданий

Но-мер вари-анта

Уравнение у= f(x)

Но-мер вари-анта

Уравнение у= f(x)

1 21 02 siny y x y 11 cos 05y x y x y

2 2cos 1 05y x x y 12 2cos 1 06y x y y

3 21 04 sin 15y y x y 13 2cos 2 03y y x y

4 cos 15y x y x y 14 1 sin 05 2y x y y x

5 2cos 15 01y y x y 15 21 06sin 125y x y

6 cos 2 15y x y x y

16 1 01 2 sin 2y y x x y

7 2cos 1254 01y y x y

17 21 08 sin 2y y x y

8 cos 15 15y x y x y

18 1 sin 2 03 2y x y y x

9 2cos 175 05y y x y

19 1 1 sin 2y x y y x

10 2cos 08 03y x y y 20 21 22sin 15y x y

140

Лабораторная работа 7

Тема Интегральные преобразования Цель вычисление интегральных преобразований

Лабораторное задание От заданных функций найти прямое и обратное преобразова-

ние Фурье Лапласа Гильберта и Меллина

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

ознакомиться в [1minus3 5minus7] Так как не все заданные функции записа-ны в таблицы интегральных преобразований то необходимо соста-вить для них соответствующие интегральные суммы

Варианты заданий

Номер варианта Функция Номер варианта Функция

1 x 11 2 0

0 0

x

x

2 1 0 1

2 1

0 0 2

x

x x

x x

12 2x

3 1 0 1

0 0 1

x x

x x

13 2 0 2

0 0 2

x x

x x

4 sin 0

0 0

x x

x

14 0

0 0

x x

x

5 cos 0

0 0

x x

x

15 3x

6 1 0 1

3 1

0 0 2

x x

x x

x x

16 3 0 1

3 1

0 0 9

x x

x

x x

7 2 0

0 0

x x

x

17

1 1 1

0 1 1

x

x x

8 3 0

0 0

x x

x

18

1 1

0 1 1

x x

x x

9 exp x 19 2 1 1

0 1 1

x x

x x

10 exp 0

0 0

x x

x

20 3 1 1

0 1 1

x x

x x

141

САМОСТОЯТЕЛЬНЫЕ РАБОТЫ

Самостоятельная работа 1 1 Вычислите для каждого значения 1 5 7x следующие

функции

3 62 5

1y

x x

2

21

2

x

y e

2arctg

2

xy

Рекомендуется использовать операцию векторизации (MathPalette матричные операции) Измените количество значащих цифр выводимых на экран после десятичной точки на 6

2 Решите двумя способами (матричным и с помощью функ-

ции lsolve) систему линейных уравнений

2 0

2 3 1

5 1

x y z

x y z

x y z

Справку по использованию функции lsolve найдите в справоч-ной системе MathCAD

3 Смените нижнюю границу индексации массивов на 1 Вы-ведите решение системы уравнений из п 2 в виде вектора-столбца и поэлементно

4 Скопируйте первую из формул п 1 и замените в ней первое подкоренное выражение в знаменателе на sin x а второй операнд

в знаменателе ndash на ctg2

x

Присвойте полученное выражение но-

вой переменной G (удалив у) 5 Вставьте в документ текстовую область laquoПостроение про-

стейшего графикаraquo 6 Определите функцию sin cos 1f x x x

7 Постройте график функции f x (воспользуйтесь быстрым

построением графиков)

142

Самостоятельная работа 2 1 Задайте вектор 1V состоящий из трех элементов 231 и

вектор 2V ndash 417

2 Выполните следующие операции 1 3V 1 2V V 1 2V V 1 2V V просуммируйте элементы 1V транспонируйте вектор 2V

вычислите норму вектора 1V используя операцию векторизации вычислите sin 1V и посчитайте норму получившегося вектора

3 Задайте матрицу М с размерностью 2 3 транспонируйте ее 4 Создайте единичную матрицу Е размерности 5 5 вычис-

лите ее след 5 Создайте две квадратные матрицы 1M и 2M размерности

3 3 перемножьте их у полученной матрицы вычислите определи-тель выведите на экран второй столбец и поэлементно третью строку

6 Сложите матрицы 1M и 2M (матрица MM ) для получен-ной матрицы вычислите exp MM

7 Объедините матрицу MM и вектор 1V отсортируйте полу-ченную матрицу по первым столбцу и строке

8 Вычислите собственные значения любой из введенных мат-риц размерности 3 3 а также собственный вектор принадлежащий второму собственному значению

143

Самостоятельная работа 3 1 Задайте ранжированную переменную х меняющуюся от 0

до 2 с шагом 01 определите функцию 2sin 2f x x x построй-

те ее график

2 Определите изменение целого индекса i от 0 до 15 10ix i

2sin 2i i iy x x постройте график функции i iy x

3 Постройте график функции 2 2g x y x y где перемен-

ные x и y меняются от minus5 до 5 4 Изобразите сферу Ее параметрическое представление имеет

вид

8 0 0

cos sin

sin sin

cos

R

x R

y R

z R

Число точек 30N

5 Анимация Измените определение радиуса сферы

cosR f FrameF Постройте анимационный график (число

кадров равно 20 число кадров в секунду minus 3 Просмотрите на плеере получившуюся анимацию

ВНИМАНИЕ Перед построением анимации не забудьте от-ключить АВТОМАСШТАБ

6 Постройте графики функций заданных полярно

115 0 2

31 sin 2

2

sin 31 1

2

NN

r

r

144

7 Изобразите пространственную кривую

340 1 cos

3 sin

3

i

i

i

N i N x iN

y iN

z iN

8 Увеличьте число точек N повторите построение предыду-щего графика поэкспериментируйте меняя различные параметры отображения графика

145

Самостоятельная работа 4 1 Используя команды меню Symbolic вычислите в символь-

ном виде

1 sin

dx

x 1

cosm

n

na

2 Разложите по степеням sin 5x Посчитайте производную

от полученного выражения Постройте график функции и ее пред-ставлений в виде ряда включающих 2 члена разложения 5 членов разложения и 10 членов разложения

3 Вычислите коэффициенты полинома по степеням х и у

2 2 2 25 6 7 8 9 10x y x y xy xy x y

4 Используя интегральное преобразование Лапласа (и обрат-ное преобразование Лапласа) решите в символьном виде диффе-ренциальное уравнение

sind

y t ky t tdt

5 Используя палитру символьных преобразований найдите точку в которой функция двух переменных имеет экстремум

sind

y t ky t tdt

6 Вычислите в символьном виде интеграл предположив что с minus действительное число с gt 0

0

expx ct dt

7 Используя оператор символьного вывода и блок Givenhellip Find решите в символьном виде систему уравнений

2

2

400 2 2 0

200 200 0

y x x b x

y x

146

8 Вычислите предел от функции tg x при х стремящемся к

2 minus обыкновенный слева и справа 9 Исследуйте аналитически функцию f x определите точки

максимума и минимума точки перегиба постройте графики f x

f x и f x

2

2

1

xf x

x

147

Самостоятельная работа 5 1 Найдите решения систем уравнений (если они существуют)

а) 2

23 1

2 2

yx

x y

б) 2

2

0

1 0

x

e y

x y

с помощью блоков GivenhellipFind GivenhellipMinner Проверьте все ли решения найдены

2 Решите на отрезке [0 3] задачу Коши

0 051

x

x

ey y

e

используя функцию odersolve (в блоке с Given) и функцию rkfixed Выведите значение полученного решения в точке x = 3 3 Решите задачу Коши для дифференциального уравнения

0 0 3 0 1 0 1y y y y y

на отрезке [01] используя функцию odersolve (в блоке с Given) и функцию rkadapt

4 Решите систему дифференциальных уравнений

2 3 0 0 0 5

2 0 2 0 1

x x y x x

y x y y y

на отрезке [0 3] Выведите значения искомых функций и их произ-водных в точке с координатой х =15

5 Решите краевую задачу для дифференциального уравнения

10 0 0 0 8 1

2y yy y y y

на отрезке [0 8] выведите значение функции и ее производных в конечной точке отрезка

6 Для примера из п 5 вычислите значение функции только в конечной точке Используйте специально предназначенные для это-го формы функций bulstoer rkadapt stiffb stiffr

7 Найдите корни многочлена

3 22 20 2 100y x x x x

с помощью функций root и poltroots (Обратите внимание на значе-ние системной переменной)

148

Самостоятельная работа 6 1 Составьте программу вычисляющую константу фигуриру-

ющую в легенде об изобретателе шахмат Изобретатель попросил дать ему в награду определенное количество зерна положив на

первую клетку одно зернышко ( 1 12 те 02 ) на вторую minus два зер-

нышка ( 2 12 ) на третью minus четыре ( 3 12 ) и тд (на новой клетке зе-рен в 2 раза больше чем на предыдущей) Найдите общее число зе-рен составляющих награду изобретателя Вычислите их массу приняв за массу одного зерна 03 грамма Переведите полученный результат в тонны Вы знаете это число А MathCAD знает

2 Модифицируйте программу предусмотрев выход из нее ес-

ли число зерен больше триллиона ( 1210 ) 3 Составьте программу-функцию вычисляющую по заданным

длинам сторон треугольника a b c три величины периметр тре-угольника его площадь и радиус вписанной окружности

1

2s p p a p b p c

12p a p b p c

rp

где p minus полупериметр Предусмотрите в программе оценку существования треуголь-

ника с заданными длинами сторон a b c и выдачу результата об ошибке если треугольник с указанными сторонами не существует

4 Составьте программу-функцию вычисляющую n коэффи-циентов разложения функции f x заданной на отрезке L L в

ряд Фурье minus те параметрами являются f n L 5 Используя построенную в п 4 функцию вычислите при-

ближение рядом Фурье ступенчатой функции заданной на 11

0 если 1 0

1 если 0 1

xf x

x

Рассмотрите приближения для разных n (например 3n и 40n ) Постройте график функции f x и ее приближений рядами

Фурье с различным числом членов разложения

149

Самостоятельная работа 7 1 Введите матрицу координат точек плоскости

х 01 5 11 05 34 27 19 4 47 у 10 13 5 7 3 45 6 25 15

Постройте линейную и сплайновую интерполяцию для данно-

го laquoоблакаraquo точек Постройте функции линейной полиномиальной и обобщенной регрессии для этих же точек

2 С помощью функции rnd введите 50 случайных чисел из от-резка [0 2] Постройте функции сглаживания данных (с помощью различных встроенных функций)

3 С помощью функции predict предскажите поведение функ-ции sin 2f x x на [2 4] если предположить что она задана

на отрезке 0 2 Изменится ли предсказанное поведение если в

качестве исходных данных взять функцию определенную на [0 ]

150

СПИСОК ЛИТЕРАТУРЫ 1 Демидович Б П Основы вычислительной математики

Б П Демидович И А Марон М Лань 2011 minus 672 с 2 Фаддеев Д К Вычислительные методы линейной алгебры

Д К Фаддеев В Н Фаддеева М Лань 2002 736 с 3 Вержбицкий В М Численные методы учеб пособие для

вузов В М Вержбицкий minus 2-е изд испр minus М ООО Изд дом laquoОНИКС 21 векraquo 2005 minus 400 с

4 Вержбицкий В М Численные методы Математический анализ и обыкновенные дифференциальные уравнения В М Верж-бицкий minus М Высш шк 2001 minus 382 с

5 Воробьева Г Н Практикум по численным методам Г Н Во-робьева А Н Данилова minus М Высш шк 1990 minus 208 с

6 Кудрявцев Л Д Краткий курс математического анализа учеб для вузов Л Д Кудрявцев minus М Наука Гл ред физ-мат лит 2005 minus 736 с

151

Учебное издание

Черушева Татьяна Вячеславовна Зверовщикова Наталья Васильевна

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

В трех частях

Часть 1

Редактор Т В Веденеева Компьютерная верстка Р Б Бердниковой

Подписано в печать 9122015 Формат 60times84116 Усл печ л 883 Тираж 50

Заказ 1069

Издательство ПГУ

440026 Пенза Красная 40 Телфакс (8412) 56-47-33 е-mail iicpnzguru

  • Пустая страница
Page 7: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …

7

Рассмотрим эти команды File (Файл) ndash работа с файлами сетью Интернет и электронной

почтой Ниспадающее меню содержит команды стандартные для

Windows-приложений Edit (Правка) ndash редактирование документов Ниспадающее меню также содержит команды стандартные

для Windows-приложений Большинство из них доступны только в случае если в документе выделены одна или несколько областей (текст формула график и тд)

View (Обзор) ndash изменение средств обзора Toolbars (Панели инструментов) ndash позволяет отображать или

скрывать панели инструментов Standart (Стандартная) Formatting (Форматирования) Math (Математика)

Status bar (Строка состояния) ndash включение или отключение отображения строки состояния системы

Ruler (Линейка) ndash установка мерной линейки Regions (Границы) ndash делает видимыми границы областей (тек-

стовых графических формул) Zoom (Масштаб) ndash увеличивает или уменьшает размер доку-

мента при изменении масштаба Refresh (Обновить) [Ctrl+R] ndash обновление содержимого экрана Animate (Анимация) ndash команда позволяющая создать анимацию Playback (Проигрыватель) ndash воспроизведение анимации хра-

нящейся в файле с расширением AVI Preferences (Настройки) ndash одна из вкладок всплывающего окна

(General) позволяет задать некоторые параметры работы програм-мы не влияющие на вычисления другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet

Insert (Вставка) ndash команды этого меню позволяют помещать в MathCAD-документ графики функции гиперссылки компоненты и встраивать объекты

Format (Формат) ndash изменение формата объектов Equation (Уравнение) ndash форматирование формул и создание

собственных стилей для представления данных Result (Результат) ndash позволяет задать формат представления

результатов вычислений Text (Текст) ndash форматирование текстового фрагмента (шрифт

размер начертание)

8

Paragraf (Абзац) ndash изменение формата текущего абзаца (от-ступы выравнивание)

Tabs (Табуляция) ndash задание позиций маркеров табуляции Style (Стиль) ndash оформление текстовых абзацев Properties (Свойства) ndash вкладка Display (Отображение) поз-

воляет задать цвет фона для наиболее важных текстовых и графиче-ских областей вставленный в документ рисунок ( Insert Picture ) позволяет заключить его в рамку вернуть ему первоначальный размер

Вкладка Calculation (Вычисление) позволяет для выделенной формулы включить и отключить вычисление в последнем случае в правом верхнем углу области формулы появляется маленький чер-ный прямоугольник и формула превращается в комментарий

Graf (График) позволяет менять параметры отображения графиков

Separate regions (Разделить области) ndash позволяет раздвигать перекрывающиеся области

Align regions (Выровнять области) ndash выравнивает выделенные области по горизонтали или по вертикали

HeadersFooters (Колонтитулы) ndash создание и редактирование колонтитулов

Repaganite Now (Перенумерация страниц) ndash производит раз-бивку текущего документа на страницы

Math (Математика) ndash управление процессом вычислений в MathCAD существует два режима вычислений автоматический и ручной В автоматическом режиме результаты вычислений полно-стью обновляются при каком-либо изменении в формуле

Automatic Calculation (Автоматическое вычисление) ndash позво-ляет переключать режимы вычислений

Calculate (Вычислить) ndash при ручном режиме вычислений поз-воляет пересчитать видимую часть экрана

Calculate Worksheet (Просчитать документ) ndash пересчет всего документа целиком

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

Options (Параметры) ndash позволяет задавать параметры вычис-лений

9

Symbolik (Символика) ndash выбор операций символьного процес-сора

Window (Окно) ndash управление окнами системы Help (Справка) ndash работа со справочной базой данных о системе MathCAD Help (Справка по MathCAD) ndash содержит три вклад-

ки Содержание ndash справка упорядочена по темам Указатель ndash предметный указатель Поиск ndash находит нужное понятие при вводе его в форму

Resource Center (Центр ресурсов) ndash информационный центр содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials) быструю справку в виде примеров из раз-личных областей математики (Quicksheets and Reference tables)

Tip of the Day ndash всплывающие окна-подсказки с полезными со-ветами (возникают при загрузке системы)

Open Book (Открыть книгу) ndash позволяет открыть справочник системы MathCAD

About MathCAD (О программе MathCAD) ndash информация о вер-сии программы авторских правах и пользователе

Каждая позиция главного меню может быть сделана активной Для этого достаточно указать на нее курсором ndash стрелкой мыши и нажать ее левую клавишу Можно также нажать клавишу F10 и ис-пользовать клавиши перемещения вправо и влево Затем выбор фиксируется нажатием клавиши ввода Enter Если какая-либо пози-ция главного меню делается активной она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций Перемещение по списку подменю и выбор нужной операции производятся аналогично тому как это описано для главного меню

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

Третью строку окна системы занимает панель инструментов

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

Рис 3

10

Кнопки операций с файлами Документы системы MathCAD являются файлами Файлы

можно создавать загружать (открывать) записывать и распечаты-вать на принтере Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок

New Worksheet (Создавать) ndash создание нового документа с очисткой окна редактирования

Open Worksheet (Открыть) ndash загрузка ранее созданного доку-мента из диалогового окна

Save Worksheet (Cохранить) ndash запись текущего документа с его именем

Печать и контроль документов

Print Worksheet (Печать) ndash распечатка документа на принтере Print Preview (Просмотр) ndash предварительный просмотр доку-

мента Check Speling (Проверка) ndash проверка орфографии документа

Кнопки операций редактирования Во время подготовки документов их приходится редактиро-

вать те видоизменять и дополнять с помощью следующих кнопок Cut (Вырезать) ndash перенос выделенной части документа в бу-

фер обмена с очисткой этой части документа Copy (Копировать) ndash копирование выделенной части докумен-

та в буфер обмена с сохранением выделенной части документа Paste (Вставить) ndash перенос содержимого буфера обмена в ок-

но редактирования на место указанное курсором мыши Undo (Отменить) ndash отмена предшествующей операции редак-

тирования Три последние операции связаны с применением буфера об-

мена Он предназначен для временного хранения данных и их пере-носа из одной части документа в другую либо для организации об-мена данными между различными приложениями

Кнопки размещения блоков

Документы состоят из различных блоков текстовых фор-мальных графических и тд Блоки просматриваются системой ин-

11

терпретируются и исполняются Просмотр идет справа налево и снизу вверх

ndash Align Across (Выровнять по горизонтали) ndash блоки вы-равниваются по горизонтали

ndash Align Down (Выровнять вниз) ndash блоки выравниваются по вертикали располагаясь сверху вниз

Пиктограммы этих кнопок изображают блоки и указанные ва-рианты их размещения

Кнопки операций с выражениями

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

Следующие группы кнопок являются специфичными именно для системы MathCAD (рис 4)

Рис 4

ndash Insert Function (Вставить функции) ndash вставка функции из списка появляющегося в диалоговом окне

ndash Insert Unit (Вставить единицы) ndash вставка единиц измере-ния

ndash Calculate (Пересчитать) ndash вычисление выделенного вы-ражения

ndash Insert Giperlink (Включение гиперссылки) ndash обеспечивает создание гиперссылки

ndash Component Wizard (Мастер компонентов) ndash открывает окно Мастера дающего удобный доступ ко всем компонентам си-стемы

ndash Run Math Connex (Запуск системы Math Connex) ndash за-пуск системы для стимулирования блочнозаданных устройств

Кнопки управления ресурсами

ndash Resource Center (Центр ресурсов) ndash дает доступ к центру ресурсов (см рис 4)

MathCAD 2000 Professional

12

ndash Help (Справка) ndash дает доступ к ресурсам справочной базы данных системы

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

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами

Style ndash Переключатель выбора стилей Font ndash Переключатель выбора набора символов Point Size ndash Переключатель выбора размеров символов Bold ndash Установка жирных символов Italik ndash Установка наклонных символов Underline ndash Установка подчеркнутых символов Left Align ndash Установка левостороннего выравнивания Center Align ndash Установка выравнивания по центру Right Align ndash Установка правостороннего выравнивания До тех пор пока не начат набор элементов документа часть

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

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

113 Наборные математические панели инструментов

Для ввода математических знаков в MathCAD используются

удобные перемещаемые наборные панели со знаками (рис 5) Они служат для вывода заготовок ndash шаблонов математических знаков (цифр знаков арифметических операций матриц знаков интегра-лов производных и тд) Для вывода панели Math необходимо вы-полнить команду View Toolbar Math Наборные панели появ-ляются в окне редактирования документов при активизации

13

соответствующих пиктограмм ndash первая линия пиктограмм управле-ния системой Используя общую наборную панель можно вывести или все панели сразу или только те что нужны для работы Для установки с их помощью необходимого шаблона достаточно поме-стить курсор в желаемое место окна редактирования (красный кре-стик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона установив на него курсор мыши и нажав ее ле-вую клавишу

Рис 5

Многие функции и операции которые вставляются в документ

с помощью наборных математических панелей могут быть поме-щены в документ с помощью laquoбыстрых клавишraquo При этом работа в системе MathCAD становится более продуктивной Рекомендуем запомнить сочетания клавиш хотя бы для некоторых наиболее часто употребляемых команд

12 Входной язык системы MathCAD Типы данных

MathCAD обладает специализированным входным языком

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

14

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

121 Алфавит MathCAD 2000 PRO

Алфавит входного языка системы определяет совокупность символов и слов которые используются при задании команд необ-ходимых для решения интересующего пользователя класса задач Алфавит системы MathCAD содержит

minus строчные и прописные латинские буквы minus строчные и прописные греческие буквы minus арабские цифры от 0 до 9 minus системные переменные minus операторы minus имена встроенных функций minus спецзнаки minus строчные и прописные буквы кириллицы (при работе с ру-

сифицированными документами) К укрупненным элементам языка относятся типы данных опе-

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

Для ввода греческих букв можно использовать панель набор-ных знаков Greek включаемую кнопкой на панели Math Кроме того в MathCAD предусмотрена возможность набора греческих букв с помощью клавиш Для этого достаточно набрать соответ-ствующую английскую букву и нажать комбинацию клавиш [Ctrl+G]

122 Числовые константы

Константами называют поименованные объекты хранящие некоторые значения которые не могут быть изменены В качестве имени числовых констант используются их числовые значения В системе MathCAD используются и числовые константы значени-ями которых являются числа с разной системой исчисления деся-тичные восьмеричные или шестнадцатеричные

15

Числовые константы задаются с помощью арабских цифр де-сятичной точки (а не запятой) и знака ndash (минус) Например

123 ndash целочисленная десятичная константа 123 ndash десятичная константа с дробной частью

5123 10 ndash десятичная константа с мантиссой 123 и поряд-ком ndash5

Порядок числа вводится умножением мантиссы на 10 в степе-ни определяющей порядок Знак умножения при выводе числа на экран меняется на привычную математическую точку а операция возведения в степень (с применением спецзнака ^) отображается пу-тем представления порядка в виде надстрочного элемента Десятич-ные числа имеют основание 10 Диапазон их возможных значений лежит в пределах от 10 ^ 307 до 10 ^ 307 (это машинная бесконеч-ность и машинный нуль)

Система MathCAD может работать с восьмеричными и шест-надцатеричными числами Восьмеричные числа имеют основание 8 так что один их разряд может иметь значения от 0 до 7 Такие числа в конце отмечаются латинской буквой O (от слова octal ndash восьме-ричное) Шестнадцатеричные числа имеют основание 16 и их раз-ряд может иметь значения

HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный при-знак в виде буквы h или H (от слова hexagonal ndash шестнадцатерич-ное) Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal ndash десятичное) Если число шестнадцатеричное начинается с буквы (например ABCО) то си-стема будет путать его с возможным именем переменной Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (нуль)

123 Комплексные числа

Большинство вычислений система выполняет как с действи-тельными так и с комплексными числами которые обычно пред-ставляются в алгебраическом виде Re ImZ Z i Z или

Re ImZ Z j Z Здесь ReZ minusдействительная часть комплексного числа Z ImZ ndash его мнимая часть а символы i или j обозначают мни-

16

мую единицу те корень квадратный из ndash1 Такое представление характерно для системы MathCAD Однако система не всегда знает какой символ применить для обозначения мнимой единицы Поэто-му перед использованием любых операций с комплексными числа-ми полезно вначале определить i или j как мнимую единицу (те присвоить им значение квадратного корня из ndash1)

124 Строковые константы

Строковая константа ndash это строка заключенная в кавычки например laquoMy nameraquo В строковую константу могут входить один или несколько символов либо слов

125 Переменные

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

Идентификатор начинается только с буквы например X 1X Идентификатор не должен содержать пробелов Нельзя использо-вать для идентификаторов буквы русского языка Идентификаторы не могут совпадать с именами встроенных или определенных поль-зователем функций

126 Системные переменные

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

17

Таблица 1

Системные переменные

Объект Клавиши Назначение

π Alt+Ctrl+P Число пи (314)

е E Основание натурального логарифма (272)

Ctrl+Z Системная бесконечность (10^307)

Процент (001)

TOL Погрешность численных методов (0001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Ширина столбцов (в символах) для операто-ра WRITEPRN (8)

PRNPRECISSION Число десятичных знаков используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

127 Операторы

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

128 Встроенные функции

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

18

Элементарные встроенные математические функции

Элементарные функции представим в табл 27 Таблица 2

Тригонометрические функции

sin( )z Синус cos( )z Косинус tan( )z Тангенс sec( )z Секанс csc( )z Косеканс cot( )z Котангенс

Таблица 3

Гиперболические функции

sinh( )z Гиперболический синус cosh( )z Гиперболический косинус tanh( )z Гиперболический тангенс sech( )z Гиперболический секанс csch( )z Гиперболический косеканс coth( )z Гиперболический котангенс

Таблица 4

Обратные тригонометрические функции

sin( )A z Обратный тригонометрический синус cos( )A z Обратный тригонометрический косинус tan( )A z Обратный тригонометрический тангенс

Таблица 5

Обратные гиперболические функции

sinh( )A z Обратный гиперболический синус cosh( )A z Обратный гиперболический косинус tanh( )A z Обратный гиперболический тангенс

Таблица 6

Показательные и логарифмические функции

exp( )z Экспоненциальная функция ln( )z Натуральный логарифм (по основанию e) log( )z Десятичный логарифм (по основанию 10)

Таблица 7

Функции комплексного аргумента

Re( )z Выделение действительной части z Im( )z Выделение мнимой части z Arg( )z Вычисление аргумента (фазы)

19

Специальные встроенные математические функции

Функции Бесселя К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя являю-щиеся решениями некоторых дифференциальных уравнений второ-го порядка (табл 8)

Таблица 8 Список функций Бесселя

0J x Функция Бесселя первого рода нулевого порядка 0I x Модифицированная функция Бесселя первого рода нулевого порядка 0Y x Функция Бесселя второго рода нулевого порядка

0K x Модифицированная функция Бесселя второго рода нулевого порядка

1J x Функция Бесселя первого рода первого порядка 1I x Модифицированная функция Бесселя первого рода первого порядка 1Y x Функция Бесселя второго рода первого порядка 1K x Модифицированная функция Бесселя второго рода первого порядка Jn n x Функция Бесселя первого рода n-го порядка In n x Модифицированная функция Бесселя первого рода n-го порядка Yn n x Функция Бесселя второго рода n-го порядка Kn n x Модифицированная функция Бесселя второго рода n-го порядка

Гамма-функция В системе MathCAD предусмотрено вычис-

ление гамма-функции G(z) Она широко применяется и в статисти-ческих расчетах В них используется также функция ошибок erf(x) называемая еще интегралом вероятности

Дополнительные неактивные функции При загрузке сим-вольного процессора система распознает ряд дополнительных спе-циальных функций например таких как в табл 9

Таблица 9 Дополнительные неактивные функции

FresnelC x Интеграл Френеля С(х) FresnelS x Интеграл Френеля S(x)

Ci x Интегральный косинус Si x Интегральный синус Ei x Интегральная показательная функция

dilog x Дилогарифм erf z Интеграл ошибок для комплексного аргумента z

lnPsi x d dx Go x пси-функция

Psi n x n-я производная пси-функции

20

Функции с условиями сравнения

Функции приведены в табл 10 Таблица 10

Числовые функции с условиями сравнения

( )ceil х Наименьшее целое большее или равное x ( )Floor х Наибольшее целое большее или равное x

mod( )х Остаток от деления xy со знаком x ( )angel х Положительный угол с осью x для точки с координатами (xy)

( )Ф х Функция Хевисайда ndash единичного скачка (дает 0 при 0x и 1 в противном случае)

d m n Функция именуемая символом Кронекера возвращающая 1 при m = n и 0 в противном случае

129 Функция условных выражений

Для создания условных выражений более широкие возможно-сти дает функция if

if (Условие Выражение 1 Выражение 2)

Если в этой функции условие выполняется то будет вычис-ляться выражение 1 в противном случае ndash выражение 2

1210 Математические выражения

Функции могут входить в математические выражения напри-мер в выражении

2ln 1Y x

где Y ndash переменная 1 и 2 ndash числовые константы знаки laquoraquo и laquo+raquo ndash операторы ln(x) ndash встроенная функция с аргументом х При выпол-нении символьных операций переменные π и e используются только в символьном виде К примеру число 2π равно 628314hellip и выводится как 2π а не как приближенное численное значение

13 Ввод и редактирование данных

131 Ввод и редактирование формул и текста

В MathCAD-документе курсор ввода имеет вид красного кре-стика Этот крестик указывает в каком месте рабочего листа будет

21

произведено следующее действие Установив указатель мыши в нужном месте документа и выполнив щелчок вы перемещаете туда крестик (можно использовать стрелки а не мышь) Указатель в виде крестика может принимать другие формы

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

этот голубой курсор можно только с помощью клавиш-стрелок Если при перемещении красного курсора-крестика вы вторг-

лись в область формулы курсор автоматически принимает форму голубого курсора формул

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

Если вам не нравится взаимное распо-ложение областей в документе его можно изменить

ndash установите курсор-крестик на пустом месте документа

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

ndash установите курсор на одну из выделен-ных областей (курсор примет вид черной руки)

ndash удерживая нажатой левую клавишу мыши переместите выделенные области в требуемое место

При вводе текстовой области (клавиша []) курсор-крестик имеет вид вертикальной

красной черты При этом текстовая область окружена черной рамкой

Если вы уже вводите текст забыв создать текстовую область (те MathCAD воспринимает введенный текст как формулу) то до-статочно нажать клавишу пробела и MathCAD преобразует форму-лу в текст Преобразование в обратном направлении невозможно

Остановимся подробнее на свойствах голубого курсора фор-мул Для этого рассмотрим пример Предположим что MathCAD не

22

известна функция cosh (гиперболический косинус) и нам необхо-димо ввести определение

2

x xe ef x

Введем последовательность символов

^ ^ 2f x e x e x

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

Однако в MathCAD предусмотрены более экономичные мето-ды редактирования и ввода С помощью клавиши пробела можно увеличить область выделения ndash у голубого курсора появляется го-ризонтальный след Отмеченный следом курсора фрагмент форму-лы как бы подразумевается заключенным в скобки

Введенную выше формулу можно ввести по-другому

^ ^ 2f x e x Пробел e x Пробел Пробел Пробел

След курсора позволяет снабжать фрагменты формул мнимы-ми скобками таким образом что последующая математическая опе-рация относится ко всему выражению отмеченному следом курсо-ра те заключенному в мнимые скобки

Часто бывает необходимым все-таки заключение в скобки не-которой части введенного выражения Для этого достаточно выде-лить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу [] (апостроф) Обычно курсор со сле-дом при вводе формул имеет вид уголка направленного вправо (след направлен влево от курсора) предлагая вправо ввести необхо-димые значения А что делать если вы пропустили какую-то часть формулы или необходимо подправить выражение и дописать кое-что слева Для этого можно воспользоваться клавишей [Ins]

Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода В режиме вставки след курсора направлен впра-во и вводимые символы появляются слева от курсора

23

При редактировании формул случаются ошибки На этот слу-чай в меню Edit имеется команда Undo отменяющая последнее дей-ствие Того же результата можно достичь воспользовавшись соот-ветствующей кнопкой панели инструментов Standart или комби-нацией клавиш [Alt+Backspace]

Для удаления отдельных чисел или фрагментов формул ис-пользуется клавиша [Backspace] ndash если курсор находится в режиме ввода и клавиша [Del] ndash если курсор находится в режиме вставки Для удаления больших частей формул удобнее воспользоваться мышью выделив соответствующий фрагмент (протащить по нему мышь с нажатой левой кнопкой) и нажав клавишу [Del]

В MathCAD существует возможность разбивки больших вы-ражений на строки если выражение состоит из нескольких слагае-мых Для этого

minus выполните щелчок на операнде который по вашему мне-нию следует перенести на следующую страницу

minus увеличьте след курсора в режиме вставки таким образом чтобы отметить всю правую часть формулы

minus нажмите клавишу Backspace Стоящий перед курсором знак laquo+raquo будет удален При этом обе части формулы заключаются в скобки

minus нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки)

Если же там где оканчивается строка находится знак вычита-ния то необходимо удалить символ разности minus минус minus и произвести перевод строки При этом MathCAD превратит разность в сумму что сделает результат неправильным Но погрешность можно компенси-ровать присвоив первому слагаемому во второй строке знак laquoraquo

Если вы по ошибке удалили знак умножения и осуществили перенос строки то результат будет неправильным поскольку MаthCAD заменит умножение сложением Разбивка на строки не может применяться для выражений результаты вычислений кото-рых получены в символьном виде

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

Обычные переменные отличаются от системных тем что они должны быть предварительно определены пользователем В каче-стве оператора присваивания используется знак Если перемен-ной присваивается начальное значение с помощью оператора та-кое присваивание называется локальным

24

С помощью знака (три горизонтальные черточки) который

вводится клавишей [~] (тильда) можно обеспечить глобальное при-сваивание те оно может производиться в любом месте документа Для вывода результата или для контроля значений переменных ис-пользуется обычный знак равенства = (если выводится численный результат) или знак символьного равенства (стрелка) если вы-числения производятся в символьном виде Для ввода стрелки мож-но использовать клавиши [Ctrl+] или соответствующую кнопку наборной панели Symbolic

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

25

133 Определение функций пользователя

При определении функций пользователя так же как и при определении переменных могут быть использованы знаки локаль-

ного и глобального присвоения При этом с использованием знака глобального присваивания функ-ция может быть определена в лю-бом месте документа

Синтаксис определения функции

_ arg1arg 2arg Name Func N Выражение

Здесь _Name Func ndash имя функции arg1arg 2arg N ndash аргу-менты функции Выражение ndash любое выражение содержащее до-ступные системе операторы и функции с операндами и аргумента-ми указанными в списке параметров

134 Ранжирование переменных

Ранжированные переменные ndash особый класс переменных который в системе MathCAD зачастую заменяет управляющие структуры называемые циклами Эти переменные имеют ряд фик-сированных значений с определенным шагом меняющихся от начального значения до конечного

Ранжированные переменные характеризуются именем и ин-дексом каждого своего элемента Например Name Nbegin Nend

где Name ndash имя переменной Nbegin ndash ее начальное значение Nend ndash конечное значение ndash символ указывающий на изменение переменной в заданных пре-делах (он вводится знаком точки с запя-той ) Если Nbegin Nend то шаг изменения переменной будет +1 в про-тивном случае ndash ( 1 )

26

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

Step заданный шаг переменной

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

Любое выражение с ранжиро-ванными переменными после знака равенства инициирует таблицу вы-

вода Полезно учитывать некоторые свойства таблиц вывода minus число строк в них не может быть больше 50 minus числа в таблицах можно задавать в требуемом формате с по-

мощью операций задания формата чисел minus при использовании в таблице единиц размерности все дан-

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

jX выводится обычная таблица вывода

X выводится вектор если число его элементов меньше 10 X выводится таблица вывода со слайдером если число эле-

ментов вектора больше 10 В таблице вывода можно и вставлять числовые значения и

корректировать их Индексированные переменные образующиеся в результате за-

дания ранжированных переменных могут применяться в последу-ющих формульных блоках

Однако при этом необходимо соблюдать соответствие результа-тов (конечных и промежуточных) векторному типу этих переменных Необходимо помнить что ранжированная переменная minus это вектор

Обратите внимание что в приведенном примере ранжирован-ная переменная i принимает значения 1 2 3 и 4 А вектор g опреде-ленный через ранжированную переменную i содержит 5 элементов

27

Это связано с тем что по умолчанию началом отсчета индексов в MathCAD является нуль

135 Массивы (векторы матрицы)

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

Индексация элементов массивов Порядковый номер эле-мента который является его адресом называется индексом

Нижняя граница индексации задается значе-нием системной переменной ORIGIN которая может принимать значение 0 или 1 Для смены начала индексации можно прямо в документе присвоить переменной ORIGON соответствующее значение или сделать это через позицию Math

главного меню подменю Options используя вкладку Build-In Variables (Встроенные переменные)

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

числовые значения элементов они раз-личны по типу и при использовании да-дут разные результаты при векторных и матричных операциях Для ввода векторов и матриц можно

использовать кнопку панели набор-ных математических элементов Matrix

28

которая в свою очередь включается нажатием соответствующей кнопки на панели Math Но гораздо проще использовать сочетание клавиш [Ctrl+M] Оба вышеуказанных действия приводят к появле-нию диалогового окна Insert Matrix в котором необходимо указать число строк и столбцов для вводимой матрицы (вектора)

В результате в документе появляется шаблон матрицы который можно заполнить требуемыми данными Пере-ход от символа к символу внутри шаблона совершается с помощью клавиши Tab (Табуляция)

Массив можно определить и вручную поэлемент-но Для указания нижнего индекса используется клави-

ша [ (квадратная скобка) Если индекс двойной (у матрицы) то ин-дексы вводятся через запятую

Заполнение массивов может быть организовано с помощью ранжированных переменных и функций пользователя

136 Операторы системы MathCAD

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструи-рования математических выражений В табл 1113 приведены раз-личные операторы системы MathCAD

29

Таблица 11 Арифметические операторы

Оператор Ввод Назначение оператора X Y X Y Локальное присваивание X значения Y

X Y X Y Глобальное присваивание X значения Y X X Вывод значения X

X X Смена знака X X Y X Y Суммирование X с Y X Y X Y Вычитание из X значения Y

X Y X Y Умножение X на Y X Y X Y Деление X на Y

YX ^X Y Возведение X в степень Y

X X Вычисление квадратного корня из X X X Вычисление факториала

Z | Z Вычисление модуля комплексного Z

Z Z ldquo Вычисление комплексно-сопряженного с Z числа () lsquo Ввод пары круглых скобок с шаблоном ( ( Ввод открывающей скобки ) ) Ввод закрывающей скобки

nX X n Ввод нижнего индекса n nX X Ctrl n Ввод верхнего индекса n

Таблица 12 Расширенные арифметические операторы

Оператор Ввод Назначение оператора $ Вычисление суммы

Вычисление произведения

f Вычисление производной b

a

amp Вычисление определенного интеграла

Применение расширенных операторов значительно облегчает решение математических задач

Таблица 13 Операторы отношения (логические операторы)

Оператор Ввод Назначение оператора X Y X Y X больше Y X Y X Y X меньше Y X Y X Ctrl Y X больше или равно Y

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

X Y X Ctrl Y X не равно Y X Y X Ctrl Y X равно Y

30

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

137 Программные операторы в MathCAD

В системе MathCAD можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами Это реализуется использованием встроенных программных операторов похожих на используемые в различных языках программирования (рис 6) Как видно на рис 7 и 8 где вычисляется факториал про-граммный модуль в системе MathCAD превратился в самостоятель-ный блок причем при необходимости выполнить несколько опера-торов их объединяют жирной вертикальной чертой

Рис 6 Рис 7 Рис 8

Модуль может вести себя как безымянная функция без пара-

метров но возвращающая результат ndash первый пример Программ-ный модуль может выполнять и роль тела функции пользователя с именем и параметрами ndash второй пример

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

Add Line ndash создает и при необходимости расширяет жирную вертикальную линию справа от которой в шаблонах задается запись программного блока

31

ndash символ локального присваивания (в теле модуля) if ndash условный оператор for ndash оператор задания цикла с фиксированным числом повто-

рений while ndash оператор задания цикла действующего до тех пор по-

ка выполняется некоторое условие otherwise ndash оператор иного выбора (обычно применяется с if) break ndash оператор прерывания continue ndash оператор продолжения return ndash оператор возврата on error ndash оператор обработки ошибок Оператор добавления линии Add Line выполняет функции

расширения программного блока Расширение фиксируется удлине-нием вертикальной черты программных блоков или их древовид-ным расширением Благодаря этому в принципе можно создавать сколь угодно большие программы

Оператор внутреннего присваивания выполняет функ-ции внутреннего локального присваивания Например выражение

123x присваивает переменной x значение 123 Локальный харак-тер присваивания означает что такое значение х сохраняет только в теле программы За пределами тела программы значение перемен-ной х может быть неопределенным либо равно значению которое задается вне программного блока операторами локального = или глобального присваивания

Условный оператор if является оператором для создания условных выражений Он задается в виде

Выражение if Условие Если условие выполняется то возвращается значение выраже-

ния Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise

Оператор цикла for служит для организации циклов с задан-ным числом повторений Он записывается в виде

for Var NminhellipNmax

Эта запись означает что выражение помещенное в распо-ложенный ниже заменитель будет выполняться для значений переменной Var меняющихся от Nmin до Nmax с шагом +1 Пере-менную счетчика Var можно использовать в исполняемом выра-жении

32

Оператор цикла while служит для организации циклов дей-ствующих до тех пор пока выполняется некоторое условие Этот оператор записывается в виде

while Условие

Выполняемое выражение записывается на место расположен-ного ниже заполнителя

Оператор иного выбора otherwise обычно используется сов-местно с оператором if Это поясняет следующая программная кон-струкция

1 0

1

if xf x

otherwise

Здесь f x получает значение 1 если 0x и ndash1 во всех

остальных случаях Оператор прерывания break вызывает прерывание работы про-

граммы всякий раз когда он встречается Чаще всего он использу-ется совместно с оператором условного выражения if и операторами циклов while и for обеспечивая переход в конец тела цикла

Оператор продолжения continue используется для продолже-ния работы после прерывания программы Он также чаще всего ис-пользуется совместно с операторами задания циклов while и for обеспечивая возвращение в точку прерывания и продолжение вы-числений

Оператор возвращения return прерывает выполнение про-граммы и возвращает значение операнда стоящего следом за ним Например конструкция

0 0return if x

будет возвращать значение 0 при любом 0x Оператор и функция обработки ошибок позволяют создавать

конструкции обработчиков ошибок Этот оператор задается в виде

_1 _ 2Выражение on error Выражение

Здесь если при выполнении _1Выражения возникает ошибка то выполняется _ 2Выражение Для обработки ошибок полезна так-

же функция error S которая будучи помещенной в программный

модуль при возникновении ошибки выводит всплывающую под-сказку с надписью хранящейся в символьной переменной S

33

Программный модуль в сущности является функцией но опи-санной с применением упомянутых программных средств Она воз-вращает значение определяемое последним оператором (если не предусмотрено иное с помощью оператора return) Это значит что после такого модуля выделенного как целый блок можно поста-вить знак равенства для вывода результата его работы (см рис 8) В блоке могут содержаться любые операторы и функции входного языка системы Для передачи в блок значений переменных можно использовать переменные документа которые ведут себя в блоке как глобальные переменные

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

14 Настройка MathCAD для работы

141 Настройка параметров вычислений

Для настройки параметров вычислений необходимо выбрать команду Options (Параметры) меню Math (Математика) При этом на экране появится диалоговое окно (Свойства) содержащее сле-дующие вкладки

Built-In Variabls (Встроенные переменные) ndash позволяет уста-новить значения встроенных системных переменных влияющих на точность вычислений и параметры некоторых функций системы

Calculation (Вычисление) ndash эта вкладка содержит две опции задающие режим автоматических вычислений и оптимизации вы-ражений перед вычислением

Display (Отображение) ndash позволяет форматировать вид сим-волов отображающих основные операторы системы (умножение деление локальное и глобальное присваивание и др)

34

Unit System (Система единиц) ndash позволяет выбрать систему единиц для размерных величин SI MKS CGS Us и None (не ис-пользуется ни одна из этих систем)

Dimensions (Размерность) ndash позволяет изменить формат раз-мерных величин (на вкладке содержится их перечень) Для этого надо laquoвключитьraquo опцию Display Dimensions (Просмотр размерно-стей)

Остановимся подробнее на изучении параметров вкладки Built-In Variabls (Встроенные переменные) Здесь можно изменить значения системных констант и переменных К ним относятся

Array Origin (ORIGIN) ndash начальное значение для индексов Например трехмерный вектор v при ORIGIN=0 (по умолчанию) имеет компоненты v0 v1 v2

Convergence Tolerance (TOL) ndash допустимое отклонение MathCАD использует эту переменную при различных численных расчетах таких как вычисление определенных интегралов и при решении уравнений с использованием функций root и polyroots По умолчанию TOL=10minus3

Constraint Tolerance (CTOL) ndash задает точность вычислений при использовании блока решений уравнений и систем Блок начинается со слова Given и заканчивается словами Find Minerr и др По умол-чанию CTOL = 10minus3

Seed value for random numbers ndash определяет интервал от 0 до указанного в поле значения из которого функция rnd(x) генери-рует x случайных чисел Возможность менять этот интервал позво-ляет получать разные последовательности случайных чисел

35

Presision (PRNPRESISION) ndash задает точность числовых значений которые помещаются в файл создаваемый функцией WRITEPRN

Column Width (PRNCOLWIDTH) ndash задает ширину столбца (в символах) при создании файлов с помощью функции WRITEPRN

Кнопка Restore Defaults (Восстановить по умолчанию) позво-ляет вернуть стандартно установленные в системе MathCAD пара-метры вычислений (те те что установлены по умолчанию) если внесенные вами изменения в системные переменные вас не устраи-вают Значения переменных по умолчанию указаны справа от по-лей предназначенных для ввода

142 Форматирование результатов вычислений

MathCAD представляет результаты вычислений в определен-

ном формате Этот формат включает в себя например число знаков после запятой величину начиная с которой используется экспонен-циальное представление чисел символ i или j для представления мнимой единицы и многое другое Чтобы задать формат представ-ления результатов вычислений надо выбрать команду Result (Ре-зультат) меню Format (Формат) В результате на экране появится диалоговое окно Result Format содержащее несколько вкладок

На вкладке Number format (Формат числа) находятся Поле Number of decimal places (Число десятичных знаков)

в котором задается количество отображаемых знаков после запятой (по умолчанию ndash 3)

36

Опция Show trailing zeroz (Показывать конечные нули) если установлена эта опция все числа будут отображаться с тем количе-ством знаков после запятой которое указано в поле Number of decimal places даже если без этого можно обойтись В этом случае число 5 будет иметь вид 5000 а число 0 ndash 0000

Поле Exponential threshold (Порог экспоненты) здесь необ-ходимо задать целое число n Оно указывает что числа x для кото-

рых справедливы неравенства 10nx и 110 nx представляются

в экспоненциальной форме Числу n можно присваивать значения от 0 до 15 по умолчанию 3n MathCAD производит вычисления с точностью 15 знаков после запятой

Опция Show exponents in engeneering format (Показывать экс-поненты в инженерном формате) всегда представляет число в экспоненциальном формате если показатель степени больше 3 или меньше 3 выделяя при этом 3 целых и 3 десятичных разряда В противном случае число отображается в явном виде например число 2233446 при включении опции будет выглядеть как

3223344 10 Список Format (Формат) ndash позволяет выбрать формат пред-

ставления чисел Выделим среди указанных в списке формат Decimal ndash при его выборе результат никогда не представляется в экспоненциальной форме Остальные форматы могут представлять числа в экспоненциальной форме Более подробно с видами форма-тов можно познакомиться нажав кнопку Справка

На вкладке Tolerance (Допуск) находятся поля Complex threshold (Комплексный порог) и Zero threshold (Нулевой порог)

Целое число n заданное в поле Complex threshold указывает что комплексные числа z для которых справедливо неравенство

Re Im 10 nz z представляются как чисто мнимые Числа для

которых Im Re 10 nz z ndash как действительные При вычисле-

ниях MathCAD не пренебрегает даже незначительной мнимой Чис-лу n можно присваивать значения от 0 до 63 по умолчанию 10n

Целое число n заданное в поле Zero threshold указывает что

числа x для которых справедливо неравенство 10 nx принимают-

ся равными 0 Числу n можно присваивать значения от 0 до 307 по

умолчанию 15n Для комплексных чисел у которых Re 10 nz

действительная часть принимается равной нулю то же самое спра-

37

ведливо и для мнимой части Значение заданное в поле Zero threshold действительно для всего документа

Вкладка Display Options содержит следующие поля и опции Matrix display style (Стиль отображения матриц) ndash выпада-

ющий список позволяет установить отображение матриц в стан-дартном математическом виде ndash Matrix в виде таблицы ndash Table либо предоставляет выбрать стиль представления матриц системе MathCAD ndash Automatic

При этом если матрица содержит менее 10 строк и столбцов она представляется в стандартном виде матрицы в противном слу-чае ndash в виде таблицы с полосами прокрутки По умолчанию уста-новлена опция Automatic

Опция Expand nested arrays (Развернуть вложенные массивы) ndash позволяет явно вывести элементы матрицы представляющие в свою очередь матрицы

Поле Imaginary value (Мнимая единица) ndash позволяет определить символ который будет использоваться для обозначения мнимой едини-цы (i или j)

В поле списка Radix (Система) ndash можно выбрать десятичную двоичную восьмеричную

или шестнадцатеричную систему счисления Вкладка Unit display (Отображение единиц измерения) со-

держит две опции Format Units (Формат единиц) ndash включает отоб-ражение единиц измерения Simplify units when possible ndash включает упрощение единиц измерения (если это возможно)

38

Окно Result Format можно открыть двойным щелчком на чис-ле представляющем собой результат вычислений

Если вы хотите увидеть точное значение некоторого числа не изменяя его формата выделите это число и нажмите клавиши [Ctrl+Shift+N] В строке состояния вы увидите данное число с 15 зна-ками после запятой

Если вы хотите применять выполненные установки и в других документах вам необходимо открыть соответствующий файл шаб-лона с расширением MCT из папки TEMPLATE и произвести в нем нужные изменения Кроме того вы можете сохранить текущий до-кумент как шаблон

39

2 ОПЕРАТОРЫ MATHCAD

21 Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD со-держит ряд операторов (табл 14) и функций Введем следующие обозначения для векторов ndash V для матриц ndash M и для скалярных ве-личин ndash Z

Таблица 14 Векторные и матричные операторы

Оператор Ввод Назначение оператора 1 2V V 1 2V V Сложение двух векторов V1 и V2 1 2V V 1 2V V Вычитание двух векторов V1и V2

V V Смена знака у элементов вектора V M M Смена знака у элементов матрицы M

V Z V Z Вычитание из вектора V скаляра Z Z V V Z Z V V Z Умножение вектора V на скаляр Z

MZ MZ MZ MZ Умножение матрицы M на вектор V 1 2V V 1 2V V Умножение двух векторов V1 и V2

M V M V Умножение матрицы M на вектор V M1M2 M1M2 Умножение двух матриц M1 и M2

V Z V Z Деление вектора V на скаляр Z M Z M Z Деление матрицы M на скаляр Z

1M M ^ 1 Обращение матрицы M

Mn M ^ n Возведение матрицы M в степень n

V Вычисление квадратного корня из μV

M Вычисление определителя матрицы M TV V Ctrl Транспонирование вектора V TM M Ctrl Транспонирование матрицы M

1 2V V 1 2V Ctrl V Кросс-умножение двух векторов V1 и V2 V rdquo Получение комплексно-сопряженного вектора Mrdquo Получение комплексно-сопряженной матрицы Alt $ V Вычисление суммы элементов вектора V V -Ctrl Векторизация вектора V M -Ctrl Векторизация матрицы M

M n M ^ nCtrl Выделение n-го столбца матрицы M

nV V n Выделение n-го элемента вектора V

Mm n M m n Выделение элемента (m n) матрицы M

Под понятием laquoвекторизацияraquo подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы Это можно понимать и как возможность параллельных вычислений

40

Если А и В ndash векторы то АВ дает скалярное произведение этих векторов Но то же произведение под знаком векторизации со-здает новый вектор каждый j-й элемент которого есть произведение j-х элементов векторов А и В Векторизация позволяет использовать скалярные операторы и функции с массивами

22 Векторные и матричные функции

Векторные и матричные функции представлены в виде табл 15 16

Таблица 15 Векторные функции

lenght V Возвращает длину вектора

last V Возвращает индекс последнего элемента

max V Возвращает максимальный по значению элемент

min V Возвращает минимальный по значению элемент

Re V Возвращает вектор действительных частей вектора с комплексными элементами

Im V Возвращает вектор мнимых частей вектора с комплексными элементами

i j k

Полностью асимметричный тензор третьей размерности i j k должны быть целыми числами от 0 до 2 (или между gt ORIGIN и ORIGIN+2 если ORIGINne0) Результат равен 0 если любые два аргумента равны 1 ndash если три аргумента являются четной перестановкой (0 1 2) и минус 1 если три аргумента являются перестановкой (0 1 2) кратной 2 и некратной 4

Таблица 16 Матричные функции

Augment (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие оди-наковое число строк (объединение идет laquoбок о бокraquo)

identity (n) Создает единичную квадратную матрицу размером nn

stack (M1 M2) Объединяет в одну матрицы М1 и М2 имеющие одинаковое число столбцов располагая М1 над М2

Submatrix (A ir jr ic jc) Возвращает субматрицу состоящую из всех элементов содержащихся в строках с ir по jr и столбцов с ic по jc (irJjr и icJjc)

diag (V) Создает диагональную матрицу элемент главной диагонали которой ndash вектор V

matrix (m n f) Матрицу в которой (i j)-й элемент содержит f(i j) где i = 0 1 hellip m и j = 0 1 hellip n

Re (M) Возвращает матрицу действительных частей матрицы М с комплексными элементами

Im (M) Возвращает матрицу мнимых частей матрицы М с комплексными элементами

41

23 Функции возвращающие специальные характеристики матриц

Эти функции представлены в виде табл 17

Таблица 17

Функции возвращающие специальные характеристики матриц

сols(M) Возвращает число столбцов матрицы М rows (M) Возвращает число строк матрицы М rank (M) Возвращает ранг матрицы М

tr (M) Возвращает след (сумму диагональных элементов) квадратной матрицы М

mean (M) Возвращает среднее значение элементов массива М median (M) Возвращает медиану элементов массива М

cond1 (M) Возвращает число обусловленности матрицы вычисленное в норме L1

cond2 (M) Возвращает число обусловленности матрицы вычисленное в норме L2

conde (M) Возвращает число обусловленности матрицы вычисленное в норме евклидова пространства

condi (M) Возвращает число обусловленности матрицы основанное на равномерной норме

norm1 (M) Возвращает L1 норму матрицы М norm2 (M) Возвращает L2 норму матрицы М norme (M) Возвращает евклидову норму матрицы М normi (M) Возвращает неопределенную норму матрицы М

24 Дополнительные матричные функции Такие функции представлены в виде табл 18

Таблица 18

Дополнительные матричные функции

eigenvals (M) Возвращает вектор содержащий собственные значения матрицы М

eisenvec (M Z) Для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

eigenvecs (M)

Возвращает матрицу столбцами которой являются собствен-ные векторы матрицы М (порядок расположения собствен-ных векторов соответствует порядку собственных значений возвращаемых функцией eigenvals)

42

Окончание табл 18

genvals (M N) Возвращает вектор обобщенных собственных значений v соответствующий решению уравнения M x = vi ndash N minus x (матрицы М и N должны быть вещественными)

genvals (M N) Возвращает матрицу столбцы которой содержат нормированные обобщенные собственные векторы

+ lu (M) Выполняет треугольное разложение матрицы М P M = L U L и U minus соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные одного порядка

+ qr (A) Дает разложение матрицы A A = Q R где Q minus ортогональная матрица и R minus верхняя треугольная матрица

+ svd (A)

Дает сингулярное разложение матрицы А размером n times m A = = U S middotVT где U и V minus ортогональные матрицы размерностей mmiddotm и n times n соответственно S minus диагональная матрица на диагонали которой расположены сингулярные числа матрицы А

+ svds (A) Возвращает вектор содержащий сингулярные числа матрицы А размером m times n

Egeninv (A)

Возвращает матрицу левую обратную к матрице А LmiddotA=E где E ndash единичная матрица размером n times n L ndash прямоугольная матрица размером n times m A ndash прямоугольная матрица размером m times n

25 Функции сортировки для векторов и матриц

Функции сортировки представлены в табл 19

Таблица 19

Функции сортировки для векторов и матриц

Vsort Сортировка элементов векторов в порядке возрастания их значений

Vreverse Перестановка элементов (после sort) в обратном порядке

Mcsort n Перестановка строк матрицы М таким образом чтобы отсортированным оказался n-й столбец

Mrsort n Перестановка строк матрицы М таким образом чтобы отсортированной оказалась n-я строка

43

3 ГРАФИКА MATHCAD

31 Двухмерные графики в декартовой системе координат

MathCAD позволяет легко строить двух- и трехмерные гисто-граммы двухмерные графики в декартовых и полярных координа-тах трехмерные графики поверхностей линии уровня поверхно-стей изображения векторных полей пространственные кривые Существует три способа построения графиков в системе MathCAD

minus можно воспользоваться позицией Главного меню Insert вы-брав команду Graph и в раскрывающемся списке minus тип графика

minus выбрать тип графика на наборной панели Graph которая включается кнопкой на панели Math

minus воспользоваться быстрыми клавишами (они предусмотрены не для всех типов графиков)

Рассмотрим более подробно команды меню Insert Graph наборной панели Math

X-Y Plot (X-Y Зависимость) клавиша [] Служит для по-строения графика функции y = f(x) в виде связанных друг с другом пар координат (xi yi) при заданном промежутке изменения для i

Polar Plot (Полярные координаты) клавиши [Ctrl+7] Служит для построения графика функции r(q) заданной в полярных координатах где полярный радиус r зависит от полярного угла q

Surface Plot (Поверхности) клавиши [Ctrl+2] Служит для представления функции z = f(x y) в виде поверхности в трехмерном пространстве При этом должны быть заданы векторы значений xi и yj а также определена матрица вида Aij = f(xi yj) Имя матрицы A указывается при заполнении рамки-шаблона С помощью этой ко-манды можно строить параметрические графики

Contour Plot (Контурный график) Строит диаграмму ли-ний уровня функции вида z=f(xy) те отображает точки в которых данная функция принимает фиксированное значение z = const

3D Scatter Plot (3D Точечный) Служит для точечного пред-ставления матрицы значений Aij или отображения значений функ-ции z=f(xy) в заданных точках Эта команда может также использо-ваться для построения пространственных кривых

3D Bar Plot (3D Диаграммы) Служит для представления матрицы значений Aij или отображения значений функции z = f(x y) в виде трехмерной столбчатой диаграммы

44

Vector Field Plot (Поле векторов) Служит для представле-ния двухмерных векторных полей V=(Vx Vy) При этом компоненты векторного поля Vx и Vy должны быть представлены в виде матриц С помощью этой команды можно построить поле градиента функ-ции f(x y)

3D Plot Wizard (вызов мастера для быстрого построения трех-мерного графика) При выборе этой команды возникает ряд всплы-вающих окон в которых требуется выбрать параметры построения трехмерного графика (задаются тип трехмерного графика стиль его изображения цветовая гамма) График по умолчанию строится на промежутке от minus5 до +5 (по обеим переменным)

311 График функции у = f(x)

При выполнении команды Insert Graph Plot (или нажать соответствующую кнопку наборной панели) в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика (Клавиша [])

В ячейке расположенной под осью абсцисс указывается неза-висимая переменная x Ее следует определить заранее как перемен-ную принимающую значения из промежутка (ранжированная пере-менная)

В ячейке рядом с осью ординат необходимо задать функ-

цию f x график которой мы хотим построить Если эта функция

была определена заранее то в ячейку достаточно ввести f x в

противном случае следует ввести изображаемую функцию в явном виде (например cos x )

После ввода x и f x в графической области появятся еще че-

тыре ячейки которые не обязательно заполнять MathCAD автома-

45

тически находит подходящие значения для xmin xmax ymin ymax Если же предлагаемые MathCAD значения вас не устраивают вы можете задать свои

В MathCAD существует возможность строить график функ-ции не задавая предварительно промежуток изменения независи-мой переменной По умолчанию этот промежуток принимается рав-ным 1010

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

312 Кривые на плоскости заданные параметрически

Уравнения x f t y y t где f t и y t непрерывны

при t из a b устанавливающие зависимость декартовых коорди-

нат x y точки плоскости от значения параметра t определяют на

плоскости кривую заданную в параметрической форме

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

независимой переменной x под осью абсцисс необходимо задать индексированную переменную xi а рядом с осью ординат необхо-димо соответственно указать yi

46

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

313 Редактирование графиков в декартовой системе координат

Если вас не устраивает внешний вид построенных графиков вы можете его изменить выделив график (выполнив на нем щелчок так чтобы вокруг него появилась рамка) и воспользовавшись ко-мандой - Format Graph X Y Plot или выполнив на графике щелчок правой кнопкой мыши и выбрав команду Format из выпа-дающего контекстного меню (можно выполнить также двойной щелчок левой кнопкой мыши) В результате на экране появится диалоговое окно Formatting Currently Selected X-Y Plot позволяю-щее изменить вид графика

Данное диалоговое окно содержит несколько вкладок X-Y Axes (форматирование осей) Traces (тип линий графиков) Labels (подписи) Defaults (по умолчанию)

Первая из вкладок позволяет форматировать оси координат Log Scale (Логарифмическая шкала) ndash задает логарифмические

оси в этом случае границы графика должны задаваться положи-тельными числами

Grid Lines (Вспомогательные линии) ndash задает отображение сетки из параллельных осям линий

47

Numbered (Нумерация) ndash задает отображение подписи к мар-кировкам на осях

Autoscale (Автомасштаб) ndash задает автоматическое нахожде-ние подходящих границ для осей Но если вы сами зададите в соот-ветствующих ячейках минимальные и максимальные значения xmin xmax ymin ymax именно эти значения будут использоваться для опре-деления границ графика

Show Markers (Показать метки) ndash если установить эту опцию то в графической области появятся четыре дополнительные ячейки для создания красных линий маркировки соответствующих двум специальным значениям x и двум специальным значениям y

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Axes Style (Вид осей) ndash группа кнопок этой области позволяет выбрать следующие варианты представления осей Boxed (Ограни-ченная область) Crossed (Пересечение) ndash оси пересекаются в точке с координатами (00) None (Без границ) Флажок Equal Scales (Равный масштаб) позволяет задать одинаковый масштаб для обеих осей

Форматирование оси графика можно произвести выполнив на ней двойной щелчок

Для изменения типа линий графиков необходимо активизиро-вать вкладку Traces (След)

Legend Lable (Имя в легенде) ndash каждой кривой можно поста-вить в соответствие некоторый текст называемый легендой Леген-да отображается в нижней части графической области а рядом с каждой легендой отображается тип линии соответствующей кривой

Symbol (Символ) ndash позволяет выбрать символ для каждой точ-ки кривой (плюс крестик кружок и др)

48

Line (Линия) ndash можно выбрать один из следующих типов ли-ний solid (сплошная) dash (штриховая) dot (точечная) или dadot (штрихпунктирная) Это поле списка доступно в случае если в поле Type (Тип) выбран элемент lines

Color (Цвет) ndash задается цвет представления кривой на экране Type (Тип) ndash позволяет выбрать один из семи видов графика в

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

Weight (Вес) ndash позволяет задавать толщину линий графика В нижней части вкладки Traces расположены опции Hide

Arguments (Скрыть аргументы) ndash эта опция по умолчанию отклю-чена В этом случае под именем функции рядом с осью ординат ука-зывается текущий тип линий Если установить данную опцию ука-зание типа линий исчезнет

Hide Legend (Скрыть легенду) ndash по умолчанию легенда не

отображается Если вы хотите отобразить под графиком текст ле-генды его надо перед этим ввести в поле Legend Lable (Имя в леген-де) и подтвердить ввод выполнив щелчок на кнопке Применить Вкладка Labels (Метки) позволяет ввести заголовок графика и подписи для осей

49

В подменю Graph (Графика) меню Format (Формат) содер-жатся кроме прочих следующие команды

Trace (След) ndash при перемещении в области графика указателя

мыши при нажатой левой кнопке в полях X-Value (значение X) Y-Value (значение Y) диалогового окна X-Y Trace отображаются ко-ординаты точки на которую указывает курсор Если установлена опция Track Data Points (След точек данных) то курсор-крестик бу-дет перемещаться вдоль графика функции и вы сможете считывать текущее значение аргумента x и соответствующее значение функ-ции y=f(x) Координаты текущей точки можно скопировать в буфер с помощью кнопок Copy X (Копировать Х) Copy Y (Копировать Y)

Zoom (Изменение масштаба) ndash с помощью этой команды можно увеличить фрагмент графика предварительно выделив его протаскиванием мыши с нажатой левой клавишей После отпус-кания клавиши координаты углов выделенной области будут отображены в полях окна X-Y Zoom С помощью кнопки Zoom (Масштаб +) фрагмент можно увеличить с помощью кнопки Unzoom (Масштаб ndash) отменить выделение фрагмента а с помощью кнопки Full View (Обзор) ndash восстановить первоначальный вид графика Если вы увеличили фрагмент графика то при щелчке на кнопке OK в документе будет отображаться только этот фрагмент

50

32 Двухмерные графики в полярной системе координат

321 Построение полярных графиков

Для построения полярного графика необходимо выполнить

команду Insert Graph Polar Plot При этом в документ поме-щается графическая область с двумя незаполненными ячейками для построения графика (клавиши [Ctrl +7])

В нижнюю ячейку вводится полярный угол q Его следует определить заранее как переменную принимающую значения из промежутка (ранжированная переменная)

В левую ячейку вводится полярный радиус r q или Re r q и Im r q

Функция r q либо задается заранее ли-

бо ее определение вводится непосред-ственно в ячейку

График в полярных координатах можно построить и посредством команды

X Y Plot Только в этом случае необхо-димо дополнительно задать следующие функции х(q) = r(q)cos(q) и y(q) = r(q)sin(q) а в ячейках для абсцисс и ординат указать соответственно х(q) и y(q)

Если для некоторых углов q функ-ция не определена (не существует радиу-са с действительным значением он принимает чисто мнимые значе-ния) то MathCAD отображает на графике только действительные значения радиуса Но с помощью функций Re и Im можно предста-вить на одной круговой диаграмме графики как действительной так и мнимой части функции r q

322 Форматирование полярных графиков

Если вы хотите отредактировать график в полярных координа-тах необходимо выделить график (щелчком левой кнопки мыши) и выполнить команду Format Graph Polar Plot или выполнить

51

двойной щелчок на выделенном графике При этом откроется окно Formatting Currently Selected Polar Plot (Форматирование полярного графика) Это окно содержит те же вкладки что и для графиков в декартовой системе координат

Вкладка Polar Axes содержит следующие элементы Log Scale (Логарифмическая шкала) ndash используется для созда-

ния логарифмической r-оси Grid Lines (Вспомогательные линии) ndash отображает сетку ли-

ний соответствующих равенствам constr и constq Numbered (Нумерация) ndash линии constr и constq снабжа-

ются подписями Show Markers (Показать метки) ndash с помощью этой опции

можно снабдить график двумя дополнительными пунктирными окружностями constr Для этого надо ввести нужные значения радиуса в появившиеся ячейки Кроме того справа от графика ука-зываются минимальный и максимальный радиусы можно увеличить или уменьшить график введя в эти ячейки собственные значения

Auto Grid (Автосетка) ndash при установке этой опции число ли-ний сетки определяет MathCAD

Остальные значения параметров на этой вкладке и на других вкладках те же самые что и в случае команды - X Y Plot

52

33 Построение графика функции z = f (x y) в виде поверхности в декартовой

системе координат

Для построения графика поверхности можно воспользоваться двумя способами

Если вам надо только посмотреть общий вид поверхности то MathCAD предоставляет возможность быстрого построения подобных графиков Для этого достаточно определить функцию f x y и выполнить команду Insert

Graph Surface Plot или нажать со-ответствующую кнопку наборной пане-ли Graph (сочетание клавиш [Ctrl+7]) В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции MathCAD автоматически построит гра-фик поверхности Независимые переменные x и y принимают значе-ния из промежутка 5 5 При необходимости этот промежуток мо-

жет быть уменьшен или увеличен Для этого необходимо выделить график и воспользоваться командой 3 Format Graph D Plot или щелкнуть правой кнопкой мыши по выделенному графику и в кон-текстном меню выбрать команду Format В появившемся окне 3 D Plot Format на вкладке Quick Plot Data можно установить другие параметры изменения независимых переменных x и y

53

Для построения графика поверхно-сти в определенной области изменения независимых переменных или с кон-кретным шагом их изменения необхо-димо сначала задать узловые точки ix и

jy в которых будут определяться зна-

чения функции После (а можно и до) этого надо определить функцию f x y график которой хотите постро-

ить Затем необходимо сформировать

матрицу значений функции в виде i j i jA f x y

Теперь после выполнения команды Insert Graph Surface Plot в появившейся графической области достаточно ввести имя матри-цы (без индексов)

Если вы хотите чтобы узловые точки были расположены че-рез равные промежутки воспользуйтесь формулами

Для построения графика линий

уровня данной функции необходимо по-ступать так же как это было описано вы-ше только вместо команды (Поверхно-сти) следует выбрать команду Contour Plot (Контурный)

Аналогично с помощью команды 3 D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции с помощью команды

54

3 D Scatter Plot (3D Точечный) ndash трехмерный точечный график а с помощью команды 3 D Patch Plot (3D Лоскутный) ndash трех-мерный график поверхности в виде несвязанных квадратных пло-щадок ndash плоскостей уровня для каждой точки данных параллель-ных плоскости XY

Если поверхность задана параметрически это означает что все три координаты x y и z заданы как функции от двух параметров u и v Сначала необходимо задать векторы значений параметров iu и jv Затем необходимо определить матрицы значений функций ко-

ординат x u v y u v и z u v

После выбора команды Surface Plot в MathCAD-документе появится гра-фическая область В свободной ячейке внизу области надо указать в скобках имена (без аргументов и индексов) трех матриц ndash x y z

А А

55

34 Форматирование трехмерных графиков

Если вас не устраивает внешний вид созданного трехмер-ного графика вы можете изменить его выполнив команду

3 Format Graph D Plot или выполнив двойной щелчок мышкой на графической области В результате на экране появится диалого-вое окно 3 D Plot Format позволяющее изменять параметры отоб-ражения графика Мы рассмотрим здесь основные опции Разо-браться во всех тонкостях управлением видом графика вы можете самостоятельно построив график и поэкспериментировав выбирая те или иные опции

Диалоговое окно 3 D Plot Format содержит несколько вкладок Некоторые из них мы рассмотрим более подробно а для других minus опишем лишь их функциональное назначение

На вкладке General (Общие свойства) вы можете в области View задать направление взгляда наблюдателя на трехмерный график Значение в поле Rotation определяет угол поворота вокруг оси Z в плоскости XY Значение в поле Tilt задает угол наклона ли-нии взгляда к плоскости XY Поле Zoom позволяет увеличить (уменьшить) графическое изображение в число раз равное цифре указанной в поле

ndash в области Axes Style (Стиль оси) задать вид осей выбрав се-лекторную кнопку Perimetr (Периметр) или Corner (Угол)

В первом случае оси всегда находятся на переднем плане При выборе кнопки Corner точка пересечения осей Ox и Oy задается элементом A00 матрицы A

56

ndash в области Frames опция Show box (Каркас) предназначена для отображения вокруг графика куба с прозрачными гранями а опция Show border (Границы) позволяет заключить график в прямо-угольную рамку

ndash в области Plot 1 (Plot 2) Display as (Графикнесколько графи-ков отобразить как) имеются селекторные кнопки для представле-ния графика в других видах (контурный точечный векторное поле и др)

Элементы вкладки Axes (Ось) позволяют изменять внешний вид осей координат

Посредством опций области Grids (Сетки) можно отобразить на графике линии описываемые равенствами x y z = const

Если установлены опции Show Numbers (Нумерация) отобра-жаются метки на осях и подписи к ним

При этом рядом с осями Ox и Oy указываются не значения уз-ловых точек xi yj а значения индексов i и j в то время как ось Oz размечается в соответствии с промежутком которому принадлежат элементы матрицы значений Ai j

Если установлена опция Auto Grid (Автосетка) программа самостоятельно задает расстояние между соседними отметками на осях Вы можете сами указать число линий сетки если отключите указанную опцию

Если установлена опция Auto Scale (Автошкала) то MathCAD сам определяет границы построения графика и масштабы по осям Можно отключить данную опцию и для каждой оси самостоятельно задать пределы изменения переменных в полях Minimum Value (Ми-нимум) и Maximum Value (Максимум)

57

Вкладка Appearance (Внешний вид) позволяет изменять для каждого графика вид и цвет заливки поверхности (область Fill Options) вид цвет и толщину дополнительных линий на графике (область Line Options) наносить на график точки данных (опция Draw Points области Point Options) менять их вид размер и цвет

Вкладка Lighting (Освещение) при включении опции Enable Lighting (Наличие подсветки) позволяет выбрать цветовую схему для освещения laquoустановитьraquo несколько источников света выбрав для них цвет освещения и определив его направление

Вкладка Backplanes (Задние плоскости) позволяет изменить внешний вид плоскостей ограничивающих область построения цвет нанесение сетки определение ее цвета и толщины прорисовка границ плоскостей

На вкладке Special (Специальная) можно изменять параметры построения специфичные для различных типов графиков

Вкладка Advansed позволяет установить параметры печати и изменить цветовую схему для окрашивания поверхности графика а также указать направление смены окраски (вдоль оси Ox Oy или Oz) Включение опции Enable Fog (Наличие Тумана) делает график нечетким слегка размытым (полупрозрачным) При включении оп-ции Perspective (Перспектива) появляется возможность указать в соответствующем поле расстояние до наблюдателя

Вкладка Quick Plot Data обсуждалась ранее в начале раздела

35 Кривая в пространстве Трехмерные точечные графики можно использовать для по-

строения изображения пространственных кривых Пространствен-ные кривые задаются как правило в виде (x(t)y(t)z(t)) где t пред-ставляет собой непрерывный действительный параметр

58

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

и соединяющие их линии необходимо сначала определить три вектора координат ndash xi yi zi

Пространственная кривая создается командой 3 Insert D Graph Scatter Plot Можно использовать наборную панель Graph выбрав соответствующую пикто-грамму Для соединения точек необходимо на вкладке Appearance окна форматирова-ния графиков указать опцию Line

36 Векторные и градиентные поля

Команда Insert Graph Vector Field Plot (Поле векторов) служит для представления двумерных векторных полей v=(vx vy)

При этом векторное поле необходимо вначале определить как вектор-функцию двух координат ndash x и y Затем задаются векторы значений узловых точек x и y С помощью этих векторов компонен-ты векторного поля vx(xy) и vy(xy) генерируются в виде матриц значений vxi j и vyi j

59

Подобным образом можно построить градиентное поле ска-лярной функции f(x y)

Градиентное поле для функции двух переменных представляет собой двумерное векторное поле

Как и в остальных случаях внешний вид изображения вектор-ного поля можно легко изменить выполнив двойной щелчок в об-ласти графика и изменив требуемые опции в открывшемся диалого-вом окне 3 D Plot Format

37 Поверхности полученные вращением кривых вокруг осей

Интересные объемные фигуры мож-

но получить вращая некоторую кривую вокруг той или иной оси Построение этих фигур вращения сродни параметрически заданным поверхностям

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

60

38 Анимация в MathCAD

Для создания анимации строим график функции командой - X Y Plot из подменю Graph меню Insert Для анимации задается

промежуток изменения целочисленного параметра FRAME (по умолчанию от 0 до 9)

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

61

Теперь для создания анимации необходимо выполнить следу-ющие действия

1 Выбрать команду Animate из меню View При этом появится диалоговое окно Animate

2 Заключить построенный график в маркировочный прямо-угольник

3 Задать минимальное и максимальное значения параметра FRAME (поля From и To)

4 Задать в поле At количество воспроизводимых кадров в се-кунду

5 Выполнить щелчок на кнопке Animate При этом в диалого-вом окне вы увидите анимационные кадры

6 Чтобы воспроизвести анимацию щелкнуть на кнопке Play в появившемся окне Playback (Проигрыватель)

7 Чтобы внести изменения в анимацию выполнить щелчок на кнопке открытия меню в окне Playback

62

8 С помощью команды Save As можно сохранить анимацию в файле с расширением AVI

Встраивание анимации в MathCAD-до-кумент производится с помощью Windows Explorer Для этого необходимо

1 Запустить Windows Explorer 2 Выполнить в окне Windows Explorer

щелчок на имени AVI-файла 3 Перетащить AVI-файл в соответ-

ствующий MathCAD-документ 4 Воспроизвести анимацию можно посредством двойного

щелчка в графической области Анимацию можно также воспроизвести выполнив двойной

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

1 Выбрать команду Object из меню Insert 2 Установить опцию Создать из файла 3 Выбрать нужный AVI-файл с помощью кнопки Обзор 4 Установить опции Связь и В виде значка после чего выпол-

нить щелчок на кнопке OK

63

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба может привести к скачкообразному изменению размеров графика хотя на деле он должен меняться без скачков с дискретностью определяемой только изменением FRAME = 1 2 3 и тд

64

4 СИМВОЛЬНЫЕ ОПЕРАЦИИ

41 Возможности символьного процессора MathCAD

Системы компьютерной алгебры снабжаются специальным

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

Ядро символьного процессора системы MathCAD minus несколько упрощенный вариант ядра известной системы символьной матема-тики Maple V фирмы Waterloo Maple Software у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение благодаря чему MathCAD стала (начиная с версии 30) системой символьной математики

Введение в систему MathCAD символьных вычислений прида-ет ей качественно новые возможности которые отсутствовали у прежних версий системы Куда важней что символьные вычисле-ния выполняются в конечном счете столь же просто (для пользова-теля) как скажем вычисление квадрата х

Символьные вычисления в MathCAD могут быть реализованы тремя способами

minus с использование команд подменю позиции Symbolics (Сим-волика) главного меню

minus с использованием команд панели Symbolic включаемой

кнопкой на математической панели инструментов (Начиная с версии MathCAd 40 для активных символьных вычислений при-меняется термин SMARTMATH представляющий комбинацию слов smart и MathCAD что в буквальном смысле означает умный MathCAD)

minus с использованием команды Optimization позиции главного меню Math

65

42 Команды меню Symbolics

Операции относящиеся к работе символьного процессора со-держатся в подменю позиции Symbolics (Символика) главного меню

Чтобы символьные операции выполня-лись процессору необходимо указать над ка-ким выражением эти операции должны произ-водиться те надо выделить выражение Для ряда операций следует не только указать выра-жение к которому они относятся но и наме-тить переменную относительно которой вы-полняется та или иная символьная операция

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

Следует отметить некоторые особенности при работе с коман-дами меню Symbolics

Для символьных вычислений выражения необходимо указы-вать явно Например недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл Это существенное ограничение о котором надо всегда помнить Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath которая описывается в дальнейшем главное в том что для вывода символьных вычислений в этом слу-чае используется оператор

Иногда результат вычислений содержит встроенные в систему специальные математические функции в этом случае результат по-мещается в буфер обмена Используя команду Paste или клавишу F4 можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализировать полученный результат

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

66

Если операция невыполнима ndash система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изме-нений)

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

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

421 Операции с выделенными выражениями

Функции представлены в табл 20

Таблица 20

Операции с выделенными выражениями

Evaluate (Вычислить)

Преобразовать выражение с выбором вида преобразований из подменю

Simplify (Упростить)

Упростить выделенное выражение с выполнением таких операций как сокращение подобных слагаемых приведение к общему знаменателю использование основных тригонометрических тождеств и тд

Expand (Разложить по степеням)

Раскрыть выражение [например для (Х + Y) (Х minus Y) по-лучаем X 2minus Y 2]

Factor (Разложить на множители)

Разложить число или выражение на множители [например Х 2 minus Y 2 даст (Х + Y) (Х minus Y)]

Collect (Разложить по подвыражению)

Собрать слагаемые подобные выделенному выражению которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение полиномиальное относительно выбранного выражения)

Polynomial Coefficients (Полиномиальные коэффициенты)

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

67

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами Evaluate Symbolically [Shift+F9](Вычислить в символах) minus вы-

полнить символьное вычисление выражения Floating Point Evaluation (С плавающей точкой) minus выполнить

арифметические операции в выражении с результатом в форме чис-ла с плавающей точкой

Complex Evaluation (В комплексном виде) minus выполнить преоб-разование с представлением в комплексном виде

Команда Evaluate Symbolically тут наиболее важная Назначе-ние других команд очевидно они нужны если результат требуется получить в форме комплексного или действительного числа К примеру если вы хотите вместо числа p получить 3141 ис-пользуйте команду Floating Point Evaluation В режиме символь-ных вычислений результат может превосходить машинную беско-нечность системы При этом число точных значащих цифр результата практически не ограничено (или точнее говоря зависит от емкости ОЗУ)

Символьная операция Evaluate Symbolically [Shift+F9] (Вычис-лить) обеспечивает работу с математическими выражениями со-держащими встроенные в систему функции и представленными в различном виде полиномиальном дробно-рациональном в виде сумм и произведений производных и интегралов и тд Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде Она возможна над матрицами с символьными элементами Производные и определен-ные интегралы символьные значения которых вычисляются долж-ны быть представлены в своей естественной форме

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью minus 20 знаков после запятой Для перехода в такой режим вычислений нужно числовые констан-ты в вычисляемых объектах задавать с обязательным указанием де-сятичной точки например 100 или 30 а не 10 или 3 Этот признак является указанием на проведение вычислений такого типа

На рисунке ниже показаны типовые примеры действия опера-ции Evaluate Symbolically

68

Здесь слева показаны исходные выражения подвергаемые

символьным преобразованиям а справа результат этих преобразо-ваний

Операция Evaluate Symbolically одна из самых мощных Как видно из рисунка она позволяет в символьном виде вычислять сум-мы (и произведения) рядов производные и неопределенные инте-гралы выполнять символьные и численные операции с матрицами

Simplify (Упростить)

Символьная операция Simplify (Упростить) minus одна из самых важных Эта операция позволяет упрощать математические выра-жения содержащие алгебраические и тригонометрические функции а также выражения со степенными многочленами (полиномами)

Упрощение означает замену более сложных фрагментов вы-ражений на более простые Приоритет тут отдается простоте функ-ций К примеру функция tan x считается более сложной чем

функции sin x и cos x Поэтому tan x упрощается так что по-

лучает представление через соотношение этих функций что не-сколько неожиданно так как в некоторых пакетах символьной ма-тематики например Derive ситуация иная они заменяют отношение sin cosx x функцией tan x

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений При-ведем примеры применения операции Simplify

69

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

Однако команда Simplify применительно к вычислениям опре-деленных интегралов делает гораздо больше minus она ищет аналитиче-ское выражение для интеграла Более того она способна делать это и при вычислении кратных интегралов пределы которых minus функции

Операцию Simplify можно использовать и для вычисления сумм и произведений символьных последовательностей Результат операции как и следовало ожидать получается в символьной форме (если она существует)

Приведенные примеры могут создать впечатление что

MathCAD справляется со всеми производными интегралами сум-мами и произведениями с помощью операции Simplify К сожале-нию это далеко не так Нередко система не справляется с кажущи-мися простыми справочными примерами Надо помнить что символьный процессор системы MathCAD обладает заметно уре-

70

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

В результате преобразований могут появляться специальные функции minus как встроенные в систему (функции Бесселя гамма-функция интеграл вероятности и др) так и ряд функций дополни-тельно определенных при загрузке символьного процессора (инте-гральные синус и косинус интегралы Френеля эллиптические ин-тегралы и др) Последние нельзя использовать при создании математических выражений

Expand (Разложить по степеням)

Действие операции Expand (Разложить по степеням) в из-

вестном смысле противоположно действию операции Simplify Под-вергаемое преобразованию выражение расширяется с использова-нием известных (и введенных в символьное ядро) соотношений например алгебраических разложений многочленов произведений углов и тд Разумеется расширение происходит только в том случае когда его результат однозначно возможен Иначе нельзя считать что действие этой операции противоположно действию операции Simplify К примеру операция Simplify преобразует сумму квадратов синуса и косинуса в 1 тогда как обратное преобразование много-значно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные свести алгебраические выражения представленные в сжатом виде к выражениям в развернутом виде и тд Приведем примеры действия операции Expand Expression

Последний пример показывает что результатом операции мо-

жет быть специальная математическая функция которая считается более сложным выражением чем порождающее ее выражение

71

С виду однако выражения со специальными математическими функ-циями обычно выглядят гораздо проще чем исходные выражения

Factor (Разложить на множители)

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

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

Collect (Разложить по подвыражению)

Операция Collect (Разложить по подвыражению) обеспечива-

ет замену указанного выражения выражением скомплектованным по базису указанной переменной если такое представление воз-можно В противном случае появляется окно с сообщением о невоз-можности комплектования по указанному базису

Эта команда особенно удобна когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции

72

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

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

Polynomial Coefficients

(Полиномиальные коэффициенты)

Операция Polynomial Coefficients (Полиномиальные коэффи-циенты) в ранних версиях MathCAD отсутствующая служит для вычисления коэффициентов полинома

Операция применяется если заданное выражение ndash полином (степенной многочлен) или оно может быть представлено таковым относительно выделенной переменной Результатом операции явля-ется вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

422 Операции с выделенными переменными

Следующая группа символьных операций (табл 21) выпол-

няется с выражениями требующими указания переменной по от-ношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно поскольку указание в нем на пере-менную является одновременно и указанием на само выражение Если выражение содержит другие переменные то они рассматри-ваются как константы

73

Таблица 21 Операции с выделенными переменными

Solve (Решить относительно переменной)

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

Substitute (Заменить переменную)

Заменить указанную переменную содержимым буфера обмена

Differentiate (Дифференцировать переменную)

Дифференцировать все выражение содержащее выделенную переменную по отношению к этой переменной (остальные переменные рассматриваются как константы)

Integrate (Интегрировать по переменной)

Интегрировать все выражение содержащее выделенную переменную по этой переменной

Expand to Series (Разложить в ряд)

Найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной

Convert to Partial Fraction (Разложить на эле-ментарные дроби)

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

Solve (Решить относительно переменной)

Если задано некоторое выражение F(x) и отмечена переменная х то операция Solve (Решить) возвращает символьные значения ука-занной переменной х при которых F(x) = 0 Это очень удобно для решения алгебраических уравнений например квадратных и куби-ческих или для вычисления корней полинома Примеры решения квадратного уравнения и нахождения комплексных корней полино-ма четвертой степени

Ранее отмечалось что усложнение уравнения например пере-ход от квадратного уравнения к кубическому может вызвать и су-

74

щественное усложнение результата Тогда система представляет решение в более компактном виде (но без общепринятой математи-ческой символики) и предлагает занести его в буфер обмена

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

Более того форма представления результата в таком случае отличается от принятой в системе MathCAD (например в качестве знака деления используется косая черта для возведения в степень minus составной знак и тд) Это сделано ради компактности представ-ления результатов вычислений

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

Substitute (Заменить переменную)

Операция Substitute (Подстановка) возвращает новое выраже-ние полученное путем подстановки на место указанной переменной некоторого другого выражения Последнее должно быть подготов-лено и скопировано (операциями Cut или Copy) в буфер обмена Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой перемен-ной путем замены ее на числовое значение

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

75

Differentiate (Дифференцировать по переменной)

Нахождение символьного значения производной minus одна из са-мых распространенных задач в аналитических вычислениях Опера-ция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз Ниже показано применение операции дифференцирования

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычисле-

ниях minus вычисление интегралов (или нахождение первообразных) для аналитически заданной функции Для этого используется опе-рация Integrate (Интегрировать по переменной) Она возвращает символьное значение неопределенного интеграла по указанной кур-сором ввода переменной Выражение в состав которого входит пе-ременная является подынтегральной функцией

Здесь показан пример символьного интегрирования по пере-

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

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

Expand to Series (Разложить в ряд)

Операция Expand to Series(Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной пе-ременной с заданным по запросу числом членов ряда п (число опре-деляется по степеням ряда) По умолчанию задано n = 6

76

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

Здесь представлено применение этой операции для разложе-ния функции sin(x)x Минимальная погрешность получается при малых х

Символьные операции нередко можно комбинировать для ре-шения сложных задач

Convert to Partial Fraction (Разложить на элементарные дроби)

Операция Convert to Partial Fraction (Разложить на элемен-

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

Как видно из представленных примеров применение этой

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

423 Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции) которая имеет свое подме-ню со следующими операциями

Transpose (Транспонировать) minus получить транспонированную матрицу

Invert (Обратить) minus создать обратную матрицу

77

Determinant (Определитель) minus вычислить детерминант (опре-делитель) матрицы

Приведем примеры

424 Операции преобразования

В MathCAD 2000 PRO в позиции Symbol содержится раздел операций преобразования создающий подменю со следующими возможностями

Fourier Transform (Преобразование Фурье) minus выполнить пря-мое преобразование Фурье относительно выделенной переменной

Inverse Fourier Transform (Обратное преобразование Фурье) minus выполнить обратное преобразование Фурье относительно выделен-ной переменной

Laplace Transform (Преобразование Лапласа) minus выполнить прямое преобразование Лапласа относительно выделенной пере-менной (результат minus функция от переменной s)

Inverse Laplace Transform (Обратное преобразование Лапласа) minus выполнить обратное преобразование Лапласа относительно выде-ленной переменной (результат minus функция от переменной t)

Z Transform (Z-преобразование) minus выполнить прямое Z-преоб-разование выражения относительно выделенной переменной (ре-зультат minus функция от переменной z)

Inverse Z Transform (Обратное Z-преобразование) minus выполнить обратное Z-преобразование относительно выделенной переменной (результат minus функция от переменной n)

По строкам показано применение соответственно преобразова-ния Фурье Лапласа и Z-преобразования а по столбцам minus исходная

78

функция ее интегральное преобразование и обратное преобразова-ние (выражения стоящего во втором столбце)

В меню Symbolics находится команда Evaluation Style при исполнении которой на экран выводится диалоговое окно позволя-ющее установить вид вывода результатов при работе с символьным процессором MathCAD

В группе переключателей Show envaluation steps (Стиль эво-люции) можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним Кроме то-го можно установить опции Show Comments для вставки коммента-риев и задать вывод результирующего выражения вместо исходного Evaluate in Place

43 Палитра символьных преобразований SmartMath

431 Назначение системы SmartMath

SmartMath minus фактически экспертная система ускоряющая вы-

числения в тех случаях когда это возможно При запущенной си-стеме SmartMath процессор численных операций приступая к вы-

79

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

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вы-числений и преобразований Система SmartMath более полно ис-пользует ядро символьных операций чем символьные вычисления из подменю позиции Symbolics главного меню и снимает некоторые ограничения на их выполнение Например возможно использование в преобразуемых выражениях функций пользователя Еще важнее то что результаты символьных преобразований выполняемых си-стемой SmartMath автоматически меняются при изменении исход-ных символьных данных

Система SmartMath в сущности является частью программных средств MathCAD реализующих линейные программы символьных вычислений

432 Операторы символьного вывода

Вначале для визуализации результатов символьных преобра-зований был введен специальный символ minus удлиненная горизон-тальная стрелка rarr Ее можно вызвать нажатием клавиш Ctrl+ (точка) или вызовом из палитр математических символов (для вво-да отношений и символьных операций) Шаблон этого знака имеет вид где на месте черного прямоугольника вводится подвергае-мое символьному преобразованию исходное выражение

Указанный символ можно рассматривать как простой оператор символьного вывода Если задать исходное выражение и вывести курсор из формульного блока с ним то система помещает результат его символьных преобразований после стрелки (оператора символь-ного вывода) Это и есть первый этап работы с системой SmartMath

В версию системы MathCAD 70 PRO введен еще один опера-тор ndash расширенный оператор символьного вывода Он задается нажатием клавиш Ctrl+Shift+ (точка) или выбором из палитры символьных операций Этот оператор имеет вид В первый шаблон-прямоугольник вводится исходное выражение а во второй ndash директивы символьных преобразований Задаются эти директивы или вводом соответствующих ключевых слов или из палитры сим-вольных операций

80

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

433 Состав директив системы SmartMath и их применение

При вводе стрелки rarr после выражения фактически (по умол-

чанию) над ним исполняется операция Simplify (Упростить) Но что подразумевается под этим ясно далеко не всегда даже несмотря на то что многие символьные операции система выполняет вполне очевидно например вычисление интеграла или производной в сим-вольном виде

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов помещенных на панели Symbolic ко-

торая вызывается кнопкой с панели инструментов Math (табл 22)

Таблица 22

Symbolic (символы)

Команда Функция Пример 1 2 3

Символьное вычисление

Символьное вычисление с ключевым словом

81

Продолжение табл 22

1 2 3

Modifier Дополнительные модификаторы

assume minus вводное слово для приведенных далее определений real minus для var=real означает вещественное значение var RealRange minus для var=RealRange(ab) означает принадлеж-ность вещественной var к интервалу [аb] trig minus задает направление тригонометрических преобразований

float Численное вычисление

complex Комплексное вычисление

assume

Символьное вычисление с некоторыми предположениями

solve

Решение уравнения (системы уравне-ний) относительно переменной (переменных)

simplify Упрощение выражений

substitute Замена переменной

factor Разложение на множители

expand Перемножение степеней и произведений

coeffs Определение коэффициентов полинома

collect

Группировка слагаемых по степеням переменной

series Разложение в ряд Тейлора или Лорана

parfac Разложение на элементарные дроби

82

Окончание табл 22

1 2 3

fourier Преобразование Фурье

invfourier Обратное преобра-зование Фурье

lарlасе Преобразование Лапласа

invlaplace Обратное преобразование Лапласа

ztrans Z-преобразование

invztrans Обратное Z-преобразование

MT Транспонирование матрицы

M-1 Нахождение обратной матрицы

|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными бук-

вами (кроме Modifier первая буква в этом слове должна быть прописной)

Блоки системы SmartMath имеют следующие отличительные свойства

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

несколько директив minus имеют конструкцию схожую с конструкцией программных

блоков Как нетрудно заметить директива упрощения simplify не име-

ет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения перемен-ной х и указания числа членов ряда Директивы преобразования

83

Лапласа (laplace) и решения уравнений (solve) требуют одного па-раметра minus указания имени переменной (в нашем случае х) С помо-щью директивы solve можно решать и системы уравнений minus тогда ее параметр будет вектором неизвестных

Выполнение матричных операций в символьной форме особой специфики не имеет

44 Оптимизация

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

Признаком оптимизации выражения является появление после него красной звездочки Кроме того щелкнув правой кнопкой мы-ши и выбрав из контекстного меню команду Show Popup можно наблюдать появление окна с оптимизированным выражением

Особый выигрыш оптимизация может дать при многократном

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

84

5 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

51 Линейные алгебраические уравнения

Уравнение вида 0ax b с заданным базовым множеством Gx a из Ga b из Gb называется линейным уравнением

Этапы решения с помощью MathCAD 1 Ввести уравнение (знак = вводится с помощью комбина-

ции [Ctrl++]) 2 Выделить курсором переменную относительно которой

должно быть решено уравнение 3 Выбрать команду Solve (Вычислить) подменю Variable (Пе-

ременные) меню Symbolics (Символы) При решении линейных уравнений (без параметров) или дроб-

ных уравнений которые сводятся к линейным MathCAD находит все существующие решения Однако при этом следует правильно интерпретировать сообщения выдаваемые системой

511 Единственное решение уравнения

В качестве решения MathCAD выдает число minus это означает что уравнение однозначно разрешимо (однозначное решение ли-нейного уравнения над множеством действительных чисел которое одновременно является областью определения этого уравнения)

512 Решение отсутствует

Рассмотрим другой пример

85

После выполнения описанных выше действий для нахождения решения MathCAD выдает сообщение о том что решение не найдено

Проанализировав данное уравнение приходим к выводу что выданное MathCAD сообщение означает что решений нет L=

MathCAD выдает сообщение laquoРешение не найденоraquo даже если уравнение имеет laquoформальное решениеraquo которое не принадлежит области определения (см примеры ниже)

513 Многозначность

Если в качестве решения MathCAD выдает имя переменной это означает что множество решений уравнения совпадает с областью определения Однако такие понятия как множество решений уравне-ния и область определения отсутствуют в MAthCAD и он не выписы-вает область определения Вы можете найти область определения решая с помощью MathCAD систему неравенств или уравнений

Такой результат выданный MathCAD после выполнения дей-ствий по решению уравнения означает что любое значение x из ба-зового множества удовлетворяет этому уравнению те L=R

514 Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Перемен-ные) меню Symbolics (Символы) выдает множество решений L = 6

86

Решение 6 копируем в буфер а затем выделяем маркером пе-ременную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены пере-менной значением 6

Рассмотрим пример

Здесь также правильное решение множество решений совпа-

дает с областью допустимых значений L = D Только следует учесть что D=R11

Рассмотрим другой пример

Последнее уравнение условно эквивалентно уравнению 2x = 4

Решение уравнения MathCAD 2 Формальное решение x = 2 не вхо-дит в область допустимых значений MathCAD выдает правильное сообщение

52 Квадратные уравнения и алгебраические уравнения высших порядков

Уравнение P(x) = 0 называется алгебраическим уравнением

n-го порядка если P(x) представляет собой полином степени n при n = 2 данное уравнение называется квадратным уравнением

87

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

521 Квадратное уравнение

Команда Solve (Вычислить) подменю Variable (Переменные)

меню Symbolics (Символы) дает решение в виде вектора L = minus2 minus4

Аналогичный результат можно получить используя директи-

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

Другой способ решения заключается в использовании коман-ды Factor (Фактор) меню Symbolics (Символы) для разложения по-линома на множители в соответствии с теоремой Виета

Отметим что при иррациональных и комплексных решениях

команда Factor (Фактор) меню Symbolics (Символы) не работает Но MathCAD находит и такие решения при использовании команды Solve

б)

в)a)

88

522 Квадратные уравнения с комплексными коэффициентами

При вводе уравнения с комплексными коэффициентами следу-ет вводить для i 1i для -i -1i для 2i 2i ни в коем случае не вводить laquoraquo

53 Уравнения более высокого порядка

MathCAD может решать уравнения вплоть до порядка 4 (даже символьно) Если возможно частичное разложение на множители то разрешимы уравнения и более высокого порядка Кубические уравнения

Уравнения четвертого порядка Уравнения седьмого порядка

б)а)

89

54 Иррациональные уравнения (уравнения с радикалами)

Корни (радикалы) могут вычисляться в MathCAD либо с по-

мощью знака корня (клавиши [Ctrl+]) либо как степени (клавиша [^] с дробными показателями Знак квадратного корня вводится нажатием клавиши [] Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор) Последовательность дей-ствий при решении уравнений с радикалами та же что и при реше-нии рассмотренных ранее уравнений

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

Радикалы определены не везде в действительной области Это обстоятельство приводит к необходимости находить область опре-деления прежде чем решать само уравнение Данная проблема справедливо игнорируется MathCAD поскольку он не может знать во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение Выход вы можете самостоятельно найти область определения воспользовавшись при этом возможно-стями MathCAD связанными с решениями неравенств

Вторая проблема возникающая при решении уравнений с ра-дикалами имеет принципиальный характер Функция x2 (как и лю-бая другая функция с четным показателем) на является инъективной (проблема главных значений) В связи с этим возведение в квадрат обеих частей уравнения содержащего квадратные корни не являет-ся эквивалентным преобразованием Как всегда при применении к обеим частям уравнения неинъективного преобразования увеличи-вается множество решений В результате в него могут войти laquoфик-тивныеraquo решения Как ни удивительно MAthCAD сам производит проверку решений на laquoфиктивностьraquo

Классический случай решения уравнения с радикалами

MathCAD распознает laquoфиктивныеraquo решения (которые могут воз-никнуть в результате неэквивалентного преобразования laquoвозведение в квадратraquo) и выдает верное сообщение Решение не найдено L =

90

В приведенных ниже примерах демонстрируется способность MathCAD находить область определения иррационального уравне-ния путем решения неравенств

Уравнения с радикалами третьей степени как и уравнения с комплексными коэффициентами не представляют для MathCAD никакой сложности

55 Уравнения с параметрами

При решении уравнений с параметрами MathCAD ведет себя по-разному в зависимости от того каким образом производятся символьные вычисления minus с помощью символьного знака равенства или команд меню Symbolics

91

В данном примере использование палитры символьных преоб-разований позволяет решить уравнение (solve) и упростить резуль-тат (simplify)

56 Экспоненциальные и логарифмические уравнения

Уравнение в котором независимая переменная входит в аргу-

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

Способ решения с помощью MathCAD такой же как и для других типов уравнений

Экспоненциальные уравнения во множестве действительных

чисел не создают дополнительных сложностей в том смысле что их область определения совпадает со множеством действительных чи-сел а логарифмирование представляет собой инъективное отобра-жение

Если при решении экспоненциального уравнения возникают

проблемы их как правило можно устранить посредством вспомо-гательного логарифмирования В крайнем случае можно обратиться к численным методам (см нелинейные уравнения и системы урав-нений в разд 510)

Значительно больше сложностей возникает при решении лога-рифмических уравнений

92

Область определения этих уравнений если рассматривать их во множестве действительных чисел как правило не совпадает с действительной числовой прямой MathCAD рассматривает лога-рифмические уравнения в комплексной области те не учитывая область определения

В данном примере показано что MathCAD иногда находит

решения (и даже действительные) там где их быть не может (про-блемы с комплексным логарифмом) Но нахождение области опре-деления позволяет прийти к верному решению

Насколько полезным может быть предварительное нахожде-ние области определения показывает следующий пример

93

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

множество решений L=

57 Тригонометрические уравнения

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

Для тангенса (и котангенса) этого главного значения доста-точно посредством периодического продолжения atan(x)+kp где k ndash целое представить все решения При решении уравнений с тан-генсами и котангенсами возникает также вполне разрешимая про-блема связанная с тем что данные функции определены не во всех точках числовой прямой

Данный пример показывает что вышеуказанное ограничение не

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

94

Вместо этого возникает другая сложность обратные функции asin(x) и acos(x) значениями которых являются главные значения обратных отображений не дают всех решений в рамках одного пе-риода (2p)

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

95

Данный пример демонстрирует пределы возможности MathCAD Решение напрямую не дает никаких результатов

Проведя дополнительные преобразования нам все-таки удает-ся найти решение

58 Неравенства

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

Неравенства как и уравнения можно решать либо с использо-ванием символьного знака равенства либо отметив переменную следом курсора посредством выполнения команды Solve (Вычис-лить) подменю Variable (Переменные) меню Symbolics (Символы) В разных неравенствах могут быть использованы различные знаки неравенств

Знаки laquoбольшеraquo и laquoменьшеraquo могут вводиться непосредственно с клавиатуры Все остальные знаки можно вводить с помощью па-нели Evaluation (Вычисления) либо сочетанием клавиш

96

Линейные неравенства и неравенства с дробно-рациональ-

ными функциями не составляют сложности для MathCAD

Неравенства с параметрами удобно анализировать с использо-

ванием знака символьного равенства если значения параметра ограничены некоторыми условиями

При решении неравенств содержащих трансцендентные

функции возможности MathCAD ограничены

В данном примере MathCAD не может решить неравенство

при использовании символьного процессора На помощь приходят

97

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

59 Системы линейных уравнений

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция lsolv(AB) Она решает си-стему линейных алгебраических уравнений вида A X B выдавая решение ndash вектор X А ndash матрица коэффициентов размерности n n В ndash вектор свободных членов размерности n X ndash вектор неизвест-ных пока решений

Эквивалентной для MathCAD формой представления систем

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

Хорошей альтернативой решению систем в матричной форме является так называемый solve block (Блок решения) Он удобен тем что при его использовании уравнения записываются не в матричной а в обычной форме а также тем что позволяет решать нелинейные

98

уравнения и вводить ограничительные условия для определяемого решения Блок решения применяется как для нахождения численно-го решения так и для отыскания решения в символьном виде

Синтаксис Блока решения Given Уравнения Ограничительные условия Find(v1v2vn) minus возвращает значение одной или ряда переменных для точного решения vi minus переменные которые надо найти i = 1 hellip n

Последовательность действий при численном решении

Задаем начальные (стартовые) значения для искомых пере-

менных Заключаем уравнения в блок решения начинающийся ключевым

словом Given и заканчивающийся ключевым словом Find (v1v2 vn) Если после слова Find (v1v2vn) ввести знак равенства [=]

MathACD выдаст численное решение При символьном решении не надо вводить начальные значе-

ния а после ключевого слова Find (v1v2vn) вместо знака равен-ства следует ввести символьный знак равенства (с помощью комби-нации [Ctrl+] или соответствующей пиктограммы панели Evaluation)

Существует еще одно важное отличие между блоком решения

и использованием матричных операций Если определитель матри-

99

цы коэффициентов равен нулю матричные методы оказываются непригодными В таком случае система не имеет решений или раз-решима неоднозначно Если же применить блок решения MathCAD распознает неоднозначность и выдает решение в параметрической форме

510 Нелинейные уравнения и системы уравнений

Многие уравнения например трансцендентные и системы из

них не имеют аналитических решений Однако они могут решаться численными методами с заданной погрешностью (не более значе-ния заданного системной переменной (TOL) Для простейших урав-нений вида F(x) = 0 решение находится с помощью функции

Rооt (Выражение Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем точности при котором выражение дает 0

Функция реализует вычисления итерационным методом при-чем можно задать начальное значение переменной Это особенно полезно если возможно несколько решений Тогда выбор решения определяется выбором начального значения переменной Пример ниже иллюстрирует технику применения функции root для вычис-ления корней кубического полинома

Как известно кубическое уравнение обязательно имеет хотя

бы один кубический корень х1 Он найден вначале функцией root Два других корня могут оказаться и комплексными Функция root

100

может отыскивать и такие корни Для поиска второго корня х2 первый исключается делением F(x) на (хminusх1) Соответственно для поиска третьего корня х3 F(X) делится и на (хminusх2)

Эту процедуру можно распространить и на поиск корней по-

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

5101 Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию polyroots(V) Она воз-вращает вектор корней многочлена (полинома) степени п коэффи-циенты которого находятся в векторе V имеющем длину равную n + 1

Заметим что корни полинома могут быть как вещественными

так и комплексными числами Не рекомендуется пользоваться этой функцией если степень полинома выше пятой-шестой так как то-гда трудно получить малую погрешность вычисления корней

При решении систем нелинейных уравнений используется специальный вычислительный блок открываемый служебным сло-вом директива Given и имеющий следующую структуру

101

Given Уравнения Ограничительные условия Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций Find(vl v2 vn) minus возвращает значение одной или ряда пере-

менных для точного решения Minerr(vl v2 vn) minus возвращает значение одной или ряда пе-

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

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

При использовании функции

Minerr для решения систем нелиней-ных уравнений надо проявлять из-вестную осторожность и обязательно предусматривать проверку решений

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

102

6 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ

61 Решение одиночного дифференциального

уравнения Для численного решения одиночного дифференциального

уравнения в MathCAD имеется функция Odesolve с помощью кото-рой может быть решена как задача Коши для обыкновенного диф-ференциального уравнения так и граничная задача Эта функция входит в состав блока решения и является его заключительным ключевым словом

Odesolve x b step ndash возвращает функцию которая является

решением дифференциального уравнения Используется в блоке с оператором Given

x ndash переменная интегрирования действительное число b ndash конечная точка отрезка интегрирования step ndash величина шага по переменной интегрирования (необяза-

тельный аргумент) Замечания 1 Уравнение должно быть линейным относитель-

но старшей производной 2 Число заданных начальных или граничных условий внутри

блока должно быть равно порядку уравнения 3 При записи уравнения для обозначения производных функ-

ции используйте специальные кнопки с панели Math или (штрих) minus [Ctrl+F7] для знака равенства = [Ctrl+=] (в том числе и для допол-нительных условий)

4 Конечная точка должна быть больше начальной 5 Не допускаются начальные и граничные условия смешанно-

го типа 5f a f a

6 Искомая функция в блоке должна быть обязательно с аргу-ментом f x

103

62 Численное решение задачи Коши для дифференциальных уравнений и систем

Для численного решения задачи Коши дифференциальных

уравнений и их систем могут быть использованы функции 1 2 rkfixed y x x n F ndash возвращает матрицу решений системы

уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

1 2 rkadapt y x x n F ndash ищет решение с переменным шагом

(там где решение меняется медленнее шаг увеличивается а в обла-сти быстрого изменения решения шаг функции уменьшается) Воз-вращается решение с равным шагом Функция работает быстрее чем rkfixed

1 2 Bulstoer y x x n F ndash дает более точное решение (методом

Bulirsch-Stoer) Аргументы вышеуказанных функций y ndash вектор начальных условий 1 2x x ndash границы интервала для поиска решения

n ndash количество точек на интервале F x y ndash вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе диффе-ренциальных уравнений первого порядка

104

В результате работы указанных функций рассчитывается мат-

рица количество столбцов которой равно порядку уравнения +1 (или сумме порядков уравнений в системе +1) а количество строк равно параметру n Первый столбец содержит значения независи-мой переменной второй ndash значение функции третий ndash для диффе-ренциальных уравнений 2-го порядка ndash значение производной искомой функции (если решается система двух уравнений 1-го по-рядка то третий столбец будет содержать значения второй функ-

105

ции) Для выделения решений (функций или их производных) мож-но воспользоваться стандартным оператором вывода столбцов мат-рицы Mlt gt

Если матрица правых частей дифференциальных уравнений почти вырождена то такие системы называются жесткими В этом случае решения возвращаемые функцией rkfixed будут неустойчи-выми и для решения таких систем необходимо применять функции Stiffb Stiffr где 1 2 Stiffb y x x n F J ndash ищет решение дифференци-

ального уравнения или системы дифференциальных уравнений ме-тодом Bulirsch-Stoer

1 2 Stiffr y x x n F J ndash ищет решение дифференциального

уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же как и при решении хорошо обусловленных систем дифференциальных уравнений Дополни-тельный аргумент ndash матрица J размером 1n n первый столбец

которой содержит частные производные dF dx остальные столбцы и строки представляют собой матрицу Якоби dF dy

106

0 0 0

0

1 1 1

0

0

n

n

n n n

n

F F F

x y y

F F F

x y yJ x y

F F F

x y y

Пример решения жесткой системы дифференциальных урав-нений

Для отыскания решения системы дифференциальных уравне-

ний только в конечной точке используются функции bulstoer rkadapt stiffb stiffr

Набор параметров для этих функций 1 2 maxbulstoer y x x acc F k save

1 2 maxrkadapt y x x acc F k save

1 2 maxstiffb y x x acc F k save

1 2 maxstiffr y x x acc F k save

107

Первые три параметра и пятый F этих функций те же что и

для функции Rkadapt Дополнительные параметры acc ndash параметр контролирующий точность решения (реко-

мендуется асс = 0001) maxk ndash максимальное число промежуточных точек в которых

ищется решение save ndash минимально допустимый интервал между точками в

которых ищется решение

63 Решение граничных задач для обыкновенных дифференциальных

уравнений

Если для дифференциального уравнения n-го порядка k гра-ничных условий заданы в начальной точке 1x а n k граничных

условий ndash в конечной точке 2x то такая задача называется краевой В MathCAD реализованы две функции позволяющие численно найти недостающие условия в точках 1x и 2x

631 Двухточечная краевая задача

Задача решается в два этапа Сначала с помощью функции sbval находятся недостающие начальные значения а затем приме-няется одна из вышеописанных функций для решения стандартной задачи Коши на отрезке

1 2 sbval V x x xf F load score ndash ищет недостающие началь-

ные условия в точке 1x V ndash вектор начальных приближений для искомых начальных

значений в точке 1x 1x 2x ndash граничные точки интервала F x y ndash вектор-столбец из n элементов содержит правые ча-

сти дифференциальных уравнений 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точке 1x некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

2score x y ndash вектор-столбец размерности вектора V содер-

жащий разность между начальным условием в точке 2x и значени-ем искомого решения в этой точке

108

Теперь решаем задачу традиционным методом

632 Краевая задача с условиями внутри интервала

На первом этапе используется функция ( 1 2 1 2 balfit V V x x xf 1 2 )F load load score ndash ищет недостающие начальные условия

в точках х1 и х2 сшивая решения выходящие из этих точек в точке xf

109

1 2V V ndash векторы начальных приближений для искомых на-чальных значений в точках х1 и х2

х1 х2 ndash граничные точки интервала 2 1 1load x V ndash вектор-столбец из n элементов содержит на-

чальные значения в точках х1 х2 некоторые из значений ndash констан-ты другие неизвестны и будут найдены в процессе решения

2 2 2load x V ndash вектор-столбец из n элементов содержит

начальные значения в точке х2 некоторые из значений ndash константы другие неизвестны и будут найдены в процессе решения

score xf y ndash вектор-столбец размерности n содержащий раз-

ность между решениями начинающимися в точках х1 и х2 в точке xf

110

7 ФУНКЦИИ ЛИНЕЙНОЙ И СПЛАЙНОВОЙ АППРОКСИМАЦИИ

71 Одномерная линейная аппроксимация

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

При кусочно-линейной интерполяции или аппроксимации вычи-сления дополнительных точек выполняются по линейной зависимости Графически это означает просто соединение узловых точек отрезками прямых для чего используется следующая функция linterp VX VY x

Для заданных векторов VX и VY узловых точек и заданного ар-гумента х эта функция возвращает значение функции при ее линей-ной аппроксимации При экстраполяции используются отрезки пря-мых с наклоном соответствующим наклону крайних отрезков при линейной интерполяции например

111

72 Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная ин-

терполяция оказывается довольно грубой Для целей экстраполяции функция linterp не предназначена и за пределами области определе-ния может вести себя непредсказуемо

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

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

cspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии в опорных точках к ку-бическому полиному

pspline VX VY ndash воз-

вращает вектор VS вторых производных при приближе-нии к опорным точкам пара-болической кривой

lspline VX VY ndash воз-

вращает вектор VS вторых производных при прибли-жении к опорным точкам прямой Наконец четвертая

функция int erp VS VX VY x ndash возвращает значение у (х) для за-

данных векторов VS VX VY и заданного значения x

112

Таким образом сплайн-аппроксимация проводится в два эта-па На первом с помощью функций cspline pspline или Ispline отыс-кивается вектор вторых производных функции у(х) заданной векто-рами VX и VY ее значений (абсцисс и ординат) Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с по-мощью функции interp

73 Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D графиков имеется возможность осуществления двумерной сплайн-интерполяции Это позволяет существенно повысить представительность сложных гра-фиков SD-функций в том числе контурных

113

Интерполяция функции двух переменных проводится также в два этапа

1 Вычисляется вектор VS вторых производных в опорных точках с помощью функций

cspline Mxy Mz

pspline Mxy Mz

lspline Mxy Mz

Здесь Mxy ndash матрица размера 2n строки которой определя-

ют по диагонали x y координаты прямоугольной сетки Mz ndash

матрица размера n n значений функции в узлах вышеопределен-ной сетки

2 Вычисление с помощью функции int erp VS Mxy Mz V

Здесь V minus вектор координат x y

Показаны графики функции двух переменных после проведе-ния двумерной сплайн-интерполяции и без нее

114

8 ФУНКЦИИ ДЛЯ ПРОВЕДЕНИЯ РЕГРЕССИИ

81 Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х) Задача регрессии заключается в получении параметров этой функ-ции такими чтобы функция приближала облако исходных точек (заданных векторами VX и VY ) с наименьшей среднеквадратичной погрешностью

Чаще всего используется линейная регрессия при которой функция у(х) имеет вид у(х) = a + bx и описывает отрезок прямой К линейной регрессии можно свести многие виды нелинейной ре-грессии при двупараметрических зависимостях у(х)

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций

corr VX VY ndash возвращает скаляр ndash коэффициент корреляции

Пирсона int ercrpt VX VY ndash возвращает значение параметра а (смеще-

ние линии регрессии по вертикали) slope VX VY ndash возвращает значение параметра b (наклона

линии регрессии)

115

82 Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной

регрессии общего вида При ней заданная совокупность точек при-ближается функцией вида

1 2 1 1 2 2 F x K K Kn K F x K F x KnFn x

Таким образом функция регрессии является линейной комби-нацией функций 1 2 F x F x Fn x причем сами эти функции

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

Для реализации линейной регрессии общего вида использует-ся функция inf l it VX VY F Эта функция возвращает вектор

коэффициентов линейной регрессии общего вида K при котором среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек если их координаты хранятся в векторах VX и VY оказы-вается минимальной Вектор F должен содержать функции

1 2 F x F x Fn x записанные в символьном виде

Расположение координат точек исходного массива может быть любым но вектор VX должен содержать координаты упорядочен-ные в порядке их возрастания а вектор VY ndash ординаты соответ-ствующие абсциссам в векторе VX

116

83 Функции для одномерной и многомерной полиномиальной регрессии

Функция для обеспечения полиномиальной регрессии при про-

извольной степени полинома регрессии regress VX VY n введена

в новую версию MathCAD Она возвращает вектор VS запрашиваемый функцией int erp VS VX VY x содержащий коэффициенты многочлена n-й

степени который наилучшим образом приближает laquoоблакоraquo точек с координатами хранящимися в векторах VX и VY

Для вычисления коэффициентов полинома регрессии исполь-зуется функция submatrix

На практике не рекомендуется делать степень аппроксимиру-ющего полинома выше четвертой-шестой поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий поли-ном коэффициенты которого вычисляются по всей совокупности заданных точек те глобально Иногда полезна другая функция по-линомиальной регрессии дающая локальные приближения отрез-ками полиномов второй степени ndash loess VX VY span Эта функция

возвращает используемый функцией int erp VS VX VY x вектор

VS дающий наилучшее приближение данных (с координатами то-чек в векторах VX и VY ) отрезками полиномов второй степени Ар-гумент span gt 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение ndash 075)

117

Чем больше span тем сильнее сказывается сглаживание данных При больших span lt эта функция приближается к 2regress VX VY

MathCAD позволяет выполнять также многомерную регрес-сию самый типичный случай которой ndash приближение трехмерных поверхностей Их можно характеризовать массивом значений высот z соответствующих двумерному массиву Мху координат точек (х у) на горизонтальной плоскости

Новых функций для этого не задано Используются уже описанные функции в несколько иной форме

Regress Mxy Vz n ndash возвращает вектор запрашиваемый функ-

цией int erp VS Mxy Vz V для вычисления многочлена п-й степени который наилучшим образом приближает точки множества Мху и Vz Мху ndash матрица т times 2 содержащая координаты x и y

Vz ndash m-мерный вектор содержащий z-координат соответ-ствующих m точкам указанным в Мху

118

loess Mxy Vz span аналогична loess VX VY span но в

многомерном случае int erp VS Mxy Vz V возвращает значение z по заданным

векторам VS (создается функциями regress или loess) и Мху Vz и V (вектор координат х и у заданной точки для которой находится z)

84 Функция для нелинейной регрессии

общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора K параметров произвольной функции 1 2 F x K K Kn при котором обеспечивается минимальная

среднеквадратичная погрешность приближения laquoоблакаraquo исходных точек

Для проведения нелинейной регрессии общего вида использу-ется функция genfit VX VY VS F Эта функция возвращает вектор

K параметров функции F дающий минимальную среднеквадратич-ную погрешность приближения функцией 1 2F x K K Kn ис-

ходных данных F должен быть вектором с символьными элементами содер-

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

119

ментов вектора K необходимые для решения системы нелинейных уравнений регрессии итерационным методом

85 Функции сглаживания данных

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

medsmooth VY n ndash для вектора с m действительными числами

возвращает m-мерный вектор сглаженных данных по методу сколь-

120

зящей медианы параметр n задает ширину окна сглаживания (n должно быть нечетным числом меньшим m)

ksmooth VX VY b ndash возвращает n-мерный вектор сглаженных

VY вычисленных на основе распределения Гаусса здесь VX и VY ndash n-мерные векторы действительных чисел параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в не-сколько раз превышать интервал между точками по оси х)

sup smooth VX VY ndash возвращает n-мерный вектор сглажен-

ных VY вычисленных на основе использования процедуры линей-ного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k здесь VX и VY ndash n-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возрастания

86 Функция предсказания

Весьма интересной является функция предсказания predikt data k N где data ndash вектор данных k ndash число последних

точек существующих данных на основе которых происходит расчет предсказываемых точек N ndash число точек в которых необходимо предсказать данные Она по ряду заданных равномерно располо-женных точек позволяет рассчитать некоторое число N последую-

121

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

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

122

9 ОБЗОР ПРОГРАММНЫХ ОПЕРАТОРОВ ПРИМЕРЫ ПРОГРАММ

Вплоть до появления 7-й версии системы MathCAD возможно-сти программирования в них были крайне ограниченными Факти-чески MathCAD позволяла реализовать лишь линейные программы в основе которых лежит понятие функции Функция if и ранжиро-ванные переменные в отдельных случаях могли заменить условные выражения и циклы но с серьезными ограничениями Отсутствова-ла возможность задания завершенных программных модулей

Эти возможности в расширенном варианте появились в MathCAD 70 Pro Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке) включаемой кнопкой на панели Math

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

Эти подпрограммы-функции составляются так же как и опре-деления функций (табл 23) Рассмотрим простой пример вычисле-ния суммы Sum(n) = 1 + 2 + 3 + + n

Задайте сначала имя функции Sum вслед за которым введите список параметров (n) и оператор присваивания =

Введите начальное значение s 0 и отметьте его целиком Стрелка служит оператором присваивания в теле программы вво-дится клавишей (открывающая фигурная скобка) или выбором кнопки со стрелкой с панели

Создайте новую строку программы (вставка вертикальной черты) с помощью кнопки Add Line клавиша (закрывающая квадратная скобка) На экране появится вертикальная черта и пустая ячейка

Выполните щелчок на кнопке for чтобы ввести оператор цикла Перед символом принадлежности введите переменную i а после него ndash промежуток изменения переменной 1n В находящей-ся ниже ячейке введите присваивание s s+i Программа готова

123

Таблица 23 Команды панели Symbolic (символы)

Команда Функция Пример

Add Line Добавляет новую строку поднад (зависит от выделения) текущей строкой

Присваивание значения локальной переменной

if

Условный оператор (оператор ветвления) if условие должно стоять после if а оператор который исполняется если выполнено заданное условие ndash перед if

otherwise Обозначает оператор который должен быть исполнен если условие оператора if не выполняется

for

Цикл for за ключевым словом for следует переменная-счетчик а после символа принадлежности вводится промежуток изменения этой переменной Внутренние операторы цикла сдвинуты немного вправо

while

Цикл while внутренние операторы цикла будут исполняться до тех пор пока будет истинным условие следующее за ключевым словом while Пример показывает применение цикла для нахождения нулей функции методом касательных Ньютона

break

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

continue Служит для преждевременного завершения текущей итерации цикла сам цикл при этом продолжается

retutn Преждевременное завершение программы указанное в ячейке значение будет возвращено

on error Если при вычислении выражения expr2возникла ошибка вычисляется выражение expr1

124

Условный оператор if и оператор otherwise Рассмотрим пример программного блока вычисляющего фак-

ториал с использованием рекурсии

В данном примере 1 возвращается только если n = 0 или n = 1

Обратите внимание на задание нескольких условий ndash со знаком плюс каждое условие в скобках В остальных случаях учитывая формулу n=n(n minus 1) вызывается fakt(n minus 1) и умножается на n С помощью функции error можно вывести сообщение об ошибке при непра-вильном вводе аргумента

Для демонстрации работы цикла for рассмотрим ту же задачу но вычисление факториала осуществим с помощью цикла

Если n = 0 или n = 1 возвращается 1 в противном случае с по-мощью цикла for вычисляется произведение n=123n Вычис-ленное последним значение p возвращается автоматически

В следующем примере с помощью алгоритма Евклида опреде-ляется наибольший общий делитель Для реализации алгоритма используется цикл с ключевым словом while

125

91 Прерывание цикла с помощью операторов break и continue Оператор return

Первый пример ndash реализация метода касательных Ньютона

для определения нулей функции На основе начального значения x вычисляется новое улучшенное значение x расположенное ближе к искомому нулю функции При этом итерации повторяются до тех пор пока значение функции не станет меньше заданной точности (в примере 10minus6)

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

Кроме ключевого слова break имеется ключевое слово

continue с похожей функцией В то время как break прерывает цикл и осуществляет переход к следующему за циклом оператору continue прерывает выполнение только текущей итерации

126

92 Ключевое слово continue Ключевое слово continue используется для выявления всех ну-

лей функции на заданном интервале При этом в примере производится разбиение интервала на n

равных подынтервалов и ищутся те из них на которых функция ме-няет знак При обнаружении такого подынтервала вызывается функция реализующая метод касательных Ньютона с начальным значением находящимся в середине подынтервала

Обратите внимание по завершении работы программы выда-

ется вектор значений Ниже приводится программа вычисляющая коэффициенты

Фурье функции причем в результате выдается матрица значений нулевая по счету строка содержит коэффициенты Аn а первая ndash ко-эффициенты Bn Для выделения этих коэффициентов выдаваемая матрица транспонируется и из нее выбирается нулевой столбец для коэффициентов Аn и первый ndash для Bn

127

128

ЛАБОРАТОРНЫЕ РАБОТЫ

Методические указания Порядок выполнения работы 1 Получите у преподавателя задание на выполнение очеред-

ной работы (вариант и дополнительные указания) и уясните цель 2 Разработайте структуру и алгоритм работы программы 3 Реализуйте алгоритм в виде текста на языке Maple 4 Продемонстрируйте работу программы преподавателю и

при наличии замечаний сделайте необходимые поправки 5 Подготовьте и сдайте отчет о работе Требования к оформлению отчета

По каждой выполненной лабораторной работе составляется отчет который должен содержать

minus титульный лист с названием учебного заведения и кафедры учебной дисциплины указанием номера работы фамилии исполни-теля и фамилии преподавателя принявшего работу

minus тему цель работы и развернутое лабораторное задание с от-ражением сведений о конкретном варианте

minus при необходимости minus краткое пояснение принципов метода и алгоритма решения задачи

minus текст программы minus фактические результаты исполнения программы minus вывод о работоспособности программы с объяснением при-

чин обнаруженных некорректностей в работе

129

Лабораторная работа 1 Тема Решение нелинейных уравнений

Лабораторные задания 1 Разработать программу вычисления корня нелинейного

уравнения с некоторой точностью одним из четырех методов поло-винного деления (ПД) касательных (К) хорд (Х) хорд и касатель-ных (ХК)

2 Решить эти же уравнения используя встроенные функции MathCAD

3 Сравнить полученные результаты

Методические указания С методами решения можно ознакомиться в [1minus3] Построить графики функций и отделить корень

Варианты заданий

Метод решения Задания

Метод хорд

Вариант 1 1 sin 035x x 2 3 23 9 8 0x x x

Вариант 5

1 12 cos 0368 0x x 2 3 3 1 0x x Вариант 9

1 ctg 3 0x x 2 3 201 06 15 0x x x Вариант 13

1 2 4sin 0x x 2 3 201 04 2 0x x x Вариант 17

1 lg 7 2 6 0x x 2 3 203 09 08 0x x x

Метод половинного деления

Вариант 2

1 2 5 3 0x x 2 22 log 1x x

Вариант 61 exp 2 2 1 0x x 2 tg 2 4x x x

Вариант 10 1 arctg 1 2 0x x 2 4 3 23 4 12 1 0x x x

Вариант 14

1 2 5xe x 2 3l g 1 1x o x

Вариант 18 1 lg 1 1x x 2 4 218 6 0x x

130

Окончание

Метод

касательных

Вариант 3

1 3ln 1 0x x 2 3 22 2 0x x

Вариант 7

1 2 1xx 2 3 23 9 10 0x x x Вариант 11

1 121 1x x 2 3 2 2 0x x

Вариант 151 cos 0x x 2 3 3 1 0x x

Вариант 19 1 2 lnx x 2 3 204 06 18 0x x x

Метод хорд и касательных

Вариант 4

1 2tg 047 02x x 2 3 22 3 12 5 0x x x Вариант 8

1 lg 12 0x x 2 3 23 24 3 0x x x Вариант 12

1 2ctg105 0x x 2 3 23 1 0x x Вариант 16

1 3 cos 1 0x x 2 3 22 9 6 0x x Вариант 20

1 2 21x

x e 2 3 23 8 0x x

131

Лабораторная работа 2 Тема Решение систем Лабораторные задания 1 Решить линейную систему классическим методом Гаусса

или одним из его модифицированных методов 2 Решить линейную систему методом Крамера используя со-

ответствующие пакеты 3 Решить нелинейные системы уравнений методами итераций

и Ньютона 4 Решить эти же системы используя встроенные функции 5 Результаты

Методические указания С методами решения можно ознакомиться в [1minus3 5 6] Построить графики функций и определить область существо-

вания корня Варианты заданий

1 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 1

3 2 4

2 3 6

2 3 4

х х х х

х х х х

х х х х

х х х х

sin 1 12

2 cos 2

x y

x y

2

2 2

tg 04

06 2 1

0 0

xy x

x y

x y

2 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 6

2 3 8

3 2 2 4

2 3 2 8

х х х х

х х х х

х х х х

х х х х

сos 1 05

cos 3

x y

x y

2 2

sin 16 0

1

0 0

x y x

x y

x y

3 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 4 5

2 2 3 1

3 2 2 1

4 3 2 5

х х х х

х х х х

х х х х

х х х х

sin 2 2

cos 1 07

x y

y x

3 2

2 2

tg 01

2 1

xy x

x y

4 1 3 4

1 3 4

1 2 4

1 2 3

3 4 5

2 3 4

3 2 5 12

4 3 5 5

х х х

х х х

х х х

х х х

2 sin 05 1

cos 15

x y

x y

2 2

sin 12 02

1

x y x

x y

132

Продолжение

5 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

3 5 7 12

3 5 7 0

5 7 3 4

7 3 5 16

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

x y

y x

3 2

2 2

tg 03

09 2 1

xy x

x y

6 1 2 3 4

1 2 3

1 2 4

2 3

5 3 4 20

3 2 9

5 7 10 9

3 5 1

х х х х

х х х

х х х

х х

сos 05 08

sin 2 16

x y

y x

2 2

sin 13 0

1

x y x

x y

7 1 2 3 4

1 2 4

2 3 4

1 2 3 4

2 5 8

3 6 9

2 2 5

4 7 6 0

х х х х

х х х

х х х

х х х х

sin 1 13

sin 1 08

x y

x y

3

2

2 2

tg

08 2 1

xy x

x y

8 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 4

3 3 3 2 6

3 2 6

3 3 6

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

y x

x y

2 2

sin 15 01

1

x y x

x y

9 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 7

2 5

2 1

3 3 10

х х х х

х х х х

х х х х

х х х х

сos 05 2

sin 2 1

x y

y x

3

2

2 2

tg

07 2 1

xy x

x y

10 1 2 4

1 2 3

2 3 4

1 2 3 4

4 2 9

3 4 7

3 2 4 12

2 3 0

х х х

х х х

х х х

х х х х

sin 2 15

cos 2 05

x y

y x

2 2

sin 12 01

1

x y x

x y

11 1 2 3 4

1 2 4

1 3 4

1 2 3 4

2 1

2 3 2

3 3

2 2 2 5 6

х х х х

х х х

х х х

х х х х

sin 1 12

cos 2 2

y x

x y

2

2 2

tg 02

06 2 1

xy x

x y

12 1 2 3 4

2 3 4

1 2 4

1 2 3

2 0

2 2

3 1

3 2 0

х х х х

х х х

х х х

х х х

сos 1 05

cos 3

y x

y x

2 2

sin 15 01

1

x y x

x y

133

Окончание

13 1 2 4

1 2 3 4

1 3 4

1 2 4

5 9

3 3 4 7

3 2 16

4 0

х х х

х х х х

х х х

х х х

сos 1 07

sin 2 2

x y

y x

2

2 2

tg 04

08 2 1

xy x

x y

14 1 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 9

2 8

2 5

2 1

х х х

х х х х

х х х х

х х х х

2 sin 05 1

cos 15

y x

y x

2 2

sin 12 01

1

x y x

x y

15 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 6 2 2 12

3 5 7 12

3 5 7 0

5 7 3 4

х х х х

х х х х

х х х х

х х х х

sin 05 1

cos 2 0

y x

x y

2

2 2

tg 01

09 2 1

xy x

x y

16 1 2

1 2 3 4

1 2 3 4

1 2 3 4

5 2

2 3 2 4

3 2 6

3 3 6

х х

х х х х

х х х х

х х х х

сos 05 08

sin 2 16

x x

x y

2 2

sin 14

1

x y x

x y

17 1 2 4

1 2 3 4

1 2 3 4

1 2 3 4

4 2

2 3 1

2 3 6

2 3 4

х х х

х х х х

х х х х

х х х х

sin 1 13

sin 1 08

y x

y x

2

2 2

tg 01

05 2 1

xy x

x y

18 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

5 3 4

2 3 2 6

2 2 3 8

3 2 2 4

х х х х

х х х х

х х х х

х х х х

2 cos 1 0

sin 04

x y

y x

2 2

sin 11 01

1

x y x

x y

19 1 2 3 4

1 2 3 4

1 3 4

1 2 3 4

4 2 4 3

2 1

3 3

2 2 2 5 6

х х х х

х х х х

х х х

х х х х

2 cos 05

sin 2 1

x y

x y

2 2

tg

2 1

x y xy

x y

20 1 3 4

2 3 4

1 2 4

1 2 3

2 2 1

2 2

1

3 2 0

х х х

х х х

х х х

х х х

sin 2 15

cos 2 05

y x

x y

2 2

sin 1

075

x y xy

x y

134

Лабораторная работа 3 Тема Работа с многочленами Лабораторные задания 1 Исследовать заданные функции на непрерывность найти их

экстремумы 2 Разложить заданную функцию одного переменного в ряд в

окрестности указанной точки 0x до n-го порядка 3 Преобразовать ряд в многочлен который разложить по сте-

пеням х а Построить графики заданной функции и получивше-

гося многочлена 4 Уметь находить коэффициенты при заданных степенях

старшие и младшие степени корни из многочлена и интервалы дей-ствительных корней многочлена раскладывать в ряд функции мно-гих переменных

Варианты заданий

Номер варианта

Функция n 0x

1 siny x arcsinu xy 10 1

2 cosy x u xy 8 minus1

3 lny x zu xy 9 3

4 tgy x zu y x 6 minus2

5 arcsiny x expu z xy 10 minus07

6 arccosy x lnu x y z 9 08

7 exp 2y x expu x zy 6 17

8 3 4 5y x x u th x y z 8 minus066

9 05log 1y x u ch x y z 5 15

10 05 2y sh x 2 2 2x y z 10 05

11 03 4y ch x 2 2 2x y z 7 minus045

12 13arctgy x 2 2 21 u x y z 5 03

13 1 exp 1y x x 2 2 2ln u x x y z 10 minus14

14 3 cos 1y x x 2 2tg u z x y 12 09

135

Окончание

Номер варианта

Функция n 0x

15 2 1 sin 7 3y x x ctgu x y z 9 055

16 2tgy x 22 z x y 6 08

17 2ln 1y x 2 2 21 cosu x y z 10 01

18 2 21 1y x x 2 2 21 sinu x y z 8 0

19 2 21 1y x x 2tgu x z 9 0

20 2 2sin 1y x x u cth x y z 10 036

136

Лабораторная работа 4 Тема Интерполяция и экстраполяция функций Цель построение интерполяционных многочленов по равно-

и неравноотстоящим узлам вычисление значений функций в ука-занных точках

Лабораторные задания 1 Построить интерполяционные многочлены Лагранжа Нью-

тона по равно- и неравноотстоящим узлам а также первые и вторые интерполяционные формулы Ньютона Гаусса и Бесселя

2 Выполнить линейную квадратичную кубическую и четвер-того порядка сплайн-аппроксимацию

Методические указания С методами построения многочленов можно ознакомиться

в [1minus3]

Варианты заданий

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

0298

0303

0310

0317

0323

0330

0339

150

155

160

165

170

175

180

325578

317639

312180

304819

2098755

2091950

283598

1

7

13

19

02006 03645

144 182

02654 03325

146 177

03127 03222

154 185

02746 03033

149 172

043

048

055

062

070

075

078

0115

0120

0125

0130

0135

0140

0145

163597

173234

187686

203345

222846

235973

253687

2

8

14

20

04984 073482

01144 0142

04998 08375

01004 0148

04256 08751

01157 0152

04057 08599

0105 0150

137

Окончание

Хнр Хр Y Номер варианта

Х0(нр) Х0(р)

011 015 021 029 035 041 047

150 155 160 165 170 175 180

15132 17422 20393 23994 28160 32812 37875

3 9

15

18

0112 0481 143 175 0128 0462 156 1751 0104 0439 148 1782 0103 04661 1523 1885

002 008 012 017 023 030 035

0375 0380 0385 0390 0395 0400 0405

102316 109590 121483 114725 130120 140976 139642

4

10

16 5

0021 036 0365 0406 024 0348 0379 0427 005 0321 0384 0403 0057 0337 0371 0413

068 073 080 088 093 099 106

185 190 195 200 205 210 215

43198 48689 54653 59653 64817 69554 71258

6

11

17

12

066 105 182 214 069 11 188 211 071 103 173 201 0682 0983 194 221

138

Лабораторная работа 5 Тема Разложение функций в ряд Фурье

Лабораторные задания 1 Разложить заданную функцию в ряд Фурье по системе ор-

тонормированных функций 2 Построить в одной системе координат графики функции и

некоторых частичных сумм ряда Фурье

Методические указания С методами решения можно ознакомиться в [1minus3 5minus7]

Варианты заданий

Номер варианта Функция у(х) Система функций

1 expx x Гегенбауэра

2 23 5 11x x Эрмита

3 sin 2 6x Лагерра

4 cos 5 x Лежандра

5 21 3x Якоби

6 2 21 1x x Чебышева 1-го рода

7 2 21 1x x Чебышева 2-го рода

8 1 cos x Гегенбауэра9 1 sin x Эрмита10 cosx x Лагерра11 sinx x Лежандра12 cos x x Якоби

13 sin x x Чебышева 1-го рода

14 exp x x Чебышева 2-го рода

15 6x Гегенбауэра16 1 x Эрмита17 1 Лагерра18 2cos x Лежандра

19 2sin x Якоби

20 122 1x Чебышева 1-го рода

21 122 1x Чебышева 2-го рода

139

Лабораторная работа 6 Тема Решение дифференциальных уравнений Лабораторные задания 1 Решить дифференциальное уравнение методами Эйлера

Рунге-Кутта Милна Адамса и простроить графики решений считая начальные условия нулевыми

2 Решить дифференциальное уравнение методами системы MathCAD и сравнить результаты решений

Методические указания Принять шаг равным 01 в качестве отрезка на котором ищет-

ся решение взять отрезок [01] С методами решения можно ознакомиться в [1minus3 5 6 8] Варианты заданий

Но-мер вари-анта

Уравнение у= f(x)

Но-мер вари-анта

Уравнение у= f(x)

1 21 02 siny y x y 11 cos 05y x y x y

2 2cos 1 05y x x y 12 2cos 1 06y x y y

3 21 04 sin 15y y x y 13 2cos 2 03y y x y

4 cos 15y x y x y 14 1 sin 05 2y x y y x

5 2cos 15 01y y x y 15 21 06sin 125y x y

6 cos 2 15y x y x y

16 1 01 2 sin 2y y x x y

7 2cos 1254 01y y x y

17 21 08 sin 2y y x y

8 cos 15 15y x y x y

18 1 sin 2 03 2y x y y x

9 2cos 175 05y y x y

19 1 1 sin 2y x y y x

10 2cos 08 03y x y y 20 21 22sin 15y x y

140

Лабораторная работа 7

Тема Интегральные преобразования Цель вычисление интегральных преобразований

Лабораторное задание От заданных функций найти прямое и обратное преобразова-

ние Фурье Лапласа Гильберта и Меллина

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

ознакомиться в [1minus3 5minus7] Так как не все заданные функции записа-ны в таблицы интегральных преобразований то необходимо соста-вить для них соответствующие интегральные суммы

Варианты заданий

Номер варианта Функция Номер варианта Функция

1 x 11 2 0

0 0

x

x

2 1 0 1

2 1

0 0 2

x

x x

x x

12 2x

3 1 0 1

0 0 1

x x

x x

13 2 0 2

0 0 2

x x

x x

4 sin 0

0 0

x x

x

14 0

0 0

x x

x

5 cos 0

0 0

x x

x

15 3x

6 1 0 1

3 1

0 0 2

x x

x x

x x

16 3 0 1

3 1

0 0 9

x x

x

x x

7 2 0

0 0

x x

x

17

1 1 1

0 1 1

x

x x

8 3 0

0 0

x x

x

18

1 1

0 1 1

x x

x x

9 exp x 19 2 1 1

0 1 1

x x

x x

10 exp 0

0 0

x x

x

20 3 1 1

0 1 1

x x

x x

141

САМОСТОЯТЕЛЬНЫЕ РАБОТЫ

Самостоятельная работа 1 1 Вычислите для каждого значения 1 5 7x следующие

функции

3 62 5

1y

x x

2

21

2

x

y e

2arctg

2

xy

Рекомендуется использовать операцию векторизации (MathPalette матричные операции) Измените количество значащих цифр выводимых на экран после десятичной точки на 6

2 Решите двумя способами (матричным и с помощью функ-

ции lsolve) систему линейных уравнений

2 0

2 3 1

5 1

x y z

x y z

x y z

Справку по использованию функции lsolve найдите в справоч-ной системе MathCAD

3 Смените нижнюю границу индексации массивов на 1 Вы-ведите решение системы уравнений из п 2 в виде вектора-столбца и поэлементно

4 Скопируйте первую из формул п 1 и замените в ней первое подкоренное выражение в знаменателе на sin x а второй операнд

в знаменателе ndash на ctg2

x

Присвойте полученное выражение но-

вой переменной G (удалив у) 5 Вставьте в документ текстовую область laquoПостроение про-

стейшего графикаraquo 6 Определите функцию sin cos 1f x x x

7 Постройте график функции f x (воспользуйтесь быстрым

построением графиков)

142

Самостоятельная работа 2 1 Задайте вектор 1V состоящий из трех элементов 231 и

вектор 2V ndash 417

2 Выполните следующие операции 1 3V 1 2V V 1 2V V 1 2V V просуммируйте элементы 1V транспонируйте вектор 2V

вычислите норму вектора 1V используя операцию векторизации вычислите sin 1V и посчитайте норму получившегося вектора

3 Задайте матрицу М с размерностью 2 3 транспонируйте ее 4 Создайте единичную матрицу Е размерности 5 5 вычис-

лите ее след 5 Создайте две квадратные матрицы 1M и 2M размерности

3 3 перемножьте их у полученной матрицы вычислите определи-тель выведите на экран второй столбец и поэлементно третью строку

6 Сложите матрицы 1M и 2M (матрица MM ) для получен-ной матрицы вычислите exp MM

7 Объедините матрицу MM и вектор 1V отсортируйте полу-ченную матрицу по первым столбцу и строке

8 Вычислите собственные значения любой из введенных мат-риц размерности 3 3 а также собственный вектор принадлежащий второму собственному значению

143

Самостоятельная работа 3 1 Задайте ранжированную переменную х меняющуюся от 0

до 2 с шагом 01 определите функцию 2sin 2f x x x построй-

те ее график

2 Определите изменение целого индекса i от 0 до 15 10ix i

2sin 2i i iy x x постройте график функции i iy x

3 Постройте график функции 2 2g x y x y где перемен-

ные x и y меняются от minus5 до 5 4 Изобразите сферу Ее параметрическое представление имеет

вид

8 0 0

cos sin

sin sin

cos

R

x R

y R

z R

Число точек 30N

5 Анимация Измените определение радиуса сферы

cosR f FrameF Постройте анимационный график (число

кадров равно 20 число кадров в секунду minus 3 Просмотрите на плеере получившуюся анимацию

ВНИМАНИЕ Перед построением анимации не забудьте от-ключить АВТОМАСШТАБ

6 Постройте графики функций заданных полярно

115 0 2

31 sin 2

2

sin 31 1

2

NN

r

r

144

7 Изобразите пространственную кривую

340 1 cos

3 sin

3

i

i

i

N i N x iN

y iN

z iN

8 Увеличьте число точек N повторите построение предыду-щего графика поэкспериментируйте меняя различные параметры отображения графика

145

Самостоятельная работа 4 1 Используя команды меню Symbolic вычислите в символь-

ном виде

1 sin

dx

x 1

cosm

n

na

2 Разложите по степеням sin 5x Посчитайте производную

от полученного выражения Постройте график функции и ее пред-ставлений в виде ряда включающих 2 члена разложения 5 членов разложения и 10 членов разложения

3 Вычислите коэффициенты полинома по степеням х и у

2 2 2 25 6 7 8 9 10x y x y xy xy x y

4 Используя интегральное преобразование Лапласа (и обрат-ное преобразование Лапласа) решите в символьном виде диффе-ренциальное уравнение

sind

y t ky t tdt

5 Используя палитру символьных преобразований найдите точку в которой функция двух переменных имеет экстремум

sind

y t ky t tdt

6 Вычислите в символьном виде интеграл предположив что с minus действительное число с gt 0

0

expx ct dt

7 Используя оператор символьного вывода и блок Givenhellip Find решите в символьном виде систему уравнений

2

2

400 2 2 0

200 200 0

y x x b x

y x

146

8 Вычислите предел от функции tg x при х стремящемся к

2 minus обыкновенный слева и справа 9 Исследуйте аналитически функцию f x определите точки

максимума и минимума точки перегиба постройте графики f x

f x и f x

2

2

1

xf x

x

147

Самостоятельная работа 5 1 Найдите решения систем уравнений (если они существуют)

а) 2

23 1

2 2

yx

x y

б) 2

2

0

1 0

x

e y

x y

с помощью блоков GivenhellipFind GivenhellipMinner Проверьте все ли решения найдены

2 Решите на отрезке [0 3] задачу Коши

0 051

x

x

ey y

e

используя функцию odersolve (в блоке с Given) и функцию rkfixed Выведите значение полученного решения в точке x = 3 3 Решите задачу Коши для дифференциального уравнения

0 0 3 0 1 0 1y y y y y

на отрезке [01] используя функцию odersolve (в блоке с Given) и функцию rkadapt

4 Решите систему дифференциальных уравнений

2 3 0 0 0 5

2 0 2 0 1

x x y x x

y x y y y

на отрезке [0 3] Выведите значения искомых функций и их произ-водных в точке с координатой х =15

5 Решите краевую задачу для дифференциального уравнения

10 0 0 0 8 1

2y yy y y y

на отрезке [0 8] выведите значение функции и ее производных в конечной точке отрезка

6 Для примера из п 5 вычислите значение функции только в конечной точке Используйте специально предназначенные для это-го формы функций bulstoer rkadapt stiffb stiffr

7 Найдите корни многочлена

3 22 20 2 100y x x x x

с помощью функций root и poltroots (Обратите внимание на значе-ние системной переменной)

148

Самостоятельная работа 6 1 Составьте программу вычисляющую константу фигуриру-

ющую в легенде об изобретателе шахмат Изобретатель попросил дать ему в награду определенное количество зерна положив на

первую клетку одно зернышко ( 1 12 те 02 ) на вторую minus два зер-

нышка ( 2 12 ) на третью minus четыре ( 3 12 ) и тд (на новой клетке зе-рен в 2 раза больше чем на предыдущей) Найдите общее число зе-рен составляющих награду изобретателя Вычислите их массу приняв за массу одного зерна 03 грамма Переведите полученный результат в тонны Вы знаете это число А MathCAD знает

2 Модифицируйте программу предусмотрев выход из нее ес-

ли число зерен больше триллиона ( 1210 ) 3 Составьте программу-функцию вычисляющую по заданным

длинам сторон треугольника a b c три величины периметр тре-угольника его площадь и радиус вписанной окружности

1

2s p p a p b p c

12p a p b p c

rp

где p minus полупериметр Предусмотрите в программе оценку существования треуголь-

ника с заданными длинами сторон a b c и выдачу результата об ошибке если треугольник с указанными сторонами не существует

4 Составьте программу-функцию вычисляющую n коэффи-циентов разложения функции f x заданной на отрезке L L в

ряд Фурье minus те параметрами являются f n L 5 Используя построенную в п 4 функцию вычислите при-

ближение рядом Фурье ступенчатой функции заданной на 11

0 если 1 0

1 если 0 1

xf x

x

Рассмотрите приближения для разных n (например 3n и 40n ) Постройте график функции f x и ее приближений рядами

Фурье с различным числом членов разложения

149

Самостоятельная работа 7 1 Введите матрицу координат точек плоскости

х 01 5 11 05 34 27 19 4 47 у 10 13 5 7 3 45 6 25 15

Постройте линейную и сплайновую интерполяцию для данно-

го laquoоблакаraquo точек Постройте функции линейной полиномиальной и обобщенной регрессии для этих же точек

2 С помощью функции rnd введите 50 случайных чисел из от-резка [0 2] Постройте функции сглаживания данных (с помощью различных встроенных функций)

3 С помощью функции predict предскажите поведение функ-ции sin 2f x x на [2 4] если предположить что она задана

на отрезке 0 2 Изменится ли предсказанное поведение если в

качестве исходных данных взять функцию определенную на [0 ]

150

СПИСОК ЛИТЕРАТУРЫ 1 Демидович Б П Основы вычислительной математики

Б П Демидович И А Марон М Лань 2011 minus 672 с 2 Фаддеев Д К Вычислительные методы линейной алгебры

Д К Фаддеев В Н Фаддеева М Лань 2002 736 с 3 Вержбицкий В М Численные методы учеб пособие для

вузов В М Вержбицкий minus 2-е изд испр minus М ООО Изд дом laquoОНИКС 21 векraquo 2005 minus 400 с

4 Вержбицкий В М Численные методы Математический анализ и обыкновенные дифференциальные уравнения В М Верж-бицкий minus М Высш шк 2001 minus 382 с

5 Воробьева Г Н Практикум по численным методам Г Н Во-робьева А Н Данилова minus М Высш шк 1990 minus 208 с

6 Кудрявцев Л Д Краткий курс математического анализа учеб для вузов Л Д Кудрявцев minus М Наука Гл ред физ-мат лит 2005 minus 736 с

151

Учебное издание

Черушева Татьяна Вячеславовна Зверовщикова Наталья Васильевна

КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ ИССЛЕДОВАНИЯХ

В трех частях

Часть 1

Редактор Т В Веденеева Компьютерная верстка Р Б Бердниковой

Подписано в печать 9122015 Формат 60times84116 Усл печ л 883 Тираж 50

Заказ 1069

Издательство ПГУ

440026 Пенза Красная 40 Телфакс (8412) 56-47-33 е-mail iicpnzguru

  • Пустая страница
Page 8: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 9: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 10: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 11: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 12: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 13: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 14: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 15: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 16: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 17: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 18: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 19: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 20: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 21: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 22: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 23: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 24: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 25: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 26: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 27: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 28: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 29: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 30: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 31: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 32: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 33: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 34: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 35: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 36: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 37: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 38: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 39: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 40: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 41: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 42: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 43: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 44: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 45: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 46: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 47: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 48: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 49: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 50: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 51: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 52: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 53: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 54: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 55: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 56: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 57: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 58: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 59: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 60: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 61: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 62: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 63: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 64: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 65: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 66: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 67: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 68: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 69: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 70: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 71: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 72: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 73: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 74: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 75: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 76: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 77: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 78: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 79: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 80: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 81: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 82: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 83: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 84: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 85: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 86: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 87: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 88: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 89: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 90: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 91: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 92: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 93: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 94: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 95: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 96: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 97: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 98: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 99: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 100: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 101: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 102: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 103: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 104: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 105: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 106: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 107: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 108: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 109: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 110: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 111: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 112: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 113: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 114: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 115: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 116: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 117: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 118: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 119: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 120: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 121: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 122: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 123: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 124: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 125: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 126: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 127: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 128: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 129: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 130: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 131: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 132: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 133: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 134: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 135: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 136: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 137: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 138: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 139: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 140: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 141: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 142: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 143: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 144: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 145: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 146: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 147: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 148: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 149: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 150: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 151: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …
Page 152: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В МАТЕМАТИЧЕСКИХ …