Matlab как вывести графики по одном

Документация

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

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

По умолчанию новые графики очищают существующие графики и сбрасывают свойства осей, такие как заголовок. Однако можно использовать hold on команда, чтобы построить несколько графиков в тех же осях. Например, постройте два графика и график рассеивания. После отключите удержание командой hold off.

Когда состояние удержания включено, новые графики не очищают существующие графики или сбрасывают свойства осей, такие как заголовок или подписи по осям. Цикл графиков через цвета и стили линии на основе ColorOrder и LineStyleOrder свойства осей. Пределы осей и значения деления могут настроить, чтобы хранить новые данные.

Отобразите несколько осей в фигуре

Можно отобразить несколько осей на одной фигуре при помощи tiledlayout функция. Эта функция создает мозаичное размещение графика, содержащее невидимую сетку мозаик по целой фигуре. Каждая мозаика может содержать оси для отображения графика. После создания размещения вызовите nexttile функционируйте, чтобы поместить объект осей в размещение. Затем вызовите функцию построения графика, чтобы построить в оси. Например, создайте два графика в 2 1 размещение. Добавьте заголовок на каждый график.

Создайте график, охватывающий несколько строк или столбцов

Чтобы создать график, который охватывает несколько строк или столбцов, задайте span аргумент, когда вы вызываете nexttile . Например, создайте размещение 2 на 2. Постройте в первые две мозаики. Затем создайте график, который охватывает одну строку и два столбца.

Читайте также:  Чем вывести пятно от отработки с ткани

Измените Внешний вид осей

Измените внешний вид осей путем установки свойств на каждом из объектов осей. Можно получить объект осей путем вызова nexttile функция с выходным аргументом. Также можно задать объект осей как первый входной параметр к графической функции, чтобы гарантировать, что функция предназначается для правильных осей.

Например, создайте два графика и присвойте объекты осей переменным ax1 и ax2 . Измените размер шрифта осей и цвет оси X для первого графика. Добавьте линии сетки во второй график.

Управляйте интервалом вокруг мозаик

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

Уменьшайте интервал вокруг периметра размещения и вокруг каждой мозаики путем установки Padding и TileSpacing свойства к ‘compact’ .

Отобразите разделяемый заголовок и подписи по осям

Можно отобразить разделяемый заголовок и совместно использованные подписи по осям в размещении. Создайте 2 1 размещение t . Затем отобразите линейный график и диаграмму стебель-листья. Синхронизируйте пределы оси X путем вызова linkaxes функция.

Добавьте разделяемый заголовок и совместно использованные подписи по осям путем передачи t к title xlabel , и ylabel функции. Подвиньте графики поближе вместе путем удаления меток в виде галочки оси X из главного графика и установки TileSpacing свойство t к ‘compact’ .

Источник

Matlab как вывести графики по одном

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

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

Графические возможности системы MATLAB являются мощными и разнообразными. В первую очередь целесообразно изучить наиболее простые в использовании возможности. Их часто называют высокоуровневой графикой. Это название отражает тот приятный факт, что пользователю нет никакой необходимости вникать во все тонкие и глубоко спрятанные детали работы с графикой.

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

x = 0 : 0.01 : 2;

y = sin( x );

вычисляют массив y значений функции sin для заданного набора аргументов.

После этого одной единственной командой

plot( x , y )

удаётся построить вполне качественно выглядящий график функции:

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

При построении графиков функций сразу проявляется тот факт, что очень большую часть работы MATLAB берёт на себя. Мы в командной строке ввели лишь одну команду, а система сама создала графическое окно, построила оси координат, вычислила диапазоны изменения переменных x и y; проставила на осях метки и соответствующие им числовые значения, провела через опорные точки график функции некоторым, выбранным по умолчанию, цветом; в заголовке графического окна надписала номер графика в текущем сеансе работы.

Если мы, не убирая с экрана дисплея первое графическое окно, вводим и исполняем ещё один набор команд

x = 0 : 0.01 : 2;

z = cos( x );

plot( x , z )

то получаем новый график функции в том же самом графическом окне (при этом старые оси координат и график в нём пропадают — этого можно также добиться командой clf, а командой cla удаляют только график с приведением осей координат к их стандартным диапазонам от 0 до 1):

Если нужно второй график провести «поверх первого графика», то перед исполнением второй графической команды plot, нужно выполнить команду

hold on

которая предназначена для удержания текущего графического окна. В результате будет получено следующее изображение:

Того же самого можно добиться, потребовав от функции plot построить сразу несколько графиков в рамках одних и тех же осей координат:

x = 0 : 0.01 : 2;

y = sin( x ); z = cos( x );

plot( x , y , x , z )

У такого способа есть ещё одно (кроме экономии на команде hold on) преимущество, так как разные графики автоматически строятся разным цветом.

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

Если всё же нужно одновременно визуализировать несколько графиков так, чтобы они не мешали друг другу, то это можно сделать двумя способами. Во-первых, можно построить их в разных графических окнах. Например, построив графики функций sin и cos в пределах одного графического окна (показано выше), вычисляем значения для функции exp:

w = exp( x );

После этого выполняем команды

figure; plot( x , w )

которые построят график функции exp в новом графическом окне, так как команда figure создаёт новое (добавочное) графическое окно, и все последующие за ней команды построения графиков выводят их в новое окно:

В результате в первом графическом окне (Figure No. 1) по вертикальной оси переменные изменяются в диапазоне от -0.5 до 1, а во втором графическом окне (Figure No. 2) — от 1 до 8.

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

Например, для ранее выполненных вычислений с функциями sin, cos и exp, строим графики первых двух функций в первой подобласти, а график третьей функции — во второй подобласти одного и того же графического окна:

subplot(1,2,1); plot(x,y,x,z)

subplot(1,2,2); plot(x,w)

в результате чего получаем графическое окно следующего вида:

Диапазоны изменения переменных на осях координат этих подобластей независимы друг от друга.

Функция subplot принимает три числовых аргумента, первый из которых равен числу рядов подобластей, второе число равно числу колонок подобластей, а третье число — номеру подобласти (номер отсчитывается вдоль рядов с переходом на новый ряд по исчерпанию).

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

help имя_функции

набираемой с клавиатуры и выполняемой в командном окне системы MATLAB.

Итак, уже рассмотренные примеры показывают, как подсистема высокоуровневой графики MATLABа легко справляется с различными случаями построения графиков, не требуя слишком большой работы от пользователя. Ещё одним таким примером является построение графиков в полярных координатах. Например, если нужно построить график функции r = sin( 3 f ) в полярных координатах, то следующие несколько команд

phi = 0 : 0.01 : 2*pi; r = sin( 3* phi );

Источник

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

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

Где прописывать код

Но для начала научимся создавать скрипты в Matlab. Так вам будет удобнее работать с Matlab, писать коды и вообще приятнее, когда видишь всю программу сразу, а не построчно. Делается это просто: нажать New —> Script —> ScriptCtrl+N.

Откроется вот такое окно:

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

Графики MATLAB

Построение графиков функций в MATLAB можно реализовать разными способами, например, через plot или polar, с полным списком можете ознакомиться здесь.
Но сейчас речь пойдёт о функции ezplot.
Разберём такой пример:

Построить графики функций y=e^((-x^2)/2) и у =x^4-x^2 для -1.5 ≤ x ≤1.5 на одной и той же координатной сетке.

Открываем скрипт и пишем нехитрый код:

Вывод:

На этом примере мы видим, как работает функция ezplot(), где в качестве аргументов указывается функция без ‘y=’ и интервал значений в квадратных скобках. Чтобы построить два графика в одном окне используем hold on. А axis tight — устанавливает границы осей в диапазоне данных значений.
Разберём ещё один:

Построить график функции y=x^3-x для интервала -4≤x≤4.
Как вы догадались, скрипт будет такой:


Его скорее всего проще записать в компилятор напрямую.
Давайте ещё один:

Построить график функции у=sin(1/x^2) для интервала -2 ≤ x ≤2.


И последний:

Построить график функции y=tan(x/2) для интервала — π ≤ x ≤ π и -10 ≤ y ≤10.


В данном случае мы указали границы оси с помощью axis от до π.

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

Источник

Форум пользователей MATLAB и Simulink

два графика

Модератор: Admin

два графика

Сообщение Araya » Вт июн 22, 2010 11:40 am

Сообщение Jey » Вт июн 22, 2010 11:46 am

Сообщение Araya » Вт июн 22, 2010 12:18 pm

у меня одно окно с вводом выводом данных, и два не зависимых графиков. и нужно сделать так, что бы нажимая или на одну или на другую кнопку, было два графика Axe 1 & Axe 2 или что бы второй график был в отдельным окне, если можно напишите две возможности.
ну скажем один график, КПД другой мощность.

Сообщение Jey » Вт июн 22, 2010 4:02 pm

если 2 графика в одних осях на форме, то
axes(handles.axes1);
plot();
hold on;
grid on;
plot();

если 2 графика в разных осях на форме, то
axes(handles.axes1);
plot();
grid on;
axes(handles.axes2);
plot();
grid on;

если 2 графика в отдельном окне:
figure;
plot();
hold on;
grid on;
plot();

если 2 графика в разных отдельных окнах:
figure;
plot();
grid on;
figure;
plot();
grid on;

Сообщение Araya » Вт июн 22, 2010 5:18 pm

а можно как нибудь обозначить графики, если у меня в одном окне графиков много, и я должен показать, что вот зеленый график — Вася, а синий Петя?
и если у графика есть максимум, то можно ли его показать и вывести значение максимума?

и можно ли подписать графики если они отдельные, ну скажем вместо figure будет Вася

Сообщение Araya » Вт июн 22, 2010 10:48 pm

Сообщение Jey » Ср июн 23, 2010 8:21 am

Сообщение Araya » Чт июн 24, 2010 4:47 pm

После того, как я пере стартовал Matlab, он показывает два графика все в порядке, разобрался, все работает, огромное спасибо.

остались следующие проблемы:
1) из-за малого места, можно как нибудь:
а) в отдельном окне сделать сразу 4 графика?
б) в отдельном окне таблицу со всеми данными?
в) окно с графиками, по двойному щелчку увеличить до размера монитора.
г) вывести значения графика в таблице, х= . у=.

Источник

Оцените статью