
Введение в профессию 11.03.04, 09.03.01-1
.pdf
Введение в профессию 11.03.04, 09.03.01
•создают объект, связывая с ним его имя – идентификатор;
•определяют тип объекта;
•инициализируют (задают) объект значением.
Вкачестве определяемого объекта могут выступать переменные и функции. Листинг 1 демонстрирует примеры применения операторов определения объектов различного типа: вещественного числа a, векторов b и c, матрицы A и функции z(x).
Листинг 1. Операторы определения и индикации
Тип объекта, соответствующего тому или иному имени-идентификатору, определяется типом правой части. Далее любые операции с объектом интерпретируются в соответствии с его определенным типом.
Впримере (Листинг 1) определена функция z(x), которая получает в качестве аргумента комплексное число x и возвращает в качестве значения комплексносопряженное число. Функция, задаваемая подобным образом, называется функцией, определяемой пользователем. В скобках после имени функции находится список формальных параметров. В рассмотренном примере этот список состоит из единственной переменной x. При вызове – применении этой функции формальные параметры заменяются фактическими. До вызова функции, переменные, перечисленные в списке формальных параметров, будут оставаться неопределенными.
Тип объекта, возвращаемого функцией, т.е. связанного с ее именем, определяется по контексту определения точно так же, как это происходит при определении переменной. Например, sin(x) возвращает вещественное число, а |x| – целое число.
Всоставе определения функции могут присутствовать переменные, не передаваемые через список формальных параметров. В этом случае такие переменные должны быть определены до оператора назначения функции. Необходимо отметить, что передача параметров через глобальные переменные в общем случае нежелательна, т.к. нарушает изолированность функции и может служить источником трудно обнаруживаемых ошибок.
Виды операторов определения MathCAD
Операторы назначения в MathCAD имеют три разновидности:
•:= оператор назначения (стандартный);
•оператор глобального назначения;
•оператор локального назначения в блоке.
Все три разновидности операторов, помимо операции присваивания значения правого операнда левому, выполняют передачу типа левому операнду.
Оператор := связывает значение и тип объекта с его идентификатором во всех регионах, выполняемых после региона, содержащего этот оператор.
Оператор действует на все регионы рабочего листа независимо от их расположения относительно региона, содержащего этот оператор.
Оператор предназначен для использования в изолированных блоках, формируемых при программировании в пределах одного региона. Действие этого оператора распространяется только на тот регион, в котором он расположен. На Рис. 6 показан пример переопределения типа и значения объекта a.
11

Глава 1. Программный комплекс MathCAD
переменная а определена глобальным назначением ниже
переменная а переопределена назначением :=
переменная а переопределена назначением назначение оператора распространяется только на этот блок
переменная а определена глобальным назначением
Рис. 6 – Области действия (видимости) операторов назначения
Действие оператора глобального назначения распространяется на все пространство рабочего листа. Появление в регионе оператора назначения := вызывает переопределение типа объекта, сохраняющееся до появления следующего оператора назначения, которым может быть либо еще один оператор :=, либо (как в примере) оператор глобального назначения .
Оператор локального назначения не оказывает никакого действия на тип и значение объекта a за пределами блока, выделенного слева жирной вертикальной чертой. Такие блоки создаются при использовании инструментальной панели «Программирование» и занимают один регион.
Определенные однажды объекты могут быть переопределены в последующих регионах. Таким образом, при интерпретации действий с объектом актуально последнее, ближайшее к точке выполнения определение его типа. Если на рабочем листе есть несколько операторов глобального назначения , то свойство «глобальности» сохраняет только последний из них.
Рис. 7 – Диалоговое окно выбора стандартной функции из библиотеки
12

Введение в профессию 11.03.04, 09.03.01
MathCAD содержит несколько сотен встроенных стандартных функций, которые можно использовать в расчетах. Для вставки функции нужно нажать пиктограмму или в меню выбрать опцию «Вставить Функцию» – откроется окно выбора (Рис. 7), где все функции размещены по категориям.
Операторы индикации значений
Весьма часто при выполнении вычислений требуется выводить на экран значения того или иного объекта, либо результата выполнения выражения. Эта задача решается операторами индикации значений. В MathCAD существуют два вида операторов индикации:
•= оператор индикации числовых значений;
•оператор индикации символьных значений.
Рис. 8 – Диалоговое окно задания формата вывода чисел
Оператор индикации символьных значений применяется для вывода результатов символьных преобразований, значений объектов, в составе которых имеются компоненты с неопределенными числовыми значениями. Такими объектами являются, например, функции с формальными параметрами, формульные выражения при выполнении над ними операций символьных преобразований (Рис. 8).
1.4.Исследование функции при помощи пакета MathCAD
Общая схема исследования функции известна еще из курса средней школы:
1.Найти область определения функции. Выделить особые точки (точки разрыва).
2.Проверить наличие вертикальных асимптот в точках разрыва и на границах области определения.
3.Найти точки пересечения с осями координат.
4.Установить, является ли функция чётной или нечётной.
5.Определить, является ли функция периодической или нет;
6.Найти точки экстремума и интервалы монотонности (возрастания и убывания) функции.
7.Найти точки перегиба и интервалы выпуклости-вогнутости.
8.Найти наклонные асимптоты функции.
9.Построить график функции.
Рассмотрим, насколько облегчается этот процесс при использовании MathCAD. Рассмотрим сначала последний (целевой) пункт списка – построение графика. Средства
13

Глава 1. Программный комплекс MathCAD
MathCAD позволяют начать(!) исследование функции с построения графика. Согласитесь, это значительно проще и нагляднее. Однако, имейте ввиду, что построение графика – это еще не конец исследований, это начало.
Вывод графиков в MathCAD
Вывод графической информации производится в графических регионах с использованием шаблонов, создаваемых инструментами панели «Графики». На рисунке показан начальный вид шаблона в прямоугольной (декартовой) системе координат
(значок или комбинация клавиш Shift+2). Здесь изображена прямоугольная область «экрана», на которой будет строиться график, а также имеются поля ввода выражения для переменной, значения которой отображаются по вертикальной оси (Поле Y – ордината) и переменной, отображаемой по горизонтальной оси (Поле X – абсцисса).
а) |
б) |
Рис. 9 – Шаблон вывода графика
После занесения выражений отображаемых переменных на шаблоне появляются поля ввода границ диапазонов этих переменных (Min X, Max X, Min Y, Max Y), в пределах которых происходит построение графика (Рис. 9, б). Если выражение для y(x) определено к моменту заполнения шаблона, то график выдается сразу после его занесения в Поле Y, при этом границы изменения x устанавливаются по умолчанию, а границы изменения y определяются автоматически.
Рис. 10 – Вывод нескольких графиков в одних осях. Панель настройки графика
14

Введение в профессию 11.03.04, 09.03.01
В MathCAD при построении графиков непрерывных зависимостей y(x) производится автоматический выбор шага независимой переменной x. Если требуется, выбора шага построения графика можно задать принудительно. Для этого надо перед графическим регионом ранжировать массив x переменных с требуемым шагом изменения, например, x:= 0, 0.1 .. 1. В этом случае при построении графика значения y(x) будут вычисляться только в точках x1=0; x2=0.1; x3=0.2 и т.д. до x11=1. Массивы значений (xi ,y(xi)) будут образовывать узловые точки графика, по умолчанию узловые точки графика будут соединены отрезками прямой.
Графические регионы позволяют строить в одних осях несколько графиков одновременно. Для этого необходимо в Поле Y поместить список выводимых переменных, разделенных запятыми. Запятая при этом не отображается, а каждое имя вводимой переменной помещается на новую строку. На рисунке (Рис. 10, а) приведен пример графика, отображающего две различные зависимости (от одной переменной х).
Абсциссы графиков так же могут быть представлены разнотипными переменными – как дискретными, так и непрерывными, они так же должны перечисляться через запятую.
График в MathCAD допускает гибкую настройку. Двойной клик в поле шаблона вызывает на экран диалоговое окно настройки с четырьмя вкладками (Рис. 10, б). Назначение большинства элементов управления, размещенных на вкладках окна, понятно из соответствующих подписей.
На вкладке X-Y Axes устанавливаются параметры осей графика и размерной сетки в его поле. Вкладка Traces позволяет настроить параметры линий, отображающих графики. Здесь можно выбрать тип графика (Type), цвет отображения графика (Color), вид линии (Line), вид символа, помечающего положение узловых точек (Symbol).
1.5.Исследование функции при помощи пакета MathCAD
Исследование области определения
Это очень важный шаг исследования функции, так как все дальнейшие действия будут проводиться на области определения.
В приложении к элементарным функциям и их суперпозициям, учитываются следующие знания:
•для дробных функций f (x) g(x) необходимо найти нули знаменателя и исключить их из области определения g(x) 0 ;
•для логарифмической функции loga (g(x)) – область определения задается неравенством g(x) 0 ;
•для корня ng(x) четной степени n – область определения находится из
неравенства g(x) 0 .
Если имеется возможность сразу же оценить область значений функции, то это необходимо сделать.
Вычисление пределов функции в MathCAD
Самое главное при исследовании области определения – осмыслить поведение функции на ее границах – в особых точках и на бесконечности (при x→±∞). Для этого используется такой математический аппарат, как предел (limit) функции, при этом используется шаблон предел функции и предел функции справа (слева): из вкладки calculus (мат.анализ).
Из графика не всегда ясно, как ведет себя функция в тех или иных точках. Например, на Рис. 11, четко видно, что при x→∞ и при x→-∞ функция f(x) бесконечно убывает, что и подтверждается вычисленными пределами. Но поведение f(x) вблизи особой точки x=3 из графика не ясно. Изменив масштаб графика можно более подробно рассмотреть особую точку (см. Рис. 12 - это та же самая функция, что и на Рис. 11). Рассмотрим пределы справа и слева в этой точке x=3.
15

Глава 1. Программный комплекс MathCAD
Рис. 11 - Вычисление пределов функции на +∞ и на -∞
Рис. 12 - Вычисление пределов функции справа и слева в точке
Пределы могут быть вычислены не всегда. Рассмотрим Рис. 13: заданная здесь функция g(x) так же имеет особую точку x=3, однако пределы при приближении слева и справа к этой точке различные, а потому общий предел не существует (undefintd).
Рис. 13 - Вычисление пределов функции справа и слева в точке
16

Введение в профессию 11.03.04, 09.03.01
Листинг 2. Вычисление пределов в MathCAD
Область определения приведенной на листинге функции: x 0 , то есть, 0 0, . С учетом вычисленных пределов, можно заключить, что прямая
x 0 – вертикальная асимптота, при x функция стремится вверх со скоростью экспоненты, а при x монотонно возрастает бесконечно, приближаясь к нулю снизу.
Поиск корней функции
Задача решения нелинейных (трансцендентных) уравнений состоит в поиске всех значений переменных, удовлетворяющих данному уравнению. На листинге ниже (Листинг 3) приводится пример поиска корней кубической параболы F (x) , на
интервале x 5, 5 . Этот способ визуальный и очень грубый.
Корни могут быть уточнены методом табуляции – вычисления значений функции в точках x, выбираемых из интервала 4, 4 с шагом 0.5. Точность
вычисления корней при таком методе не превосходит =0.5. Для выделения корня с заданной точностью необходимо повторить вычислительный эксперимент требуемое число раз, уменьшая каждый раз границы интервала табуляции, шаг табуляции и точность вывода полученных значений на экран (Рис. 8).
Листинг 3. Табуляция функции и построение графика
17

Глава 1. Программный комплекс MathCAD
Впакете MathCAD существует встроенная функция root(f(x),x), выполняющая такие действия автоматически. Нужно только явно задать функцию f(x) и начальное значение x0, от которого начинается итерационное численное уточнение корня.
Впримере (Листинг 4) приведены примеры уточнения корня трансцендентной
функции f x x2 sin x e x , для различных начальных условий.
Можно видеть, что значения отличаются друг от друга, начиная с четвертого знака после запятой. Это связано с тем, что точность расчетов по умолчанию имеет
значение TOL 10 3 .
Численные расчеты всегда выполняются с определенной точностью. Эта точность задается константой TOL.
Меняя принудительно значение TOL, как в примере (Листинг 4), можно управлять точностью вычислений.
Листинг 4. Поиск корней функции. Точность численного метода
Аналитические функции поиска корней нелинейного уравнения
Пара операторов Given-Find и Given-Minerr позволяет находить корни уравнения аналитически (см. Листинг 5). Здесь точность вычисления корня не зависит от TOL, а ограничивается точностью округления вещественных чисел.
Листинг 5. Поиск решения уравнений при помощи Given-Find и Given-Minerr
Для автоматизированного поиска экстремумов функции используются операторы Given-Minimize и Given-Maximize (Листинг 6). Для выполнения поиска экстремумов необходимо задать начальное приближение x, так как максимумов и
18

Введение в профессию 11.03.04, 09.03.01
минимумов у функции может быть несколько, и поиск производится в окрестности начального приближения.
Листинг 6. Поиск экстремумов функции. Начальные условия.
Кроме того, диапазон поиска экстремума можно ограничить при помощи неравенства-ограничения, накладываемого на начальное приближение x. Список неравенств-ограничений (в предыдущем примере он такой: 1 x 6 ) располагается после оператора Given, но перед Minimize или Maximize.
Построение точек экстремума и точек перегиба
Из определения и геометрических свойств производной функции в точке следует, что изменение знака первой производной определяет участки монотонности функции и точки экстремума, а знак второй производной – участки выпуклости (вогнутости) и точки перегиба.
В MathCAD существует встроенный инструмент, позволяющий аналитически находить производную любой функции, составленной из произвольной комбинации элементарных функций. Если же этого не достаточно, то существует возможность
численно находить производную любой функции в точке (из области определения).
Как |
видно |
из |
примера |
(Листинг 7), |
корни |
полинома |
|
p(x) a |
a x a x2 |
... a xn |
можно |
найти используя |
встроенную |
функцию |
|
0 |
1 |
2 |
n |
|
|
|
|
polyroots(v). В качестве аргумента функции polyroots должен вводиться вектор
коэффициентов полинома v a0 , a1, a2 |
, ..., an . А результат действия функции |
polyroots – это вектор корней полинома |
p(x) , причем, кратные корни встречаются |
положенное количество раз.
В примере (Листинг 7) опущен процесс поиска корней производной функции dp(x) – точек экстремума и корней второй производной dp(x) – точек перегиба: этот поиск производится аналогично при помощи функции polyroots.
|
Исследование полинома – самый простой из примеров исследования функции. |
||||||||||
Полином |
|
5 |
степени, |
очевидно, |
имеет |
5 |
корней |
– |
|||
x1 |
5, |
x2 1, x3 1, |
x4 2, |
x5 3 , и |
(так |
как первая |
производная имеет 4-ю |
||||
степень) |
– |
4 экстремума: |
x '1 3.981, x '2 |
1, |
x '3 0.797, |
x '4 2.584 . Кроме того, |
|||||
он |
имеет |
3 точки |
перегиба x ''1 2.943, |
x ''2 0.144, x ''3 |
1.887 , |
так как |
вторая |
производная имеет 3-ю степень.
19

Глава 1. Программный комплекс MathCAD
Листинг 7. Исследование экстремумов и перегибов
Возможность автоматически строить производные практически любой функции в комплексе с богатым набором средств отыскания корней функции делают задачу отыскания точек экстремума и точек перегиба чрезвычайно легкой. Для этого необходимо:
• вычислить dp(x) df (x)dx – первую производную функции f (x) и найти ее корни аналитически или численно;
•найденные точки – точки экстремума, а интервалы между ними и границами области определения – участки монотонности;
•вычислить ddp(x) d 2 f (x)dx2 dp(x)
dx – вторую производную функции f (x) (или первую производную от dp(x) ) и найти ее корни;
•найденные точки – точки перегиба, а участки, расположенные между точками перегиба и границами области определения – участки вогнутости или выпуклости.
Листинг 8. Исследование экстремумов и перегибов
y(x) : ln xx 12 ; область определения D( y) ; 2 1; .
Исследуем функцию на экстремумы и монотонность. Вычислим первую производную:
Находим особые |
|
точки |
x1 1, x2 2 . |
Определим знак производной на |
|||
интервалах, на которые особые точки делят область определения функции: |
|||||||
|
y(x) |
возрастает |
возрастает |
|
|||
|
|
|
|
|
|
|
|
|
y (x) |
+ |
-2 |
-1 |
+ |
х |
|
Функция возрастает на интервалах |
; 2 , |
1; . Экстремумов нет. |
Исследуем функцию на выпуклость и точки перегиба. Найдем вторую производную:
20