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


 

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

34610. Европейские морские экспедиции XV века. Христофор Колумб 15.04 KB
  Христофор Колумб Успехи португальцев вызвали интерес к морским экспедициям в соседней Испании. Исходя из представления о шарообразности Земли мореплаватель Христофор Колумб предлагал попытаться достичь Индии плывя на запад по Атлантическому океану. Испанское правительство выделило ему три каравеллы самая большая водоизмещением 280 т и в 1492 экспедиция под руководством Колумба достигла одного из Багамских островов открыв тем самым Америку. Колумб умер в 1506 будучи в полной уверенности что открыл новый путь в Индию.
34611. История Нью Йорка 34.5 KB
  История Нью Йорка Считается что первые люди появились на территории современного НьюЙорка более 11 тысяч лет назад. Тихий и размеренный этап истории НьюЙорка продолжался до 1524 года когда в гавань НьюЙорка прибыл Джованни Верразана.Таким образом город НьюЙорк получил свое современное название. После начала войны за независимость к НьюЙорку подошли 500 английских кораблей с 32тысячной армией под командованием генерала Уильяма Хоу.
34612. Пуритане в Америке 13.69 KB
  Пуритане надеялись построить в Новой Англии Град на холме идеальное общество. Пуритане считали что государство должно насаждать религиозную мораль. Хотя сами они искали религиозной свободы пуритане отличались крайней нетерпимостью в вопросах морали.
34613. Америка в XVIII веке: Просвещение, иммиграция, предпосылки Войны за независимость 16.84 KB
  Основным проводником просветительских идей в колониальной Америке XVIII в. в Америке возникают университеты. Предпосылки войны за независимость Война североамериканских колоний за независимость 1775 1783 явилась закономерным результатом тех сложных процессов которые происходили как в Америке так и в самой Англии. когда английский главнокомандующий в Америке генерал Гейдж распорядился захватить склад оружия устроенный патриотами недалеко от Бостона и арестовать лидеров заговорщиков.
34614. Война за независимость 24.47 KB
  Ход войны 17 апреля 1775 года произошло первое вооруженное столкновение между британскими войсками и американскими сепаратистами. Британские войска заперлись в Бостоне. Однако британские войска отразили вторжение. Британские войска перешли в наступление.
34615. Образование Демократической и Республиканской партий в США 21.76 KB
  Республиканская политическая партия является более консервативной чем демократическая не имеет постоянного членства 23 избирателей США считают себя республиканцами. После победы северян и их лидера Авраама Линкольна в классовой борьбе республиканцы почти 40 лет непрерывно правили США. Люди из команды Рональда Рейгана правили США до 2009года.
34616. Реформистское движение при президентах Т. Рузвельте и В. Вильсоне. Американский империализм 18.72 KB
  В своей политике Рузвельт исходил из необходимости увеличения роли государства считая что огромной власти корпораций необходимо противопоставить еще большую власть правительства. Реформаторская деятельность Рузвельта была начата шумной кампанией против злоупотреблений трестов. За ним пришла очередь судебных процессов против треста скотобоен Чикаго табачного и сахарного трестов и других крупных монополистических объединений. Рузвельт добился ускорения судопроизводства по делам о нарушении антитрестовского законодательства и открытие дел...
34617. Ревущие двадцатые 19.76 KB
  Экономика: фермеры и горнорудная промышленность переживали трудные времена после войны но экономика США быстро перестроилась на мирное производство Америка стала самой богатой страной мира промышленность обеспечивала массовое производство общество привыкло к потребительству солдаты после войны получили жалованье за службу прекращение заказов поначалу вызвало в экономике депрессию но по мере возвращения демобилизованных солдат в мирную жизнь она прекратилась предложение превышало спрос низкие цены на товары стимуляция продаж...
34618. «Новый курс» Ф.Рузвельта 18.18 KB
  В принятом Чрезвычайном законе о банках предусматривалось возобновление функций и получение правительственных кредитов займов из федеральной резервной системы хотя это разрешалось только наиболее крупным банкам. был принят один из двух наиболее важных законов закон о восстановлении национальной промышленности НИРА. Закон о восстановлении промышленности вводил систему государственного регулирования этого подразделения экономики. Во втором и третьем разделах закона...