Методичка MatchCAD. Практикум по курсам Информатика, Прикладное программное обеспечение
Скачать 2.28 Mb.
|
Graph / Polar Plot из пункта меню Insert или соответствую- щую кнопку панели “Graph” ”. 19 2. В маркер под рисунком ввести независимую угловую переменную (или выраже- ние). 3. В маркер перед шаблоном слева ввести зависимую переменную (или выраже- ние). 4. Нажать “Enter”. MathCAD cоздает графики по точкам: для каждого значения и r( ). По умолча- нию точки на графике соединяются прямыми (это можно изменить при форматировании графика). Если пределы изменения функции не установлены, то они будут установлены автоматически. Примеры создания двумерных графиков Технологию создания двумерных графиков покажем на следующем примере. Допустим, надо построить график функции y = sin( x 2 ) в диапазоне изменения x 0 5. Для этого определим переменную диапазона x := 0 .. 5, создадим шаблон и введем в него на место независимой переменной x, на место зависимой переменной – функцию sin(x 2 ). Результат показан на рис. 2.3а. Сразу виден недостаток такого графика – мало то- чек, по которым построена функция. Этот недостаток легко устранить путем уменьшения шага изменения x: на рис. 4.2б построена аналогичная зависимость для x := 0, 0.1 .. 5. Рисунок 2.3 – График функции при 6 (а) и 51 (б) точках Примечание: из данного примера следует, что при построении графиков в системе MathCAD соседние точки соединяются прямыми линиями, т.е. используется линейная ин- терполяция функций. Задача 1. Построить графики трех функций y=10 x, z= x 2 и x x s ) sin( 100 на одном шаблоне в диапазоне изменения –10 x 10. Решение: Определим переменную диапазона x: x := – 10 , – 9.9 .. 10 . Построим шаблон и введем в него соответст- вующие значения (при вводе нескольких значений по оси x или y они разделяются запятыми). Графики также можно строить не только в декар- товой системе координат, но и в полярной. Например, уравнение спирали в параметрической форме можно за- писать так x(s)= s cos(s) ; y(s)= s sin(s). Программа на MathCAD построения графика и график спирали приведены на рис. 2.4. 20 Приведем также пример построения графика в полярной системе координат. Допустим требуется построить график функции r ( )=cos ( ) + 1 при 0 2 . Про- грамма и график функции приведены на рис 2.5. Рисунок 2.4 – Программа на MathCAD построения графика и график спирали Рисунок 2.5 – Программа и график функции в полярной системе координат Форматирование графиков Вид графиков зависит от многих параметров, некоторые из них можно изменять (форматировать). По умолчанию приняты такие параметры, которые наиболее типичны на практике. Их можно при необходимости изменить. Рассмотрим некоторые возможно- сти форматирования. Изменение размера. Изменение размера графического блока осуществляется спо- собом, типичным для Windows – приложений: предварительно блок выделяется (пунктир- ной рамкой), а затем с помощью мыши, устанавливая курсор на специальные маркеры на контуре блока, растягивается или сжимается в соответствующем направлении. Форматирование графиков в декартовой системе координат Перед форматированием график предварительно выделяется (для этого достаточно щелкнуть мышью в области графического блока), а затем команды Format/Graph/X-Y Plot… вызывается диалоговое окно с четырьмя панельными переключателями. На рис. 2.6 показано такое окно форматирования с установленным переключателем X-Y Axes (Оси Х- У). Рисунок 2.6 – Окно форматирования с опцией X-Y Axes 21 Перечислим опции этого окна: Log scale – выбранная ось имеет логарифмический масштаб, и границы по оси должны быть положительными числами; Grid Lines – деления на выбранной оси заменяются линиями сетки; Numbered – на выбранной оси у делений проставляются числовые значения; Autoscale – определяет способ, которым автоматически устанавливаются границы на осях координат, если они не были определены вручную; Show markers – к графику добавляются фоновые линии при определённых значе- ниях, вводимых в полях ввода для осей X и Y, соответственно; Auto Grid – автоматически выбирается число интервалов сетки, созданных деле- ниями или линиями сетки на осях. Если квадратик не отмечен, можно установить число интервалов сетки вручную, печатая в поле число от 2 до 99 (если не установлен режим Log scale). Примечание: включенной опции соответствует «галочка» в небольшом окне на- против соответствующей опции. Кроме рассмотренных опций в окне форматирования, приведенном на рис. 4.6, можно установить стиль расположения координатных осей (см. рис. 2.7). Рисунок 2.7 – Различные стили расположения координатных осей Окно форматирования с переключателем Traces (линии) показан на рис. 2.8. Рисунок 2.8 – Окно форматирования с опцией Traces Перечислим назначения опций этого окна. LegendLabel – обозначение линий у оси ординат; 22 Symbol Frequency – частота символов, отмечающих точки на данной кривой (оп- ределяет, будет ли отмечаться каждая точка или каждая 2-я, 3-я и т.д.); Symbol – выбор символа, которым маркируется данная кривая; Symbol Weight – размер такого символа; Line – установление вида линий (сплошные, пунктирные и т.д.); Line Weight – толщина линии; Color – установление цвета линии; Type – задание некоторых типов графиков; Форматирование графиков в полярной системе координат При форматировании графический блок выделяется, а затем с помощью команд Format/ Graph/ PolarPlot… вызывается меню форматирования с панельными переклю- чателями (см. рис. 2.9). Опции окна форматирования во многом аналогичны таковым для предыдущего случая. Рисунок 2.9 – Окно форматирования с опцией Polar Axes Вторая ось по Y Начиная с версии MathCAD – 12, появилась дополнительная возможность добавле- ния второй оси Y с собственной шкалой значений. Это удобно, когда на одном графике выводятся значения, сильно отличающиеся по величине. Для того, чтобы задать вторую ось ординат, необходимо выделить соответствую- щий график, открыть окно форматирования (см. рис.2.6) и в нем установит флажок Enable secondary Y axis. После этого становится доступной вкладка Secondary Y axis – в ней можно установить желаемые параметры для второй оси. В качестве простого примера на рис. 2.10 построен график двух функций, сильно отличающихся масштабами. 23 0 1 2 3 4 5 1 0 1 0 50 100 150 sin x ( ) exp x ( ) x Рисунок 2.10 – Пример графика с двумя осями ординат 2.2 Трехмерные графики В системе MathCAD можно строить трехмерные графики следующих типов: график трехмерной поверхности (Surface Plot); график линий уровня (Contour Plot); трехмерная гистограмма (3D Bar Plot); трехмерное множество точек (3D Scatter Plot); векторное поле (Vector Field Plot). Мы здесь рассмотрим только способы построения поверхностных и контурных графиков. При этом ограничимся простым примером. Задача 2. Построить поверхностные и контурные графики функций 20 ) , ( 1 2 2 y x y x z и 20 ) ( ) , ( 2 2 2 y x y x z . Решение: Ниже приводится последовательность действий для двух вариантов решения. В первом варианте графики функций строятся стандартными методами, во втором – используется специальная функция CreateMesh. Вариант № 1 1. Определяем функцию z1(x,y) z1 x y ( ) x 2 y 2 20 2. Используя панель Graph или меню Insert создаем шаблон будущего трехмерного графика (Surface Plot) 24 3 . В маркер внизу шаблона вводим имя функции (без указания параметров) и нажимаем Enter. Рядом аналогично строим график линий уровня (Contour Plot). z1 z1 4. Используя панель форматирования, показанную ниже, отформатируем графики - придадим им более красочный (более информативный) вид z1 z1 25 5. В случае поверхностного графика можно отображать несколько функций. Для примера определим еще одну функцию - z2 и добавим ее на график. z2 x y ( ) x 2 y 2 20 z1 z2 6. С помощью мыши графики можно: а) вращать; б) приближать-удалять (Ctrl+мышь); в) анимировать вращение (Shift+мышь). Попробуйте - это очень просто. Также с помощью панели 3-D Plot Format можно изменить окраску, применить подсветку, напустить туман и использовать прочие эффекты, описание которых не входит в планы данной работы. Недостатком данного метода является то, что область определения функций зафиксированы относительно нуля для аргументов функции – это хорошо видно на кон- турном графике. Этот недостаток устраняется во втором варианте, в котором ис- пользуется специальная стандартная функция CreateMesh(z1, xo, x1, yo, y1, mesh), где z1- имя функции; xo, x1 и yo, y1 – начальные и конечные значения ее аргументов, mesh – па- раметр функции, определяющий количество узлов графической сетки (по каждому изме- рению). Вариант № 2 1 . Определяем функцию z1(x,y) z1 x y ( ) x 2 y 2 20 2. Задаем параметры x0, x1 и y0, y1 - граничные значения аргументов функции и параметр mesh - количество линий создаваемой сетки x0 0 x1 20 y0 0 y1 20 mesh 20 3. С помощью функции CreateMesh определяем матрицу M. содержащую значения функции z1 для заданной сетки M CreateMesh z1 x0 x1 y0 y1 mesh ( ) 26 4. Создаем шаблон и в его маркер вводим имя матрицы M - получим графики M M Видно, что мы здесь построили «четвертинку» от предыдущего графика, постро- енного в варианте 1. Таким образом, меняя параметры функции CreateMesh можно до- биться нужного результата. Упражнения 1. Создайте переменную диапазона x с заданным шагом и вычислите функцию sinh(x), называемую интегральный синус, в каждой точке изменения переменной. По- стройте и отформатируйте график функции. Номер варианта Интервал изменения Шаг 1 -5 3 -10 2 -7 Функция f1(x) Функция f2(x) Диапазон 1 -10 27 Номер варианта Функция f1(x) Функция f2(x) Диапазон 5 -π -10 -2 -4 Функция ( ) Номер варианта Функция ( ) 1 6 -2ctg( ) 2 2 +1 7 3 8 2sin(6 ) 4 2sin(3 ) 9 5 2cos +3 10 4. Постройте график функции, заданной параметрически: x = s cos(n1 s), y = s sin(n2 s), где n1 и n2 – заданные целые числа. 5. В полярной системе координат постройте график логарифмической спирали, за- данной параметрически =a t, =r e bt , где a, b и r – некоторые параметры. Исследуйте вид графика от этих параметров. 6. Постройте график трехмерной поверхности и контурный график функции двух переменных z(x, y)=-sin(2xy) двумя способами. 7. Постройте график функции двух переменных Вариант Функция Вариант Функция 1 6 2 7 3 8 4 9 5 10 28 8. Контрольные вопросы 1. Какая переменная называется ранжированной? 2. Как определить ранжированную переменную с заданным шагом? Какой шаг по умолчанию? 3. Какие графики позволяет строить MathCAD? 4. Как построить график? 5. Как построить несколько графиков в одной системе координат? 6. Как отформатировать построенный график? 7. Как построить график, заданный параметрически? 8. Как добавить дополнительную ось y? 9. Какие типы трехмерных графиков можно построить? 29 ЛАБОРАТОРНАЯ РАБОТА № 3 СТАНДАРТНЫЕ ФУНКЦИИ. ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ Цель: научиться применять стандартные функции, создавать функции пользова- теля при решении задач. 3.1 Основные стандартные функции общего назначения Набор встроенных функций поставляется вместе с пакетом MathCAD. Их список вместе с кратким описанием можно посмотреть, если использовать команду меню Math/Insert Function. В Таблица 3.1 описаны некоторые функции общего назначения. Таблица 3.1 – Некоторые основные функции общего назначения Название Обозначение в MathCAD Примечание Экспоненциальная функция exp(x) Натуральный логарифм ln(x) x 0 Логарифм от x с основа- нием b log(x,b) x 0. Если b отсутствует, то по умолча- нию предполагается, что b=10 (десятич- ный логарифм) Синус sin(x) x должно быть в радианах Косинус cos(x) x должно быть в радианах Тангенс tan(x) x должно быть в радианах Котангенс сot(x) x должно быть в радианах Арксинус asin(x) Возвращается значение в радианах Арккосинус acos(x) Возвращается значение в радианах Арктангенс atan(x) Возвращается значение в радианах Арккотангенс acot(x) Возвращается значение в радианах Угол радиус-вектора angle(x,y) Возвращает угол (в радианах) между по- ложительным направлением оси х и точ- кой (x,y) Выделение действитель- ной части комплексного числа Re(z) z – комплексное число Выделение мнимой час- ти комплексного числа Im(z) z – комплексное число Округление до ближай- шего меньшего целого floor(x) Округление до ближай- шего большего целого ceil(x) Остаток от деления mod(x1,x2) Возвращает остаток от деления целого x1 на целое x2 со знаком x1 Функция случайных чи- сел rnd(x) Возвращает псевдослучайное число в диапазоне 0…x Задача 1. Рассмотрим на примере задачи о случайном блуждании пешехода ис- пользование стандартной функции rnd(x). Допустим, что пешеход в силу некоторых об- стоятельств может двигаться только в одном направлении, для определенности – влево и вправо. Кроме того, у пешехода полностью потеряно чувство ориентации, т.е. выбор 30 направления каждого шага у него происходит случайным образом. Требуется рассчи- тать траекторию его движения и конечное положение. Решение. Программа решения данной задачи и график приведены ниже. Функция if Ее описание: If(<условие>,<выражение1>,<выражение2>). Здесь <условие> – выражение, содержащее условие; <выражение1> и <выраже- ние2> – любые допустимые математические выражения MathCAD. Если <условие> выполняется, то данная функция возвращает значение <выраже- ние1>, в противном случае – <выражение2>. <Условие> записывается в виде логического выражения, в состав которого могут входить любые логические операторы. Допускаются вложенные конструкции if: If(<условие1>, <выражение1>, If(<условие2>, <выражение2>, <выражение3>). Рассмотрим пример для данной функции. Задача 2. Рассчитать значения y по следующей формуле 1 0 , sin 1 0 , 6 1 2 x x x x x y , построить график функции y(x) в диапазоне x=-2…2. Решение. Программа на MathCAD приведена ниже. p 0.5 вероятность шага вл ево N 10000 количество шагов i 0 N r i rnd 1 ( ) вектор сл учайных чисел x 0 0 начал ьное положение пешехода x i 1 x i r i p r i p хожд ение 0 50 00 1 10 4 10 0 50 0 50 x i 0 i Здесь верх графика соответствует левому направлению движения, а низ - правому. 31 3.2 Функции пользователя Несмотря на наличие в MathCAD большого количества встроенных функций (часть их перечислена выше), на практике может возникнуть потребность в новых функциях. Их можно создавать самим – такие функции будем называть функциями пользователя. При этом следует отметить, что возможности функций, создаваемых с помощью стандартного аппарата системы MathCAD, довольно ограничены: по существу, это однострочные функции (или функции – операторы, как их называют в некоторых языках программиро- вания). Для создания более мощных функций необходимо использовать встроенный в MathCAD язык программирования, который, как уже неоднократно отмечалось, здесь не рассматривается. Функции пользователя определяются при помощи следующей конструкции: <имя функции>(<список аргументов>):=<выражение>. Здесь: <имя функции> – уникальное имя функции; 4>2>10>5>10>10>2>15>12>1>0>1>6>5> |