36860

Функция plot2d

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

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

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

Русский

2013-09-23

690.5 KB

5 чел.

Лабораторная работа № 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


 

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

63177. Виникнення рільництва і скотарства 25.23 KB
  Очікувані результати: Після цього уроку учні зможуть: називати хронологічні межі палеоліту неоліту енеоліту та часів бронзового віку; основні заняття людей за різних періодів первісного суспільства...
63178. СУСПІЛЬНИЙ УСТРІЙ ТА ГОСПОДАРСЬКЕ ЖИТТЯ КИЇВСЬКОЇ РУСІ У ІХ-Х СТ 29.38 KB
  Мета: висвітлити суть і значення розквіту Київської Русі у IX XI ст. ознайомити із соціальним та господарським життям Київської Русі розкрити значення розвитку ремісничих професій і їх вплив на розквіт держави...
63179. Юридична відповідальність. Особливості юридичної відповідальності неповнолітніх 23.96 KB
  Розкрити зміст понять юридичної відповідальності крайньої необхідності необхідної оборони; ознайомити з видами юридичної відповідальності та конституційними принципами юридичної відповідальності...
63180. Правомірна поведінка і правопорушення 27.83 KB
  Мета: розкрити поняття правомірна поведінка правопорушення юридична відповідальність; навчити учнів користуватися правовою термінологією застосовувати отримані знання в подальшому житті...
63182. Перші землероби та скотарі на території України 21.74 KB
  План зразок 1 Коли на території України існувала найдавніша цивілізація 2 Чому відкрита вченими культура була названа трипільською і 3 Які заняття були головними в трипільців и 4 Якими знаряддями праці вони користувалися...
63183. ТЕМАТИЧНЕ ОЦІНЮВАННЯ ЗА ТЕМОЮ «ВИНИКНЕННЯ ТА РОЗВИТОК КИЇВСЬКОЇ РУСІ» 19.09 KB
  У 907 році київський князь Олег згідно з легендою літопису повісив на воротах Константинополя свій щит. а показати жителям міста свою приязнь до них; б підкреслити: Візантія віднині під владою Олега; в символічно засвідчити перемогу Київського князя над містом.
63185. Культура та вірування людей за первісних часів 23.4 KB
  Мета: ознайомити учнів із розвитком знань мистецтва та релігійних вірувань перших людей; показати прикладний характер знань давньої людини звязок релігійних уявлень із господарською діяльністю наших предків.