Как сделать сглаживание графика в маткаде

Добавил пользователь Алексей Ф.
Обновлено: 01.09.2024

Как говорится, снова здравствуйте. Как вы уже неоднократно имели возможность убедиться, MathCAD — чрезвычайно мощный математический пакет, который позволяет пользователю решать огромное число самых что ни на есть разнообразных задач, с которыми тот только может столкнуться. Однако стоит отметить, что за все нужно платить, а потому многие задачи решаются довольно громоздко — хотя, впрочем, это проблемы не столько MathCAD'а, сколько математического аппарата, который эта программа реализует. Построение трехмерных графиков поверхностей, с которым мы с вами знакомились в предыдущей статье цикла, оказалось не такой уж и сложной задачей — большую часть статьи я, если помните, рассказывал о том, как эти графики можно потом раскрасить, чтобы они максимально удачно смотрелись в отчете, реферате или презентации. Однако сегодня мы с вами займемся более серьезным делом, чем раскрашивание трехмерных графиков — хотя с графиками, и именно трехмерными, все равно продолжим работать. Чем же мы будем заниматься? Думаю, вы сможете сами ответить на этот вопрос, если продолжите чтение данной статьи.

Когда график врет, и что следует делать в таких случаях?

Естественно, любой, даже самый точный, график — всего лишь приближенная визуализация некоторой математической функции. Математики даже часто, чтобы это подчеркнуть, говорят не о построении графиков, а об их схематическом изображении. Но, как правило, даже довольно грубого метода построения трехмерных графиков вполне хватает для того, чтобы получить представление о поведении функции в тех или иных областях пространства. На самом деле проблемы, возникающие при построении графиков в MathCAD'е, куда более серьезны и связаны с разрывами функций. Во-первых, MathCAD часто вовсе не захочет строить график тех функций, для которых он найдет неустранимые разрывы в области построения графика. К примеру, попробуйте построить график z = 1/x + 1/y на стандартном для трехмерных графиков интервале от -5 до +5 и посмотрите, что получится. Естественно, вдоль прямых x = 0 и y = 0 график будет уходить в бесконечность. Заранее хочу предупредить, что ничего хорошего получиться не может: неустранимый разрыв на то и неустранимый, что поделать с ним ничего, собственно говоря, попросту невозможно. Поэтому здесь придется как-то изловчаться: искать точку разрыва и строить графики отдельно для областей справа и слева от нее. Если точек разрыва много (например, для периодических функций в знаменателе), то это может оказаться довольно-таки утомительно, но на самом деле какого-либо общего и простого метода решения данной проблемы просто не существует.

Однако на этом напасти с графиками (а точнее, с отображением точек разрыва на них) далеко не заканчиваются — напротив, я бы даже сказал, все только-только начинается. Бывает, что MathCAD вполне успешно (на его собственный взгляд) справляется с такими нехорошими вещами, как разрывы функций. Делает он это, правда, в довольно-таки специфической форме: разрывы эти попросту игнорируются, и их существование на графике никаким образом не отображается. Примером этому может служить построение такого несколько экзотического графика, как z = x*y/cos(x*y). Вполне естественно предположить, что в тех точках, где знаменатель равен нулю (т. е. x*y = pi/2), график будет устремляться к бесконечности. На практике же 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: первый параметр будет меняться от нуля до двух пи, второй — от нуля до пи. Результат построения сферы вы также можете увидеть на соответствующем рисунке.

Функция CreateSpace

Несмотря на все достоинства функции CreateMesh, она не позволяет строить в пространстве отдельных линий, что не есть хорошо. Поэтому для полноты нашего сегодняшнего разговора о разных полезных при построении трехмерных графиков функциях будет неплохо также рассмотреть и такую вещь, как CreateSpace. Фактически эту функцию можно считать аналогом CreateMesh с той лишь разницей (впрочем, оказывающейся довольно существенной), что эту функцию можно использовать для построения кривых в пространстве. Формат записи данных для CreateSpace несколько отличается от аналогичного для CreateMesh. Во-первых, параметр у кривой должен быть только один. Отсюда пляшет и количество параметров у самой функции. Для того, чтобы получить график кривой, а не поверхности, нужно включить в свойствах графика тип Scatter Plot или Data Points; также для удобства просмотра получившихся результатов желательно включить отрисовку не только точек, но и целых линий.

Справедливости ради стоит сказать, что CreateSpace позволяет создавать не только графики кривых, но и графики поверхностей — полагаю, вы уже уловили, что основное отличие этой функции от CreateMesh заключается в том, что она позволяет использовать не два параметра для параметризации поверхности, а только один. Хотя о трехмерных графиках в MathCAD'е мы поговорили уже немало, по-настоящему этот разговор еще только, можно сказать, начинается. Так что готовьте ваши компьютеры к новым интересным вещам, с которыми я вас познакомлю в серии статей "MathCAD — это просто". Ведь действительно же просто, правда?

SF, [email protected]

Компьютерная газета. Статья была опубликована в номере 19 за 2008 год в рубрике soft

В этом уроке мы рассмотрим варианты графиков, доступных в PTC Mathcad Prime 3.0.

Типы графиков

Чтобы изменить тип графика, нажмите на него, затем выберите на вкладке Графики –> Кривые –> Изменить тип. Ниже представлены рисунки четырех типов графиков для функции:

mathcad_08_01

mathcad_08_02

mathcad_08_03

mathcad_08_04

mathcad_08_05

В списке есть еще некоторые типы осей – некоторые из них мы будем использовать позднее.

Несколько графиков на одних осях

Чтобы добавить кривую на оси, поместите курсор после обозначения легенды оси Y графика и нажмите Графики –> Кривые –> Добавить кривую. Появится еще один местозаполнитель для оси Y:

mathcad_08_06

Вы можете добавить больше графиков с помощью этой же команды.

С помощью вывода нескольких графиков на одни оси мы посмотрим различные настройки из меню Графики –> Стили. Для этой цели мы создадим оси с пятью различными прямыми линиями. Каждая линия содержит 11 точек:

mathcad_08_07

Ниже этих выражений вставьте график XY, затем добавьте четыре легенды для оси Y. В местозаполнителе для оси Xвведите x[iи нажмите [Enter] – для всех пяти графиков будет использоваться одна легенда по оси X. В последний местозаполнитель для оси Y введите y[0,i и [Enter]:

Выше следует ввести y[1,i, еще выше — y[2,i и т.д. После завершения Вы увидите пять прямых линий. Свойства каждой из них можно изменить, выбрав легенды оси Y соответствующего графика и выбрав необходимые настройки на меню Графики –> Стили.

Ниже представлены получившиеся графики. Использовались различные настройки для толщины, цвета, стиля линий и символов:

mathcad_08_08

mathcad_08_09

mathcad_08_10

mathcad_08_11

Метки и их значения мы убрали с помощью меню Графики –> Оси.

Масштабирование

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

mathcad_08_12

mathcad_08_13

Маркеры

Чтобы узнать точные значения по графику, можно использовать маркеры из меню Графики –> Маркеры. Стиль линий маркеров можно изменять таким же способом, как и для обычных графиков:

mathcad_08_14

В местозаполнителях заголовка введите x и y. Числа заполните, как на рисунке:

mathcad_08_16

mathcad_08_17

Таблица данных в Mathcadцелесообразно использовать, если данных немного. Для большого числа данных лучше совместно использовать Mathcad и Excel – об этом мы поговорим в уроке 17.

Полярный график

Построим график спирали в полярных координатах:

mathcad_08_18

Вставьте полярный график с помощью Графики –> Кривые –> Вставить график –> Полярный график. В местозаполнители введите данные, как на рисунке, и нажмите [Enter]:

mathcad_08_19

mathcad_08_20

Параметрический график

Этот график окружности построен с использованием параметра t:

mathcad_08_21

Графики в логарифмическом масштабе

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

Построим график функции y=x­ 2 , но с использованием параметра:

mathcad_08_22

Чтобы сделать ось X логарифмической, выберите легенду оси X и нажмите Графики –> Оси –> Логарифмический масштаб. Проделайте то же самое для оси Y. В логарифмическом масштабе эта функция представляет собой прямую линию:


Нестандартные графические построения в системе компьютерной алгебры MathCad.

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

Существует три способа построения графиков в системе MathCAD:

  • можно воспользоваться позицией Главного меню Insert, выбрав команду Graph и в раскрывающемся списке - тип графика;
  • выбрать тип графика на наборной панели Graph, которая включается кнопкой на панели Math;
  • воспользоваться быстрыми клавишами ( они предусмотрены не для всех типов графиков).

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

Содержимое разработки

Расширенные средства графических построений системы mathcad Выполнила: Прончатова А.

Расширенные средства графических построений системы mathcad

Выполнила: Прончатова А.

Mathcad — это популярная система компьютерной математики, предназначенная для автоматизации решения массовых математических задач в самых различных областях науки, техники и образования. Название системы происходит от двух слов — MATHematica (математика) и CAD (Computer Aided Design — системы автоматического проектирования, или САПР). Так что вполне правомерно считать Mathcad математическим САПР

Mathcad — это популярная система компьютерной математики, предназначенная для автоматизации решения массовых математических задач в самых различных областях науки, техники и образования. Название системы происходит от двух слов — MATHematica (математика) и CAD (Computer Aided Design — системы автоматического проектирования, или САПР). Так что вполне правомерно считать Mathcad математическим САПР

MathCAD предоставляет широкие возможности для построения графиков. Графические построения являются универсальными и легкими в использовании. Программа позволяет строить графики на плоскости и в трехмерном пространстве. Можно использовать, декартовы и полярные координаты на плоскости, сферическую и цилиндрическую систему координат в пространстве

Построение х-у графика по точкам

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

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

Построение семейства кривых

Построение семейства кривых

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

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

Построение трехмерных графиков

Построение трехмерных графиков

Построение трехмерных графиков

Построение трехмерных графиков


Построение трехмерных графиков

Построение трехмерных графиков

Построение контурного графика

Построение контурного графика

Построение гистограммы

Построение трехмерной поверхности в виде точечного графика

Построение трехмерной поверхности в виде точечного графика

Построение трехмерного графика в виде точечной поверхности

Построение трехмерного графика в виде точечной поверхности

Построение графика параметрически

Построение графика параметрически

График векторного поля

График векторного поля



АНИМАЦИЯ ГРАФИКОВ В mATHCAD

АНИМАЦИЯ ГРАФИКОВ В mATHCAD



-75%

Полина Дружинина

Mathcad сообщество, Здравствуйте, подскажите как сгладить, чтобы он не был ломаным, или как плавный график построить.

Алексей Корнев

Mathcad сообщество, Добрый вечер! Можно ли выбрать одинаковый масштаб осей? Необходимо график построить в квадрате.

Mathcad сообщество

Mathcad сообщество

Полина Дружинина

Алексей Корнев

Mathcad сообщество

Алексей, войдите в свойства графика, дважды щелкнув по нему, и поставьте галочку "В одинаковом масштабе".

Алексей Корнев

Сергей Мишин

Добрый день. Как сделать в маткаде, чтобы индекс переменной зависил от значения i? Т.е. если я записываю сумма(xi) от i=1. 2, у меня на выходе было значение x1+x2, а не 2xi? На рисунке мне необходимо чтобы функция g(xi) после знака "аналитическое преобразование" выглядела как фунцкия f(x1,x2)

Виктория Андреева

ДРУЗЬЯ КТО ПОМОЖЕТИ ВОЗЬМЕТСЯ

Читайте также: