36858

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

Лабораторная работа

Информатика, кибернетика и программирование

plotxy[xcpycpcption] x массив абсцисс; y массив ординат; xcp ycp cptionподписи осей X Y и графика соответственно. Затем воспользуемся функцией plotxy для построения кривой и выведем с ее же помощью подписи координатных осей X Y а также имя графика plot function y=sincosx Листинг 4. Построение графика функции y = sincosx с помощью функции plot x=2pi:0.

Русский

2013-09-23

396 KB

3 чел.

Лабораторная работа № 5

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

Функция plot.

plot(x,y,[xcap,ycap,caption])

x - массив абсцисс;

y - массив ординат;

xcap, ycap, caption-подписи осей X, Y и графика соответственно.

Пусть x изменяется на интервале [−2π; 2π] с шагом 0,1.

Сформируем массив X.

Вычисляя значение функции y = sin(cos(x)) для каждого значения массива X, создадим массив Y.

Затем воспользуемся функцией plot(x,y) для построения кривой и выведем с ее же помощью подписи координатных осей ’X’, ’Y’, а также имя графика

’plot function y=sin(cos(x))’

Листинг 4.1. Построение графика функции y = sin(cos(x)) с помощью функции plot

x=-2*%pi:0.1:2*%pi;

y=sin(cos(x));

plot(y);

В простейшем случае обращение к функции имеет вид plot(y), в качестве массива х выступает массив номеров точек массива y.

Листинг 4.2. Построение графика функции вида y = f(i), где j - номер точки в массиве y

y=[1 2 3 -2 4 5 -1 6 9 11 0 -2 5];

plot(y);

Такой синтаксис функции plot позволяет строить графики нескольких функций.

Допустим, что x принадлежит интервалу [−2π; 2π] и изменяется с шагом 0,1.

Создадим массив X. Поскольку x является аргументом для всех четырех функций, его в обращении к функции plot можно не указывать.

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

Листинг 4.3. Построение графиков нескольких функций в одних координатных осях с помощью команды plot.

x=-2*%pi:0.1:2*%pi;

plot([sin(cos(x));cos(sin(x));exp(sin(x));exp(cos(x))]);

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

При простейшем обращении к функции plot(x,y) создается окно с именем Scilab Graphic (0), в котором будет построен график функции y(x) на заданном интервале.

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

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

plot(x1,y1,x2,y2,...xn,yn)

где x1, y1 - массивы абсцисс и ординат первого графика;

x2, y2 - массивы абсцисс и ординат второго графика;

...

xn, yn - массивы абсцисс и ординат n-ого графика.

Определим интервал изменения x [-6,28;6,28], шаг-0,02. Теперь сформируем массивы значений функций Y , Z, V .

Для построения заданных кривых в одних координатных осях необходимо в качестве аргументов функции plot попарно, через запятую, указать имя массива первого аргумента и имя массива первой функции, имя массива второго аргумента и имя массива второй функции и т. д. Обращение к функции plot будет иметь вид plot(x,y,x,z,x,v).

Листинг 4.4. Построение графиков нескольких функций в одних координатных осях с помощью команды plot

x=-6.28:0.02:6.28;y=sin(x/2);

z=cos(x);v=exp(cos(x));

plot(x,y,x,z,x,v);

Построить несколько графиков в одном окне можно и с помощью короткой записи функции plot(x,y), но перед обращением к функциям plot(x2,y2), plot(x3,y3), ..., plot(xn,yn) вызвать команду mtlb_hold(’on’), она заблокирует режим создания нового окна.

 

Как и в предыдущей задаче, прежде всего, определяем интервал и шаг изменения x [-6,28;6,28], 0,02 и формируем массивы значений функций Y , Z, V .

Однако применять будем краткую форму обращения к функции plot - plot(x,y), которая поочередно создаст первый, второй и третий график.

Для того, чтобы каждый раз при выполнении функции plot не создавалось новое графическое окно, перед ней будем выполнять команду mtlb_hold(’on’).

Листинг 4.5. Построение графиков нескольких функций в одних координатных осях с помощью команды mtlb_hold(’on’)

x=-6.28:0.02:6.28;

y=sin(x/2); z=cos(x); v=exp(cos(x));

plot(x,y);

mtlb_hold(’ on’);

plot(x,z);

mtlb_hold(’ on’);

mtlb_hold(’ on’);

plot(x,v);

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

Для формирования области в графическом окне служит команда plotframe:

plotframe(rect, tics [,grid, title, x-leg, y-leg, x, y, w, h])

где

rect - вектор [xmin, ymin, xmax, ymax], который определяет границы изменения x и y-координат области;

tics - вектор [nx, mx, ny, my], который определяет количество линий сетки по оси X (mx) и Y (my), величины nx и ny должны определять число подинтервалов по осям X и Y ;

grid - логическая переменная, которая определяет наличие (%t) либо отсутствие координатной сетки (%f). Этот параметр следует указывать для обеих осей, например, [%t,%t];

bound - логическая переменная, которая при значении true позволяет игнорировать параметры tics(2) и tics(4).

title - заголовок, который будет выводится над графической областью;

x-leg, y-leg - подписи осей графика X и Y ;

x, y - координаты верхнего левого угла области в графическом окне, w-ширина, h-высота окна.

Значения x, y, w, h измеряются в относительных единицах и лежат в диапазоне [0, 1].

После определения области в нее можно вывести график функции с помощью команды plot.

Допустим, что x изменяется на интервале [−10 : 10] с шагом 0,01. Сформруем массивы значений функций Y , Z, U, V .

Используя параметр rect как самостоятельную команду, задаем шаблон размера координатных осей каждой области построения кривой. Теперь ось X будет ограничена минимальным и максимальным значением x (зависит от конкретной функции), а ось Y для всех областей ограничивается значениями y -1 и 1.

Командой tics указываем, что на всех выводимых графиках, во всех областях на оси абсцисс, должно быть 11 основных и по 2 промежуточных деления, на оси ординат - 5 основных и по 10 промежуточных делений.

Для создания областей внутри графического окна используем функцию plotframe со всеми параметрами: прорисовыванием сетки комбинацией значений (%t) и (%f), выводом подписи графика и координатных осей, а также разметкой каждой из областей - массив, в котором первые два числа – координаты верхнего левого угла, а последние два - ширина и высота области.

Для формирования нового графика после каждого вызова функции plotframe выполняем функцию plot(x,y).

Листинг 4.6. Построение графиков нескольких функций в одном графическом окне, но каждого в своих координатных осях с помощью команды plotframe

x=[-10:0.01:10];

y=sin(2*x); z=cos(3*x); u=cos(sin(2*x)); v=sin(cos(3*x));

rect=[min(x),-1,max(x),1];

tics=[2,11,10,5];

plotframe(rect,tics,[%t,%t],["Function y=sin(2x)",..."X","Y"], [0,0,0.5,0.5]);

plot(x,y);

plotframe(rect,tics,[%f,%f],["Function y=cos(3x)",..."X","Y"], [0.5,0,0.5,0.5]);

plot(x,z);

plotframe(rect,tics,[%f,%f],["Function y=cos(sin(2x))",...X","Y"], [0,0.5,0.5,0.5]);

plot(x,u);

plotframe(rect,tics,[%t,%t],["Function y=sin(cos(3x))",..."X","Y"], [0.5,0.5,0.5,0.5]);

plot(x,v);

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

Обращение к ней имеет вид:

subplot(m,n,p) или subplot(mnp)

Выполнение функции приводит к тому, что графическое окно разбивается на m окон по вертикали и n окон по горизонтали, текущим окном становится окно с номером p.

Пусть x изменяется на интервале [−10 : 10] с шагом 0,01. Сформируем массивы значений функций Y , Z, U, V , W, R.

C помощью функции subplot разбиваем графическое окно на заданное количество областей. Определимся, что в каждом столбце по вертикали должно быть 3, а по горизонтали 2 области для вывода графиков.

Третье число в записи функции subplot указывает, в которую из областей (счет ведется по порядку_слева направо и сверху вниз) выводится график, формируемый функцией plot(x,y).

Листинг 4.7. Построение графиков нескольких функций в одном графическом окне, но каждого в своих координатных осях с помощью команды subplot

x=[-10:0.01:10];

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

u=cos(sin(x)); v=sin(cos(x));

w=exp(sin(x)); r=exp(cos(x));

subplot(3,2,1);

plot(x,y);

subplot(3,2,2);

plot(x,z);

subplot(3,2,3);

plot(x,u);

subplot(3,2,4);

plot(x,v);

subplot(3,2,5);

plot(x,w);

subplot(3,2,6);

plot(x,r);


 

А также другие работы, которые могут Вас заинтересовать

1229. Обязательства по реализации результатов интеллектуальной деятельности 798 KB
  Договор авторского заказа. Договор об отчуждении исключительного права на произведение. Понятие и виды лицензионного договора. Содержание лицензионного договора.
1230. Управління персоналом в ООО Меркурий 798.5 KB
  Комплексний фінансово-економічний аналіз діяльності ООО Меркурий. Стисла характеристика та техніко – економічний аналіз діяльності ООО Меркурий. Аналіз виробництва та реалізації продукції. Теоретичне обґрунтування шляхів вдосконалення управління витратами В ООО Меркурий. Аналіз проблем управління персоналом на підприємстві.
1231. Экономика строительства 814 KB
  Технико-экономические особенности строительства. Договорные отношения в строительстве. Назначение подрядных торгов, их виды. Фактор времени в строительстве и определение нормы дисконтирования. Стадии проектирования и содержание проектной документации. Формы и системы оплаты труда в строительстве. Себестоимость строительно-монтажных работ, состав ее затрат по статьям.
1232. Энергия и энергоэффективность в мире труда и профессии 757 KB
  ВИДЫ ЭНЕРГИИ. ПЕРВИЧНАЯ И ВТОРИЧНАЯ. НЕ ВОЗОБНОВЛЯЕМЫЕ И ВОЗОБНОВЛЯЕМЫЕ ВИДЫ ЭНЕРГИИ. ЭНЕРГЕТИЧЕСКИЕ РЕСУРСЫ СОВРЕМЕННОГО ПРОИЗВОДСТВА. ВИДЫ ЭНЕРГОРЕСУРСОВ (ЭНЕРГОНОСИТЕЛИ).
1233. Особые договоры с участием МЧС 786 KB
  Особенности договорных отношений подразделений пожарной охраны Российской Федерации. Общая характеристика договора на пожарную охрану. Общая характеристика договора поставки для нужд МЧС России. Общая характеристика договоров на осуществление первоочередных аварийно-спасательных работ с участием подразделений МЧС России и иные виды договоров, заключаемых подразделениями пожарной охраны.
1234. Создание сайта для инженерно-строительного предприятия Форт 987.5 KB
  Обьект исследования: сайт для инженерно-строительного предприятия Форт. Цель работы: приобретение практических навыков и реализации по построению и созданию интернет сайтов.
1235. Разработка маркетингового обеспечения немецких бридж для верховой езды фирмы Pikeur 249.5 KB
  Выездка – высшая школа верховой езды. Это вид спорта, в котором всадник должен продемонстрировать: способность лошади к правильным и производительным движениям на всех аллюрах в различном темпе – от сокращённых до прибавленных, плавные и ритмичные переходы из одного аллюра в другой, правильную стойку
1236. Лекции по курсу Политология для студентов 1.57 MB
  Политология – наука и учебная дисциплина. Возникновение и основные этапы развития политической науки. Идеи народовластия и государственности в истории политической мысли Украины. Гражданское общество и правовое государство. Происхождение, виды и функции политических элит.
1237. Анализ центра Томско-бурятского сотрудничества Байкал 852.5 KB
  Мосты взаимодействия начало первая. Из Улан-Удэ в Томск начнут летать самолеты четвертая. Молодежный поселок – приживется ли опыт соседей из Бурятии на томской земле? четвертая. По итогам Томского конкурса Человек года-2010 победителем стал выходец из республики Бурятия. Выставка Томского областного художественного музея открылась в Улан-Удэ.