Отображение нескольких кривых на одном графике (в одних осях)
Иногда необходимо построить несколько графиков в одном графическом окне. Команда plot(X,Y) при вызове каждый раз создает новый график в текущем графическом окне.
В одних осях можно построить любое количество графиков. Для этого в команде plot нужно последовательно указать пары векторов и атрибуты для желаемого количества графиков.
В этом случае целесообразно идентифицировать каждый график. Это можно сделать с помощью команды legend. Она размещает на графике легенду с информацией о линиях. Аргументы команды текстовые. Их число и порядок соответствуют линиям графика. Можно использовать еще и числовой параметр, который отвечает за месторасположения легенды в графическом окне. Он может принимать значения: -1, 0, 1, 2, 3, 4. По умолчанию он равен -1 и легенда располагается в правом верхнем углу.
Построим 2 графика в одних осях: красными звездочками, соединенными линиями sin(x), а зелеными крестиками без соединительных линий - cos(x) :
>> X=linspace(0,2*pi,100); %задаем вектор аргумента
>> Y=sin(x); % задаем вектор значений функции
>> plot(X, Y,'*r-',X,cos(X),'+g') % строим график
>>legend('sin(x)','cos(x)') %легенда
Иногда бывает нужно последовательно построить несколько графиков в одних осях. Для последовательного построения графиков в одних осях надо установить режим сохранения текущего графика – hold on. Команда hold off снимает сохранение.
Графики этих же функций построим последовательно:
X=linspace(0,2*pi,100); %задаем вектор аргумента
Y=sin(X); % задаем вектор значений функции 1
Z=cos(X);% задаем вектор значений функции 2
plot(X, Y,'*r-') % строим график sin
hold on; %после первого построения
plot(X, Z,'+g') % строим график cos
% он накладывается на предыдущий
legend('sin(X)','cos(X)')% легенда
Hold off
График, задаваемый значениями вектора Z, будет наложен на график, отображающий значения вектора Y.
График функции, заданной параметрически
Кривая – окружность радиуса 2*pi
Спираль
%на одном графике окружность и спираль
t=0:0.1:2*pi;
x=2*pi*cos(t);
y=2*pi*sin(t);
u=t.*cos(4*t);
v=t.*sin(4*t);
plot(x,y,'pr','MarkerSize',10)
hold on
plot(u,v,'b-','LineWidth',3)
Для построения графиков можно использовать также и другие функции, с которыми мы познакомимся позже.
Можно построить график с использованием функции ezplot (<символьное выражение>,[<интервал>]).
Функция работает с символьным выражением, задающим формулу функции, которая заключается в апострофы.
>> ezplot('sin(X)',[0 2*pi])
Можно также воспользоваться функцией fplot()
Функция работает либо с символьным выражением, либо с именем функции, которая записана в файле, либо с анонимной функцией, определенной в выражении f=@(x) (sin(x)); В этом случае передается указатель на функцию, которая отображена на графике.
fplot('sin(X)',[0 2*pi]) %функция задана символьным выражением
>> f=@(X) (sin(X)) % функция задана как анонимная
>> fplot(f,[0 2*pi])
ezplot тоже может работать с анонимной функцией
До сих пор мы строили графики в одном графическом окне. При необходимости построения каждого графика в отдельном окне, надо набрать команду: figure. Сначала открывается графическое окно с именем figure1, и оно становится текущим (то, где ведется построение). Для получения нового окна, надо снова задать эту команду, при выполнении которой открывается окно figure2, и вести построения в нем. При этом не произойдет наложение на прежнее графическое изображение и предыдущий график не заменится новым, а откроется новое окно со следующим номером. Можно также воспользоваться командой figure(номер). Для очистки графического окна служит команда clf.
Для построения графика, заданного кусочно (в лабораторной работе функция задана 3-х интервалах), необходимо задать каждую из 3-х ветвей, т.е. получить три пары векторов x1, y1, x2, y2 и x3, y3. Затем построить графики всех трех ветвей уже известным образом командой plot(x1, y1, x2, y2,x3,y3), или построить график для каждой ветви отдельно, с использованием команды hold on. Добавить в команду построения графика атрибуты, отвечающие за цвет, ширину и тип линии, а также вывести поясняющий текст.
Дата добавления: 2020-03-21; просмотров: 426;