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);


 

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

18733. Социальное партнерство 19.32 KB
  Социальное партнерство. Экономическая и социальная сущность. Классификация объектов социального партнерства. Современные субъектнообъектные отношения в сфере социального партнерства. Современные технологии осуществления социального партнерства. Роль социального
18734. Франчайзинг как модель экономического обеспечения молодежи 21.99 KB
  Франчайзинг как модель экономического обеспечения молодежи. Определение франчайзинга и сторон франчайзинга. Способы получения разрешения на франчайзинговую деятельность. Франчайзинговый договор. Преимущества инедостатки франчайзинга для молодых предпринимателей...
18735. Детское и молодёжное движение как социальное явление 30.67 KB
  Детское и молодёжное движение как социальное явление. Нормативноправовая база общественного движения. Общественным движением является состоящее из участников и не имеющее членства массовое общественное объединение преследующее социальные политические и иные об...
18736. Организация социологических исследований проблем молодежи 23.71 KB
  Организация социологических исследований проблем молодежи. Стратегия эмпирического исследования молодежных проблем. Специфика использования инструментария эмпирического исследования при обращении к молодежной проблематике. Проблемы молодежи способы их выявления...
18737. Технологический подход в системе воспитания молодёжи 30.31 KB
  Технологический подход в системе воспитания молодёжи. Основы понятий технология воспитательная технология. Классификация воспитательных технологий. Сравнительный анализ воспитательных технологий педагогов Макаренко А.С. Иванова И.П. Сухомлинского В.А. Классифика...
18738. Предмет и сущность профилактики как технологии работы с молодежью 21.55 KB
  Предмет и сущность профилактики как технологии работы с молодежью. Определения цели задачи профилактики ее место в системе социальных отношений. Профилактика – это действия направленные на: 1. Предотвращение возможных физических психических социокультурных колл
18739. Теоретический аспект девиантного поведения молодежи 22.74 KB
  Теоретический аспект девиантного поведения молодежи. Сущность понятия девиация соотношение понятий нормадевиация основные формы девиантного поведения. Социальные нормы и социальный контроль. Гендерный аспект девиантного поведения. Сущность понятия девиаци
18740. Специфика социально-политического поведения молодежи и ее причины 23.05 KB
  Специфика социальнополитического поведения молодежи и ее причины. Молодёжь социальнодемографическая группа выделяемая на основе совокупности возрастных характеристик особенностей социального положения и обусловленных тем и другим социальнопсихологических сво...
18741. Формирование здорового образа жизни современной молодежи 26.35 KB
  Формирование здорового образа жизни современной молодежи. Понятие здоровье и здоровый образ жизни. Здоровый образ жизни совокупность духовных ценностей и реальных видов форм и благоприятных для здоровья эффектов деятельности по обеспечению оптимального удов