Как в mathcad совместить графики нескольких функций

Foodband

Как совместить два графика на одном?

Как совместить 2 графика на одном чертеже
как в labview показать на waveform graph 2 графика вместе для возможности сравнения?

Как совместить два рисунка на одном figure?
как вывести на одном рисунке ЛАЧХ и окружности. ЛАЧХ K = 35; w1 = logspace(0,3,100000); .

Как совместить два эффекта (zoomIn и zoomOut) в одном
Есть вот такой вот код — animated infinite zoomIn, позволяющий элементу зациклено всплывать (с.

Комбинированная графика — сделать два графика в одном
Уважаемые, форумчане, прошу совета нужно решить следующие системы и изобразить их в форме.

3D графика в MathCad

Трехмерная графика – одна из наиболее привлекательных сторон Mathcad. Вы можете построить трехмерные графики следующих типов:

Surface Plot [Ctrl]+2 — трехмерный график;

Contour Plot [Ctrl]+5 — карта линий уровня;

3D Scatter Plot — изображение совокупности точек в трехмерном пространстве;

3D Bar Plot — трехмерная гистограмма;

Vector Field Plot — векторное поле.

Вы можете выбрать тип графика, который надо построить одним из трех способов:

а) из подменю InsertGraph;

б) через панель инструментов — кнопкой “Graph Toolbar” открыв графическую палитру и выбрав из нее нужный тип графика;

в) через клавиатуру:

[Ctrl]+2 — построить трехмерный график;

[Ctrl]+5 — построить карту линий уровня.

Построенный график вы можете изменить в соответствии с вашим желанием:

отодвинуть или приблизить;

изменить способ окраски поверхности;

спрятать скрытые линии или показать их.

Рассмотрим более подробно процесс построения и редактирования различных трехмерных графиков.

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

Для того, чтобы построить поверхность по массиву данных, проделайте следующие действия:

Задайте размерность матрицы, по которой будет построен график (т.е. область изменения индексов для x и y).

Введите выражения, по которым вычисляются x и y (причем в эти выражения должны входить заданные ранее индексы).

Задайте аналитическое выражение функции двух переменных x и y, а затем определите матрицу на основе этой функции. Номер строки определяет значение x, номер столбца — значение y, а сам элемент матрицы – значение z, т.е. высоту над плоскостью xy.

Создайте поле трехмерного графика одним из трех способов:

а) через подменю InsertGraphSurface Plot;

б) через панель инструментов — кнопкой “Graph Toolbar” открыв графическую палитру и выбрав из нее тип графика “Surface Plot”;

в) через клавиатуру — [Ctrl]+2.

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

Замечание. Если у вас уже есть массив данных, введите его в виде матрицы или импортируйте из другого приложения, а затем выполните п.4.

Рассмотрим пример построения поверхности по массиву данных.

1. Диапазон изменения индексов:

2. Зададим x и y:

3. Определим f(x,y) и матрицу М:

4. Построим график:

Построение трехмерного графика по заданному аналитическому выражению.

Вы можете построить трехмерный график не только по заданному массиву данных, но и по аналитическому выражению – функции двух переменных. Для этого:

Запишите выражение, определяющее функцию двух переменных. Оно может быть как скалярным (пример 2) так и векторным.

Создайте поле трехмерного графика одним из трех способов:

а) через подменю InsertGraphSurface Plot;

б) через панель инструментов — кнопкой “Graph Toolbar” открыв графическую палитру и выбрав из нее тип графика “Surface Plot”;

в) через клавиатуру — [Ctrl]+2.

Введите вместо маркера ввода имя функции (аргументы указывать не надо) и щелкните мышью вне поля графика. После этого на экране появится поверхность, построенная по заданной вами функции.

Определим функцию двух переменных (скалярную):

2. Построим график:

Построение карты линий уровня.

Трехмерный объект можно представить не только в виде представленном на рисунке выше, но и в виде карты линий уровня – в этом случае на плоскость xy наносятся контуры, все точки которых имеют одинаковую высоту (т.е. значение z). Эти контуры называют также линиями уровня. Такая карта также может быть как цветной, так и черно-белой. Для построения карты линий уровня требуется выполнить следующие действия:

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

Создайте поле графика одним из трех способов:

а) через подменю InsertGraphContour Plot;

б) через панель инструментов — кнопкой “Graph Toolbar” открыв графическую палитру и выбрав из нее тип графика “Contour Plot”;

в) через клавиатуру — [Ctrl]+5.

Введите вместо маркера ввода имя функции или матрицы и щелкните мышью вне поля графика. После этого на экране появится карта линий уровня, построенная по заданной вами функции.

Построение трехмерной столбиковой диаграммы

Трехмерный объект можно представить не только в виде поверхности (см. рис.17-19), но и в виде трехмерной столбиковой диаграммы. Для ее построения требуется выполнить следующие действия:

Задайте матрицу или функцию двух переменных, по которой надо построить график.

Создайте поле графика одним из двух способов:

а) через подменю InsertGraph3D Bar Plot;

б) через панель инструментов — кнопкой “Graph Toolbar” открыв графическую палитру и выбрав из нее тип графика “3D Bar Plot”.

Введите вместо маркера ввода имя функции или матрицы и щелкните мышью вне поля графика. После этого на экране появится трехмерная столбиковая диаграмма, построенная по заданной вами функции.

Построение совокупности точек в трехмерном пространстве

Если имеющийся массив данных вы хотите представить в виде точек в трехмерном пространстве, а не интерполировать его для построения поверхности, сделайте следующее:

Задайте три вектора или матрицы, определяющие x-, y- и z-координаты точек, соответственно. Число элементов в этих векторах лил матрицах равно числу точек, которые будут выведены на график. Вы также можете задать три функции одной или двух переменных.

Создайте поле графика одним из двух способов:

а) через подменю InsertGraph3D Scatter Plot;

б) через панель инструментов — кнопкой “Graph Toolbar” открыв графическую палитру и выбрав из нее тип графика “3D Scatter Plot”.

Введите вместо маркера ввода в круглых скобках имена трех векторов или матриц, разделяя их запятыми и щелкните мышью вне поля графика. После этого на экране появится совокупность точек в трехмерном пространстве, построенная по заданным вами векторам или матрицам.

Построение нескольких графиков в трехмерном пространстве.

Вы можете построить в трехмерный график не только по заданному массиву данных, но и по аналитическому выражению – функции двух переменных. Для этого:

Задайте два массива данных или две функции двух переменных, по которым надо построить графики.

Создайте поле трехмерного графика одним из трех способов:

а) через подменю InsertGraphSurface Plot;

б) через панель инструментов — кнопкой “Graph Toolbar” открыв графическую палитру и выбрав из нее тип графика “Surface Plot”;

в) через клавиатуру — [Ctrl]+2.

Вместо маркера ввода введите (через запятую) имена матриц или функций и щелкните мышью вне поля графика. После этого в поле графика появятся две поверхности, построенные по заданным вами функциям или матрицам (см. рис.20).

Форматирование трехмерного графика в прямоугольных координатах.

Foodband

Большинство операций по форматированию трехмерного графика вызывается из диалогового окна 3-D Plot Format. Чтобы открыть это диалоговое окно для активного поля графика, воспользуйтесь одним из трех способов:

с помощью меню FormatGraph3D Plot;

с помощью всплывающего меню – щелкнув на активном графике правой кнопкой мыши и выбрав из появившегося меню команду Format;

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

Как приблизить (отодвинуть) график поверхности?

Построенную вами поверхность можно приблизить (т.е. увеличить) или отодвинуть (т.е. уменьшить) от наблюдателя. Для того, чтобы добиться этого, активизируйте поле графика (щелкнув на нем мышью). Далее вы можете воспользоваться одним из двух способов:

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

с помощью диалогового окна 3-D Plot Format – откройте вкладку General и найдите в разделе View поле Zoom. В это поле вы можете ввести число от 0.01 до 100. Если значение Zoom меньше 1, то поверхность в активном поле графика уменьшится (отдалится), а если Zoom больше 1 – увеличится (приблизится).

Как повернуть график поверхности?

Построенную вами поверхность можно вращать в разных направлениях. Для того, чтобы сделать это, активизируйте поле графика (щелкнув на нем мышью). Далее вы можете воспользоваться одним из двух способов:

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

с помощью диалогового окна 3-D Plot Format – откройте вкладку General и найдите раздел View. Первые три поля этого раздела управляют вращением графика:

а) Rotation – определяет вращение относительно оси z (от -360 до 360);

б) Tilt — определяет вращение относительно оси x (от 0 до 180). Выполняется после использования Rotation;

в) Twist — определяет вращение вокруг оси z (от -360 до 360). Выполняется после использования Rotation и Tilt.

Как изменить параметры построенной поверхности?

Вы можете задать пределы изменения переменных при построении графика. Для этого в диалоговом окне 3-D Plot Formatвыберите вкладку QuickPlot Data. Здесь в разделе Range 1 вы можете выбрать пределы изменения переменной x, а в разделе Range 2 — пределы изменения переменной y.

Кроме того, вы можете увеличить или уменьшить число шагов, т.е. количество ячеек сетки, изображающей поверхность. Для этого в диалоговом окне 3-D Plot FormatQuickPlot Data измените значение # of Grids (в разделе Range 1 по оси x, а в разделе Range 2 – по оси y). Чем больше эти значения, тем более гладкой будет поверхность.

Управление видом координатных осей.

С помощью диалогового окна 3-D Plot Format General Axes Style вы можете выбрать один из трех вариантов представления осей:

Perimeter – оси координат располагаются по периметру графика (см. рис.18);

Corner – оси координат изображаются традиционным образом (см. рис.19);

None – оси координат не рисуются.

Если включен индикатор Equal Space, то по всем осям используется одинаковый масштаб.

Кроме того, вы можете выбрать цвет осей (3-D Plot Format Axes Axis Format Axis Color) и толщину осей (Axis Weight в том же разделе). Причем все три оси координат могут иметь разный цвет и разную толщину.

Вы можете также оформить поле графика двумя различными способами с помощью диалогового окна 3-D Plot Format General Frames:

Show Border – поле графика помещается в рамку (см. рис.17);

Show Box – поле графика помещается в прозрачный «ящик» (см. рис.20).

Причем вы можете выбрать цвет, как для рамки, так и для «ящика».

По умолчанию x и y меняются от –5 до 5 с фиксированным шагом. Однако, вы можете выбрать пределы по осям самостоятельно. Для этого в диалоговом окне 3-D Plot FormatAxes в разделе Axis Limits отключите индикатор Auto Scale и укажите нужные значения в полях Minimum Value и Maximum Value для всех трех осей.

Изменение параметров координатной сетки

В ряде случаев наличие координатной сетки облегчает восприятие трехмерного графика.

Чтобы нарисовать линии координатной сетки в диалоговом окне 3-D Plot FormatAxes в разделе Grids включите индикатор Draw Lines” для X-Axis, Y-Axis и Z-Axis. После этого в поле графика появится координатная сетка (см. рис.17-18).

Выбрать цвет линий координатной сетки вы можете из палитры “Line Color” в этом же разделе.

Вы также можете задать число ячеек сетки. Для этого отключите в разделе Grids индикатор “Auto Grid” и введите нужное число в поле “Number”.

Вы можете также изменить толщину линий сетки в этом же разделе в поле “Line Weight”.

Замечание. Параметрами координатной сетки можно также управлять через диалоговое окно 3-D Plot FormatBackPlanes.

Построенную поверхность вы можете окрасить в соответствии с вашим вкусом и потребностями. Для этого предлагаются следующие варианты:

Вы можете выбрать для окраски сплошной цвет. Для этого в диалоговом окне 3-D Plot FormatAppearance в разделе Fill Options выберите вариант Fill Surface (окрасить поверхность). Затем в разделе Color Options включите вариант Solid Colorи выберите нужный цвет из предлагаемой палитры.

Вы можете выбрать одну из предлагаемых схем окраски поверхности. Для этого в диалоговом окне 3-D Plot FormatAppearance в разделе Fill Options выберите вариант Fill Surface (окрасить поверхность). Затем в разделе Color Options включите вариант Colormap. После этого построенная вами поверхность будет окрашена в различные цвета, причем цвет меняется в зависимости от высоты над плоскостью xy (по умолчанию). Вы можете изменить предлагаемую по умолчанию схему окраски двумя способами:

а) в диалоговом окне 3-D Plot FormatAdvanced в разделе Colormap вместо Increasing Z (окраска меняется по мере увеличения значения Z) выберите вариант Increasing X или Increasing Y.

б) в том же разделе в поле Choose Colormap выберите одну из предлагаемых схем окраски поверхности:

Rainbow – радужная окраска (цвет поверхности плавно меняется от синего к красному);

Greyscale – цвет поверхности плавно меняется от черного к белому (см. рис.19);

Blues – оттенки синего (цвет поверхности плавно меняется от темно-синего к светло-синему);

Fire — цвет поверхности плавно меняется от красного к синему;

Gamma — оттенки серого (см. рис.17);

Greens — оттенки зеленого;

Neon — цвет поверхности меняется от красного к желтому;

Reds – оттенки красного;

Royal — цвет поверхности меняется от фиолетового к желтому;

Topograf — топографическая окраска (цвет поверхности плавно меняется от синего к белому — как на топографической карте).

Вы также можете окрасить поверхность в соответствии с выбранной схемой по контурам. Для этого в диалоговом окне 3-D Plot FormatAppearance в разделе Fill Options выберите вариант Fill Contours. Результат вы можете увидеть на рис.19. Как видите, поверхность окрашена по схеме Gamma, но переход от одного цвета к другому не плавный, а резкий.

Дополнительные возможности форматирования

Рассмотрим вкратце остальные элементы диалогового окна 3-D Plot Format:

Вкладка Backplanes определяет вид плоскостей xy, yz и xz: вы можете окрасить их (в том числе, в разные цвета), нанести на них линии сетки и окружить их рамками.

Вкладка Appearance, кроме уже рассмотренных возможностей позволяет выбрать тип, толщину и цвет линий сетки (если в разделе Line Options включен вариант Wireframe) или контурных линий (если в разделе Line Options включен вариантContour Lines). А также выбрать вид, размер и цвет точек (это полезно, если вы выбрали тип графика Scatter Plot).

Вкладка Lighting содержит опции, управляющие подсветкой графика.

Вкладка Title позволяет создать название графика и выбрать один из вариантов его расположения: над полем графика (Above) или под ним (Below). Причем, если включена кнопка Hide, название не показывается.

Вкладка Special служит для форматирования специальных типов графиков.

Во вкладке QuickPlot Data вы, кроме всего прочего, можете выбрать систему координат: сферическую, цилиндрическую или прямоугольную.

Замечание. Если в одном поле графика изображены две и более поверхностей, вы можете каждую из них форматировать индивидуально (в этом случае на каждой из вкладок появятся поля Plot 1, Plot 2 и т.д.). Вы можете даже совместить в одном поле графики разных типов (поверхность и карту линий уровня).

-75%

Оптимизация функций одной и нескольких переменных в PTC MathCAD

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

Для решения задач поиска максимума и минимума в Mathcad имеются встроенные функции Minerr, Minimize и Maximize. Все они используют те же градиентные численные методы, что и функция Find для решения уравнений.

2. Экстремум функции одной переменной

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

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

График функции

Рис. 1. График функции f(х)=х 4 +5х 3 -10х

Построим график заданной функции (рис.1). По графику видны участки локальных экстремумов функции.

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

· Minimize (f, x1, … ,хм) — вектор значений аргументов, при которых функция f достигает минимума;

· Maximize (f, х1, … ,хм) — вектор значений аргументов, при которых функция f достигает максимума;

Всем аргументам функции f предварительно следует присвоить некоторые значения, причем для тех переменных, по которым производится минимизация, они будут восприниматься как начальные приближения. Примеры вычисления экстремума функции одной переменной (рис.1) без дополнительных условий показаны в листинге на рис.2. Поскольку никаких дополнительных условий в них не вводится, поиск экстремумов выполняется для любых значений.

Поиск локальных экстремумов

минимум максимум Локальный максимум Рис.2. Поиск локальных экстремумов функции одной переменной

Как видно из листинга, существенное влияние на результат оказывает выбор начального приближения, в зависимости от чего в качестве ответа выдаются локальные различные экстремумы. В последнем случае численный метод вообще не справляется с задачей, поскольку начальное приближение х=-10 выбрано далеко от области локального максимума, и поиск решения уходит в сторону увеличения f (х).

3. Условный экстремум

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

Условный экстремумimage Условный экстремум 1

Рис. 3. Три примера поиска условного экстремума функции

Не забывайте о важности выбора правильного начального приближения и в случае задач на условный экстремум. Например, если вместо условия &#8212; 3<х<0 в последнем примере листинга задать -5<х<0, то при том же самом начальном х=-10 будет найден максимум Maximize(f,x) =-0.944, что неверно, поскольку максимальное значение достигается функцией f (х) на левой границе интервала при х=-5. Выбор начального приближения х=-4 решает задачу правильно, выдавая в качестве результата Maximize (f ,x) =-5.

4. Экстремум функции многих переменных

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

Экстремум функции многих переменных

Рис. 4. Минимум функции двух переменных

Поиск минимума можно организовать и с помощью функции Minerr. Для этого в листинге (рис.4) надо поменять имя функции Minimize на Minerr, а после ключевого слова Given добавить выражение, приравнивающее функцию f (х,у) значение, заведомо меньшее минимального, например f (х,у) =0.

Александр Малыгин

Объект обсуждения — программное обеспечение для выполнения автоматизированного конструкторского и технологического проектирования, разработки управляющих программ, вопросы, связанные с разработкой прикладных САПР.

4 thoughts to “Оптимизация функций одной и нескольких переменных в PTC MathCAD”

Спасибо, очень информативано! Скажите, а для 9 переменных такая же функция и такой же принцип используется?

Функция будет другая. Вы сами подбираете вид функции, остальное аналогично.

Добрый день!
Скажите, если у меня есть интересная задача многокритериального поиска когда целевая функция есть набором других функций, например целевая функция Р=f(y1,y2,y3,y4,y5), где:
y1=f(a,b,c,d);
y2=f(c,d,e,g);
y3=f(c, h,k,);
y4=f(b,d);
y5=f(d,l,m).
Причем есть только один параметр, например d который входит во все значения промежуточных ф-ций y1&#8230;y5 и соответственно функционала Р. Остальные параметры между собой не связаны, или связаны косвенно.Задачей оптимизации является поиск таких значений Р при котором, например y1-max, y2>=const, y3&#8230;y5-min.
Есть ли возможность решить данную задачу в МАТКАД-е?
Буду очень признателен за внятный ответ.
Спасибо!

Думаю, что автоматически такую задачу решить нельзя нигде. Нужно задачу разбить на более простые части, а их на еще более простые, тогда и решить можно в Matcad.

Foodband

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *