Как построить график поверхности в mathcad
MathCAD — это просто! Часть 7. Графики поверхностей и графики кривых в пространстве
Как говорится, снова здравствуйте. Как вы уже неоднократно имели возможность убедиться, MathCAD — чрезвычайно мощный математический пакет, который позволяет пользователю решать огромное число самых что ни на есть разнообразных задач, с которыми тот только может столкнуться. Однако стоит отметить, что за все нужно платить, а потому многие задачи решаются довольно громоздко — хотя, впрочем, это проблемы не столько MathCAD’а, сколько математического аппарата, который эта программа реализует. Построение трехмерных графиков поверхностей, с которым мы с вами знакомились в предыдущей статье цикла, оказалось не такой уж и сложной задачей — большую часть статьи я, если помните, рассказывал о том, как эти графики можно потом раскрасить, чтобы они максимально удачно смотрелись в отчете, реферате или презентации. Однако сегодня мы с вами займемся более серьезным делом, чем раскрашивание трехмерных графиков — хотя с графиками, и именно трехмерными, все равно продолжим работать. Чем же мы будем заниматься? Думаю, вы сможете сами ответить на этот вопрос, если продолжите чтение данной статьи.
Когда график врет, и что следует делать в таких случаях?
Однако на этом напасти с графиками (а точнее, с отображением точек разрыва на них) далеко не заканчиваются — напротив, я бы даже сказал, все только-только начинается. Бывает, что MathCAD вполне успешно (на его собственный взгляд) справляется с такими нехорошими вещами, как разрывы функций. Делает он это, правда, в довольно-таки специфической форме: разрывы эти попросту игнорируются, и их существование на графике никаким образом не отображается. Примером этому может служить построение такого несколько экзотического графика, как z = x*y/cos(x*y). Вполне естественно предположить, что в тех точках, где знаменатель равен нулю (т. е. x*y = pi/2), график будет устремляться к бесконечности. На практике же MathCAD, что называется, «не плюется» на эту функцию, а спокойно строит нечто, что якобы является ее графиком.
Почему такое происходит? В общем-то, секретов нет — нужно только представлять себе, как именно строятся графики в MathCAD’е. Дело в том, что графики MathCAD строит дискретно, вычисляя значения функции в определенных точках, а после соединяя их прямыми. Естественно, чем меньше шаг дискретизации (т.е. расстояние между соседними вычисляемыми значениями функции), тем больше вероятность того, что при построении графика MathCAD столкнется с точкой разрыва — тогда мы получим именно тот самый случай, когда программа откажется напрочь строить такой график. Но бывает и другой случай — как раз такой, который мы сейчас вот здесь с вами рассматривали вторым. Тогда MathCAD просто пропускает точку разрыва, сглаживая ее прямыми — т.е. эта точка попадает между опорными точками, по которым программа строит график нашей поверхности. К сожалению, второй случай проблемы с точками разрыва на практике ничуть не лучше первого (хотя первоначально может показаться, что с ним довольно легко справиться). Если мы уменьшим шаг, с которым MathCAD строит опорные точки графика, то получится как раз первый случай: алгоритм построения графика успешно угодит на точку разрыва и начнет паниковать, подозревая нас в желании заставить его поделить что-нибудь на ноль. Так что, как видите, построение трехмерных графиков — задача, требующая часто творческого подхода к ее решению.
Волшебная функция CreateMesh
Мы с вами уже умеем строить графики поверхностей в трехмерном пространстве, что называется, в лоб. То есть если имеется явная функциональная зависимость координаты z (аппликаты) от x (абсциссы) и y (ординаты). Однако, к сожалению, природа по неведомым ей соображениям не пожелала ограничиться только такими зависимостями — значит, и нам с вами, может так случиться, придется строить график поверхности, заданной не какой-то функцией, а уравнением. К счастью, разработчики MathCAD предусмотрели такую возможность и предложили пользователям функцию, которая будет весьма и весьма полезна при построении подобных пространственных графиков. О ней мы с вами сейчас, конечно же, и поговорим.
Использование функции CreateMesh предполагает параметризацию той поверхности, которую вы хотите визуализировать с использованием MathCAD’а. Поскольку о параметризации я, помнится, не так уж давно рассказывал, думаю, лишний раз подробно останавливаться на том, в чем заключается суть этого процесса, не буду — лучше сразу перейдем к практике использования этой чрезвычайно полезной практически для каждого пользователя функции. Итак, во-первых, нужно задать три функции, описывающие зависимость каждой из координат (x, y, z) от двух параметров. Да, это строгое ограничение: параметров должно быть именно два — с другим числом параметров MathCAD работать не умеет. Правда, стоит отметить, что для построения подавляющего большинства широко распространенных поверхностей этого вполне хватит. Для определенности положим, что параметры у нас будут a и b. После того, как функциональная зависимость задана, функции x(a,b), y(a,b) и z(a,b) нужно сгруппировать в вектор-столбец. Напомню, что для этого нужно создать с помощью кнопки Matrix or Vector, расположенной на панели инструментов Matrix, матрицу размером 3 на 1, в элементы которой и вписать указанные функции. Далее добавляем на рабочую область MathCAD поле трехмерного графика, внизу которого пишем следующее (без кавычек): «CreateMesh(f, 0, 10, 0, 10, 50, 50)». Результаты построение одной из возможных параметрических поверхностей вы можете увидеть на рисунке.
Давайте теперь разберемся с параметрами, которые указаны для функции CreateMesh. Каждый из них, как вы наверняка догадываетесь, несет в себе глубокий смысл, а потому менять их местами не представляется возможным. Первым стоит имя нашего вектора с функциями. В принципе, запись, которую вы видите на иллюстрации, можно было бы даже несколько упростить, если бы записать в вектор не x(a,b), y(a,b) и z(a,b), а их непосредственные выражения. Однако я написал все именно в таком виде, чтобы вам было легче понять, что именно где в этом векторе стоит. После имени вектора идут соответственно минимальное и максимальное значения для первого и второго параметров. Здесь у нас границы и для a, и для b принимают, в общем-то, одни и те же значения, но на практике это может быть совершенно не так. Далее идут два параметра, указывающие MathCAD, на сколько шагов разбить указанный диапазон для построения точек, по которым уже будет чертиться собственно график. Все параметры, кроме имени вектора, описывающего поверхность, являются необязательными. И, вообще говоря, есть еще один параметр, который в данном примере опущен — он используется для работы с системами координат, и о нем, я так думаю, мы лучше поговорим как-нибудь в другой раз. Для того, чтобы показать всю простоту и мощь применения CreateMesh, приведу еще один пример, а именно построение с помощью данной функции сферы. Для этого нужно задать следующие уравнения в описанном выше примере: x(a,b) := sin(a)*cos(b); y(a,b) := sin(a)*sin(b); z(a,b) := cos(a). Кроме того, нужно поменять также и диапазоны, в которых будут изменяться a и b: первый параметр будет меняться от нуля до двух пи, второй — от нуля до пи. Результат построения сферы вы также можете увидеть на соответствующем рисунке.
Несмотря на все достоинства функции CreateMesh, она не позволяет строить в пространстве отдельных линий, что не есть хорошо. Поэтому для полноты нашего сегодняшнего разговора о разных полезных при построении трехмерных графиков функциях будет неплохо также рассмотреть и такую вещь, как CreateSpace. Фактически эту функцию можно считать аналогом CreateMesh с той лишь разницей (впрочем, оказывающейся довольно существенной), что эту функцию можно использовать для построения кривых в пространстве. Формат записи данных для CreateSpace несколько отличается от аналогичного для CreateMesh. Во-первых, параметр у кривой должен быть только один. Отсюда пляшет и количество параметров у самой функции. Для того, чтобы получить график кривой, а не поверхности, нужно включить в свойствах графика тип Scatter Plot или Data Points; также для удобства просмотра получившихся результатов желательно включить отрисовку не только точек, но и целых линий.
Справедливости ради стоит сказать, что CreateSpace позволяет создавать не только графики кривых, но и графики поверхностей — полагаю, вы уже уловили, что основное отличие этой функции от CreateMesh заключается в том, что она позволяет использовать не два параметра для параметризации поверхности, а только один. Хотя о трехмерных графиках в MathCAD’е мы поговорили уже немало, по-настоящему этот разговор еще только, можно сказать, начинается. Так что готовьте ваши компьютеры к новым интересным вещам, с которыми я вас познакомлю в серии статей «MathCAD — это просто». Ведь действительно же просто, правда?
Компьютерная газета. Статья была опубликована в номере 19 за 2008 год в рубрике soft
3D построения в Mathcad
3D построения в Mathcad. Примеры построения трехмерных поверхностей.
Содержимое разработки
3D построения в Mathcad
Выполнила студентка группы МДМ-113
MathCad – это популярная система компьютерной математики, предназначенная для автоматизации решения массовых математических задач в самых различных областях науки, техники и образования.
В системе MathCAD для вывода и интерпретации результатов расчета используется двухмерная (2D) и трехмерная (3D) графика.
Двухмерная графика подразумевает графическое представление в декартовой (График Х-У) и полярной (Полярный график) системе координат.
3D графика используется для построения трехмерных поверхностей (Surface Plot), контурных графиков (Contour Plot), 3D гистограмм (3D Bar Chart) и других трехмерных объектов.
Существует три способа построения графиков в системе MathCAD:
(они предусмотрены не для всех типов графиков).
Построение графика функции z=f(x,y) в виде поверхности в декартовой системе координат.
Для построения графика поверхности можно воспользоваться двумя способами: явным и неявным. Если вам надо только посмотреть общий вид поверхности, то MathCAD предоставляет возможность быстрого построения подобных графиков. Для этого достаточно определить функцию f(x,y) и выполнить команду Вставка График Поверхность или нажать соответствующую кнопку наборной панели График (сочетание клавиш [Ctrl+7]). В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции. MathCAD автоматически построит график поверхности.
Пример 1. Построить график функции
Пример 2. Построить график функции
Пример 4. Постройте график параметрически заданной поверхности.
Форматирование трехмерных графиков
Реферат: Построение поверхностей в Mathcad и Maple
Название: Построение поверхностей в Mathcad и Maple Раздел: Рефераты по информатике Тип: реферат Добавлен 14:27:58 24 июня 2011 Похожие работы Просмотров: 1837 Комментариев: 20 Оценило: 3 человек Средний балл: 5 Оценка: неизвестно Скачать | |
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра прикладной математики
Семестровая работа за I семестр
Тема: «Построение трехмерных графиков в Mathcad и Maple»
Выполнил: студент группы ХТ-142 Долгачев А. С.
Создание трехмерных графиков
Чтобы создать трехмерный график, требуется нажать кнопку с изображением любого из типов трехмерных графиков на панели инструментов Graph (График) (если возникнут сложности, обратитесь к. разд. 16.2). В результате появится пустая область графика с тремя осями (рис. 16.30) и единственным местозаполнителем в нижнем левом углу. В этот местозаполнитель следует ввести либо имя z функции z(x,y) двух переменных для быстрого построения трехмерного графика, либо имя матричной переменной z, которая задаст распределение данных zx,y на плоскости XY.
Рис. 16.30. Создание трехмерного графика
Рассмотрим на простом примере функции z(x,y) и матрицы z (они заданы в листингах 16.3 и 16.4, соответственно) примеры построения трехмерных графиков различных типов, создаваемых нажатием той или иной кнопки на панели Graph (График). Еще раз отметим, что для получения графиков не требуется никакого текста, кроме введения имени соответствующей функции или матрицы в местозаполнитель.
Для графиков, задаваемых матрицами, шкалу плоскости XY приходится задавать вручную. Mathcad просто рисует поверхность, точки в пространстве или линии уровня, основываясь на двумерной структуре этой матрицы. При быстром же построении графиков имеется возможность строить их в различном диапазоне аргументов, подобно двумерным графикам.
Листинг 16.3.Функция для быстрого построения трехмерных графиков
Листинг 16.4. Матрица для отображения на трехмерных графиках
Для построения графика поверхности необходимо воспользоваться клавишей Surface Plot панели инструментов Graph и следовать указаниям, описанным выше.
Рис. 16.31. Быстрое построение графика поверхности функции (листинг 16.3)
Рис. 16.32. График поверхности, заданный матрицей (листинг 16.4)
Рис. 16.33. Быстрое построение графика линий уровня функции (листинг 16.3)
Рис. 16.34. График линий уровня, заданный матрицей (листинг 16.4)
Для построения графика поверхности необходимо воспользоваться клавишей Contour Plot панели инструментов Graph и следовать указаниям, описанным выше.
Для построения графика поверхности необходимо воспользоваться клавишей 3D Bar Plot панели инструментов Graph и следовать указаниям, описанным выше.
Рис. 16.35. Быстрое построение графика трехмерной гистограммы функции (листинг 16.3)
Рис. 16.36. График трехмерной гистограммы, заданный матрицей (листинг 16.4)
Рис. 16.37. Быстрое построение графика множества точек функции (листинг 16.3)
Рис. 16.38. График множества точек, заданный матрицей (листинг 16.4)
Для построения графика поверхности необходимо воспользоваться клавишей 3D Scatter Plot панели инструментов Graph и следовать указаниям, описанным выше.
График векторного поля несколько отличается от остальных типов двумерных графиков. Его смысл заключается в построении некоторого вектора в каждой точке плоскости XY. Чтобы задать вектор на плоскости, требуются два скалярных числа. Поэтому в Mathcad принято, что векторное поле задает комплексная матрица. Действительные части каждого ее элемента задают проекцию вектора на ось х, а мнимые — на ось у.
Рис. 16.39. Графики векторного поля, заданные матрицами (листинг 16.4)
Приведенные рисунки являются лишь первым шагом в создании красочных графиков. О том, как правильно отформатировать вновь созданные графики, чтобы они приобрели оптимальный с математической точки зрения и эффектный вид, рассказано в следующих разделах.
Улучшить трехмерное представление графика часто позволяет применение к исходным данным интерполяции (см. разд. «Многомерная интерполяция» гл. 15).
- как правильно писать дресс код или дресс код
- лист глоксинии дал корешки в воде что делать дальше