36860

Функция plot2d

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

Математика и математический анализ

Функция plot2d plot2d[logflg]xy[key1=vlue1key2=vlue2. Следует отметить что вовсе не обязательно использовать полную форму записи функции plot2d со всеми ее параметрами. В простейшем случае к ней можно обратиться кратко как и к функции plot. Создавать массив Y необязательно следует лишь в качестве аргумента функции plot2d указать математическое выражение функции.

Русский

2013-09-23

690.5 KB

6 чел.

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

Функция plot2d

plot2d([logflag],x,y’,[key1=value1,key2=value2,...,keyn=valuen]

где

logflag - строка из двух символов, каждый из которых определяет тип осей (n-нормальная ось, l-логарифмическая ось), по умолчанию-«nn»;

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

y - массив ординат или матрица, каждый столбец которых содержит массив ординат очередного графика - случае, если необходимо построить графики нескольких функций y1, y2, ..., yn, когда все они зависят от одной и той же переменной x. При этом количество элементов в массиве x и y должно быть одинаковым. Если x и y - матрицы одного размера, то каждый столбец матрицы y отображается относительно соответствующего столбца матрицы x;

keyi=valuei - последовательность значений свойств графика key1=value1, key2=value2, ..., keyn=valuen, определяющих его внешний вид. Возможные значения свойств графика будут подробно описаны ниже.

Следует отметить, что вовсе не обязательно использовать полную форму записи функции plot2d со всеми ее параметрами. В простейшем случае к ней можно обратиться кратко, как и к функции plot.

Задача 4.7.

Построить график функции y = sin(x).

Допустим, что x изменяется на интервале [−2π; 2π] с шагом 0,1. Сформируем массив X. Создавать массив Y необязательно, следует лишь в качестве аргумента функции plot2d указать математическое выражение функции.

Листинг 4.7. Пример простейшего использования функции plot2d для построения графика

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

plot2d(sin(x));

Используя функцию plot2d, можно также построить несколько графиков в одних координатных осях.

Самостоятельно проведите построение.

Оформление графиков при помощи функции plot

Установить желаемый вид и цвет графика можно, используя полную форму

обращения к функции plot:

plot(x1, y1, s1, x2, y2, s2, ..., xn, yn, sn)

где x1, x2, ..., xn - массивы абсцисс графиков;

y1, y2, ..., yn - массивы ординат графиков;

s1, s2, ..., sn - строка, состоящая из трех символов, которые определяют соответственно цвет линии, тип маркера и тип линии графиков, в строке могут использоваться один, два или три символа одновременно в любой желаемой комбинации.

В таблицах приведены символы цвета, типа маркера и линии графика.

 

Листинг 4.10. Изменение типа, цвета линии графика, вывод точек (маркеров) на линии графика с помощью функции plot

t=0:%pi/20:2*%pi;

plot(t,sin(t),'ro-.',t,cos(t),'cya+',t,abs(sin(t)),'--mo')

Или

axfig3 = gca();

scf(4);

plot(axfig3,[t ;t],[sin(t) ;cos(t)],'zdat',[1:2],'marker','d','markerfac','green','markeredg','yel')

Самостоятельно рассмотреть новые параметры в выше представленном листинге.

Чтобы график проще «читался», удобно выводить сетку – дополнительные оси для показателя X и показателя Y. В Scilab это можно сделать с помощью команды xgrid(color), где color определяет id цвета линии сетки. Если оставить скобки пустыми, по умолчанию будет прорисована сетка черного цвета.

Построим в одних координатных осях синусоиду с линией красного цвета и косинусоиду с линией синего цвета на заданном интервале, а затем выведем сетку.

x=-10:0.01:10;

y=sin(cos(x));

z=cos(sin(x));

plot(x,y,’r’,x,z,’b’);

xgrid();

Заголовок графика, построенного функцией plot, можно вывести командой xtitle:

xtitle(title, xstr, ystr)

где title - название графика;

xstr - название оси X;

ystr - название оси Y.

Добавим к предыдущему графику заголовок: xtitle(’Grafic y=f(x)’,’X’,’Y’);

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

legend(leg1, leg2, ..., legn, [pos], [boxed])

где leg1 - имя первого графика,

leg2 - имя второго графика,

legn - имя n-го графика;

pos - месторасположение легенды:

1 - в верхнем правом углу (по умолчанию),

2 - в верхнем левом углу,

3 - в нижнем левом углу,

4 - в нижнем правом углу,

5 - определяется пользователем после изображения графика;

boxed - логическая переменная, которая определяет, прорисовывать (значение по умолчанию - %t) или нет (значение %f) рамку вокруг легенды.

Листинг 4.10. Вывод легенды графика и определение ее свойств с помощью команды legend

t=linspace(0,%pi,20);

plot2d(t,[cos(t'),cos(2*t'),cos(3*t')],[-5,2 3]);  

hl=legend(['cos(t)';'cos(2*t)';'cos(3*t)']);

Построить в отдельном окне графики функций y1=ln x, y2=ex, y3=2x. Задать различные цвета и типы маркеров для графиков. Задать оси координат, легенды.

Оформление графиков при помощи функции plot2d

plot2d([logflag],x,y’,[key1=value1,key2=value2,...,keyn=valuen]

Возможны следующие значения параметра keyn=valuen:

style - определяет массив числовых значений цветов графика. Количество элементов массива совпадает с количеством изображаемых графиков.

Можно воспользоваться функцией color, которая по названию (color("имя цвета")) или коду rgb (color(r,g,b)) цвета формирует нужный id (код) цвета.

Полный перечень всех доступных при форматировании оттенков с их RGB - id можно найти в статье встроенной справочной системы Scilab «Color_list».

Однако следует учесть, что в статье перед id-цвета опущены «0». В качестве примера построим в одних координатных осях графики функций y = sin(x) и y = cos(x), для синусоиды с помощью параметра style определим имя цвета - красный («red»), а для косинусоиды - id зеленого цвета (0,176,0).

Листинг 4.14. Изменение цвета линии графика с помощью параметра style функции plot2d

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

y=[sin(x);cos(x)];

plot2d(x,y’,style=[color("red"),color(0,176,0)]);

или

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

y=[sin(x); cos(x)];

plot2d(x,y',style=[color("red"), color("blue")], axesflag=5, leg="sin(x)@cos(x)");

rect - значение параметра keyn=valuen функции plot2d - это вектор [xmin, ymin, xmax, ymax], определяющий размер окна вокруг графика.

Здесь xmin, ymin  - положение верхней левой вершины;

xmax - ширина окна;

ymax - высота окна.

Применим параметр rect к предыдущему примеру, установив для него следующие значения [-8,-2,8,2]. Вследствие того, что ось Y продлилась от [-1:1] до [-2:2], а ось X осталась без изменений, визуально кажется, будто график сжался по оси Y.

axesflag - значение параметра keyn=valuen функции plot2d - определяет наличие рамки вокруг графика.

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

0 - нет рамки;

1 - изображение рамки, ось y слева (по умолчанию);

3 - изображение рамки, ось y справа;

5 - изображение осей, проходящих через точку (0,0).

Задача.

Построить графики функций y = sin(x) и y1 = cos(x), используя 4 базисные значения параметра axesflag, в одном графическом окне при помощи функции subplot.

Для того, чтобы определить число основных и промежуточных делений координатных осей, в Scilab существует параметр nax. Если параметр axesflag=1 (по умолчанию), это массив из четырех значений: [nx, Nx, ny, Ny].

Здесь Nx (Ny) - число основных делений c подписями под осью X (Y );

nx (ny) - число промежуточных делений.

Задача.

Построить графики функций y = sin(x) и y1 = cos(x). Модифицировать масштаб координатных осей графика.

Сформируем массив X, приняв, что x изменяется в диапазоне [-8:8] с шагом 0,1, затем совместно сформируем массивы значений заданных функций с помощью следующей записи: y=[sin(x); cos(x)].

С помощью функции plot2d построим кривые функций y = sin(x) и y1 =cos(x), установив значение параметра nax=[4,9,3,6]. 

Таким образом, ось X будет разбита 9 основными делениями (засечками), каждое основное - 4 промежуточными, а ось Y - соответственно 6 и 3.

Листинг. Нанесение на координатные оси графика основных и промежуточных делений с помощью параметра nax функции plot2d

x=[-8:0.1:8];

y=[sin(x); cos(x)];

plot2d(x,y’,style=[color("red"),color("blue")],axesflag=1,...nax=[4,9,3,6]);

leg - значение параметра keyn=valuen функции plot2d - строка, определяющая легенды для каждого графика:

"leg1@leg2@leg3@...@legn"

где leg1 - легенда первого графика, ..., legn - легенда n-го графика.

В качестве примера используем предыдущую задачу. Построим графики функций y = sin(x) и y1 = cos(x) с пересечением осей X и Y в точке (0,0) - значение параметра axesflag=5, выведем легенду с подписями для обеих кривых.

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

y=[sin(x); cos(x)];

plot2d(x,y',style=[color("red"), color("blue")], axesflag=5,leg="sin(x)@cos(x)");

Функцию plot2d можно использовать для построения точечных графиков. В этом случае обращение к функции имеет вид plot2d(x,y,d), здесь d – отрицательное число, определяющее тип маркера.

Листинг. Точечный график синусоиды.

x=[-2*%pi:0.25:2*%pi];

y=sin(x);

plot2d(x,y,-3);

Таблица. Значения параметра d.

Задача.

Построить точечный график функции y = sin(x) с типом маркера «плюс, вписанный в ромб».

Построение графиков в виде ступенчатой линии

Для изображения графика в виде ступенчатой линии в Scilab существует функция plot2d2(x,y).

Она полностью совпадает по синтаксису с функцией plot2d. Главное отличие состоит в том, что X и Y могут быть независимыми друг от друга функциями, важно лишь, чтобы массивы X и Y были разбиты на одинаковое количество интервалов.

Задача. Имеются детальные наблюдения за ростом народонаселения на планете за период с 1947 по 2006 год, млн. чел. Построить график, отражающий динамику процесса на основании данных 1947, 1958, 1970, 1980, 1999 и 2006 годов.

Поэлементно введем массивы X и Y и воспользуемся функцией plot2d2(x,y).

x=[1947 1958 1970 1980 1999 2006];

y=[2.003 3.1 3.6 4.7 5.2 5.4];

plot2d2(x,y);

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

Полярная система координат состоит из заданной фиксированной точки O  - полюса, концентрических окружностей с центром в полюсе и лучей, выходящих из точки O, один из которых OX - полярная ось.

Расположение любой точки M в полярных координатах можно задать положительным числом ρ = OM (полярный радиус), и числом ϕ, равным величине угла XOM (полярный угол).

В Scilab для формирования графика в полярной системе координат необходимо сформировать массивы значений полярного угла и полярного радиуса, а затем обратиться к функции polarplot:

polarplot(fi,ro,[key1=value1,key2=value2,...,keyn=valuen]),

где fi - полярный угол;

ro - полярный радиус;

keyn=valuen - последовательность значений свойств графика.

Рассмотрим пример построения полярных графиков =3cos5 ,1=3cos3.

fi=0:0.01:2*%pi;

ro=3*cos(5*fi);

ro1=3*cos(3*fi);

polarplot(fi,ro,style=color("red"));

polarplot(fi,ro1,style=color("blue"));

Задание. Построить графики функций =3cos2 ,1=2sin.

Построение графиков в параметрической форме

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

Листинг.

t=-5:0.01:5;

x=(t.^2-1)./(t.^2+1);

y=t.*(t.^2-1)./(t.^2+1);

plot(x,y);

Задание. Построить график функции полукубической параболы, заданной параметрически

x(t) = 0.5t2

y(t) = 0.3t3


 

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

14356. Методика ч.д. Спілбергера, ЮЛ. Ханіна 36.27 KB
  Методика ч.д. Спілбергера ЮЛ. Ханіна. Мета. Дослідження рівня тривожності в даний момент реактивна тривожність та рівня тривожності як стійкої характеристики особистісна тривожність. Тест може застосовуватися для осіб у віці від 16 років. Обробка результатів. Реакти
14357. Емоційні стани 34.94 KB
  Лабораторна робота № 4 Емоційні стани Методика діагностики тривожності СпілбергераХаніна Мета визначити показники особистісної та ситуативної тривожності досліджуваного. Обробка результатів Після проведення методики результати обробляються ок...
14358. Тести інтелекту 30 KB
  Лабораторна робота №2. Тести інтелекту. Методики: Матриці Равена. Тест структури інтелекту Амтхауера. Завдання: Провести діагностику інтелектуальних здібностей за допомогою вказаних методик. Підрахувати сирі бали по обох методиках. Порівня...
14359. Діагностика конституційних диспозицій 44.09 KB
  Лабораторна робота №1 З дисципліни Психодіагностика На тему: Діагностика конституційних диспозицій Зміст Методика діагностики темпераменту Я.Стреляу; Тестопитувальник ЕРІ Г.Айзенка; Методика діагностики темпераменту Л. Терстоуна; Методика виз
14360. Методика визначення типу акцентуації рис характеру та темпераменту К. Леонгарда і X. Шмішека 54 KB
  Методика визначення типу акцентуації рис характеру та темпераменту К. Леонгарда і X. Шмішека Методика призначена для діагностики типу акцентуії особистості. В основу опитувальника розробленого X. Смішком закладена концепція акцентуйованої особистості К. Леонгарда...
14361. Стреляу Ян (Strelau, Jan) 59 KB
  Стреляу Ян Strelau Jan Родился: 1931 Гданьск Польша. Интересы: психология личности и социальная психология психофизиология и сравнительная психология дифференциальная психология. Образование: магистр. Варшавский университет 1958; доктор Варшавский университет. 19...
14362. Эмоции человека 696.69 KB
  Кэррол Э. Изард Эмоции человека ния которые я делил с моими психотерапевтическими пациен тами людьми требующими от нас развития науки об эмоциях которая улучшит многие важные службы связанные с помощью человеку. Младенцы и дети являются величаишими у
14363. Безпека життєдіяльності. Практичні роботи 1.84 MB
  ЗМІСТ ПЕРЕДМОВА Безпека життєдіяльності є інтегрованою науковою дисципліною яка ґрунтується на наукових досягненнях фундаментальних наук. Одним із стратегічних завдань модернізації вищої освіти в Україні у контексті вимог єдиного європейського освітнього п...
14364. ИССЛЕДОВАНИЕ ПРОВОДНИКОВ 1-го РОДА С ПОМОЩЬЮ МОСТА ПОСТОЯННОГО ТОКА 339.5 KB
  Лабораторная работа №31 ИССЛЕДОВАНИЕ ПРОВОДНИКОВ 1го РОДА С ПОМОЩЬЮ МОСТА ПОСТОЯННОГО ТОКА 1. Цели и задачи: необходимо определить сопротивления проводников с помощью моста постоянного тока и расчет удельное сопротивление для каждого проводника. 2. Приборы и...