Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Построение и форматирование графиков в среде Scilab

Покупка
Артикул: 792763.01.99
Доступ онлайн
500 ₽
В корзину
Рассмотрены возможности системы компьютерной математики Scilab в области визуализации данных. Приведены теоретический материал и примеры построения диаграмм, гистограмм, двумерных и трехмерных графиков, а также рассмотрены возможности форматирования графиков с использованием команд и меню графического окна. Для оценки уровня усвоения студентами пройденного материала предложены варианты заданий для самостоятельной работы. Предназначено для бакалавров, обучающихся по направлениям подготовки 18.03.01 «Химическая технология», 28.03.02 «Наноинженерия», 29.03.04 «Технология художественной обработки материалов», 29.03.05 «Конструирование изделий легкой промышленности», изучающих дисциплины «Информатика», «Информационные технологии», «Вычислительная математика», «Прикладная математика», «Компьютерная графика». Подготовлено на кафедре информатики и прикладной математики.
Титов, А. Н. Построение и форматирование графиков в среде Scilab : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева. - Казань : КНИТУ, 2020. - 108 с. - ISBN 978-5-7882-2867-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1904878 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное

образовательное учреждение высшего образования

«Казанский национальный исследовательский

технологический университет»

А. Н. Титов, Р. Ф. Тазиева

ПОСТРОЕНИЕ 

И ФОРМАТИРОВАНИЕ

ГРАФИКОВ В СРЕДЕ SCILAB

Учебно-методическое пособие

Казань

Издательство КНИТУ

2020

УДК 004.42(075)
ББК 32.97я7

Т45

Печатается по решению редакционно-издательского совета 

Казанского национального исследовательского технологического университета

Рецензенты:

д-р техн. наук, проф. М. Х. Хайруллин

канд. экон. наук О. С. Семичева

Т45

Титов А. Н.
Построение и форматирование графиков в среде Scilab : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева; Минобрнауки России, Казан. 
нац. исслед. технол. ун-т. – Казань : Изд-во КНИТУ, 2020. – 108 с.

ISBN 978-5-7882-2867-9

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

Предназначено для бакалавров, обучающихся по направлениям подготовки 

18.03.01 «Химическая технология», 28.03.02 «Наноинженерия», 29.03.04 «Технология художественной обработки материалов», 29.03.05 «Конструирование изделий легкой промышленности», изучающих дисциплины «Информатика», «Информационные технологии», «Вычислительная математика», «Прикладная математика», «Компьютерная графика».

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

ISBN 978-5-7882-2867-9
© Титов А. Н., Тазиева Р. Ф., 2020
© Казанский национальный исследовательский 

технологический университет, 2020

УДК 004.42(075)
ББК 32.97я7

О Г Л А В Л Е Н И Е

Введение......................................................................................................4

1. ПОСТРОЕНИЕ ГРАФИКОВ ФУНКЦИЙ ОДНОЙ ПЕРЕМЕННОЙ 6

1.1. Функция plot ...................................................................................6

1.2. Функция plot2d .............................................................................15

1.3. Функции plot2d2, plot2d3, plot2d4...............................................25

1.4. Функция plotimplicit.....................................................................29

1.5. Графики в полярной системе координат....................................38

1.6. Построение гистограмм. Операторы bar, histc, histplot и pie....41

2. ПОСТРОЕНИЕ ТРЕХМЕРНЫХ ГРАФИКОВ...................................53

2.1. Функция plot3d .............................................................................53

2.2. Функции plot3d1, plot3d2, plot3d3, mesh и surf..........................60

3. ФОРМАТИРОВАНИЕ ГРАФИКОВ...................................................69

3.1. Команда title..................................................................................69

3.2. Команда xtitle................................................................................72

3.3. Команда label ................................................................................74

3.4. Команда legend .............................................................................78

4. РЕДАКТИРОВАНИЕ СВОЙСТВ ГРАФИЧЕСКИХ ОБЪЕКТОВ. 
ОПЕРАТОР GET.......................................................................................80

5. РАБОТА С ГРАФИЧЕСКИМ ОКНОМ..............................................97

Задания для самостоятельной работы...................................................103

Литература...............................................................................................106

В в е д е н и е

К настоящему времени система компьютерной математики Scilab

получила достаточно широкое распространение в вузах ввиду своих очевидных преимуществ перед своими более мощными и дорогостоящими 
аналогами Matlab, Mathcad и др. К основным преимуществам относятся 
прежде всего бесплатность системы, ее небольшой объем, относительная простота в использовании. Появилось и достаточное количество 
публикаций о возможностях системы и принципах работы с ней. 
Из числа известных авторам за 10 лет работы с системой публикаций на 
эту тему следует отметить работы [1–4]. Все они, как правило, содержат 
материал по широкому кругу вопросов применения пакета. Авторов данной работы интересовали прежде всего основные графические возможностей Scilab. В своей научной работе, связанной, в частности, с обработкой экспериментальных данных, авторы часто сталкивались с необходимостью построения гистограмм и графиков функций плотности различных распределений с целью первоначального представления о законе распределения полученных в ходе моделирования данных [8–9]. 

Вопросы построения различного вида графиков рассмотрены 

в каждой из работ [1–4] как часть (чаще всего небольшая по объему и не 
самая главная) излагаемого материала. Лишь в известной авторам работе [1] приведено достаточно детальное описание функций построения и форматирования графиков, однако на основе устаревшей версии
среды Scilab – 4.1.1.  

В каждой новой версии пакета появлялись новые графические 

возможности системы и модифицировались уже существующие функции.  Авторы поставили перед собой цель: собрать имеющуюся в литературе информацию по указанным вопросам и издать ее в виде отдельного пособия, дополнив его непереведенной информацией из справочной системы Scilab (версия 6.1.0). 

Авторы надеются облегчить восприятие изложенного в справоч
ном разделе системы материала, снабдив пособие большим количеством примеров и пояснений к ним.

Пособие включает в себя пять разделов. В первом разделе рас
сматриваются вопросы построения двумерных графиков: работа функций plot и ее разновидностей plot2dx, построения гистограмм и диаграмм функциями bar, histplot и pie. Во втором разделе показано, как 
строить трехмерные графики функциями plot3d, plot3d1, plot3d2, 

plot3d3, mesh и surf. Приведены примеры работы функций meshgrid, 
genfac3d, nf3d и hist3d. В третьем разделе рассмотрены вопросы форматирования графиков командами title, xtitle, label и legend. В четвертой 
части приведены примеры форматирования объектов, полученных в 
графическом окне, командой get. В заключительной главе показано, как 
можно изменить свойства объектов графического окна через пункт 
меню «Правка».

Кроме самостоятельного интереса, построение графиков часто 

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

Материал, изложенный в пособии, использовался при проведе
нии лабораторных занятий по информатике, обработке экспериментальных данных, теории вероятностей и математической статистике, 
компьютерной графике, вычислительной математике. При изложении 
материала предполагалось, что читатель имеет базовые представления 
о работе в среде Scilab.

1 . П О С Т Р О Е Н И Е  Г Р А Ф И К О В  Ф У Н К Ц И Й О Д Н О Й

П Е Р Е М Е Н Н О Й

Графики в Scilab строятся в графических окнах. В одном графи
ческом окне можно построить как один, так и несколько графиков. 
Можно каждый график построить в своем графическом окне. Для построения графика можно открыть графическое окно с номером n командой scf(n), а можно строить график в текущем графическом окне, т. е. 
в последнем окне, которое было активно до этого. Если никакого окна 
открыто не было, то по умолчанию текущее окно – окно с номером 0. 
Для очистки текущего графического окна используется команда clf().

Идея построения проста. 
1. Открываем и очищаем (при необходимости) нужное нам гра
фическое окно. 

2. Задаем пределы изменения аргументов (если они есть, см. при
мер 1.2). 

3. С использованием подходящих для нашей цели функций

строим нужный нам график. 

4. Добавляем при необходимости название графика, названия 

осей, легенду. 

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

Для построения графиков двумерных поверхностей в Scilab рас
смотрим функции plot, plot2d, plot2d2, plot2d3, plot2d4, bar, histplot и pie.

1 . 1 . Ф у н к ц и я  p l o t

Синтаксис функции:
plot(y)
plot(x, y)
plot(x, fun)
plot(x, list(fun, param))
plot(.., LineSpec)

plot(.., LineSpec, GlobalProperty)
plot(x1, y1, LineSpec1, x2,y2,LineSpec2,...xN, yN, LineSpecN, 

GlobalProperty1,.. GlobalPropertyM)

plot(x1,fun1,LineSpec1, 
x2,y2,LineSpec2,...xN,funN,LineSpecN, 

GlobalProperty1, ..GlobalPropertyM)

plot(axes_handle,...)
x – вектор или матрица действительных чисел. Если аргумент 

опущен, то предполагается, что х принимает значения от 1 до n, где n –
число точек кривой, задаваемых параметром y;

y – вектор или матрица действительных чисел;
fun, fun1, .. – имя  функции. Например, plot(x, sin).
Если функция, график которой нужно построить, имеет входные 

аргументы, то функция и ее параметры могут быть определены как список. Например, plot(x, list(delip, -0.4)) (эквивалентно  команде           
plot(x, (delip(x, -0.4))) см. пример на с. 9).

LineSpec – это необязательный параметр, который используется 

для спецификации строящихся линий графика. Можно задать стиль линии, ее цвет, маркеры (маркер – изображение точек, по которым строится график) и т. д. Например, если мы хотим построить наш график 
пунктирной линией красного цвета с маркерами в виде ромба, мы можем 
записать в функции plot аргумент 'r--d' или '--dire' или '--reddiam' или 
'diamondred--' (см. справку Scilab по LineSpec). Кроме пунктирной, тип 
линии может быть: сплошным (обозначается как -), штрихом, чередующемся с двумя точками (:), штрихом, чередующемся с одной точкой (-.). 
По умолчанию предполагается сплошной тип линии.

GlobalProperty – это необязательный параметр, представляющий 

собой совокупность пар вида {Свойство,Значение}, которые определяют глобальные свойства, присущие всем кривым, создаваемым функцией plot. Название свойства – символьная переменная. Значение может 
быть действительным числом, целым числом или строкой (скаляром 
или матрицей) в зависимости от типа используемого свойства. Например, спецификация: красный цвет, стиль линии длинное тире-точка, 
маркер в виде ромба может быть записана так: 'Color', 'red', 'LineSt', '-.', 
'Marker', 'diam'. Полный набор возможных свойств можно посмотреть в 
справке по GlobalProperty.

axes_handle – с помощью этого параметра можно изменить зна
чения свойств, установленных по умолчанию (см. команду gca). 

Простейшее обращение к функции – plot(y). В этом случае аргу
ментом будут считаться номера точек вектора y. 

Пример 1.1. Построить график функции y=sinxlnx. x принимает 

значения от 4 до 9 с шагом 0.4. На оси Х вместо значений аргумента 
проставить номера точек, по которым строится график. 

Программа:
clf();x=4:0.4:9; y=sin(x).*log(x);plot(y)

Рис. 1.1. График функции y=sinxlnx. По оси Х стоят номера точек, 

по которым строится график

Пример 1.2. Построить график функции y в случае, когда 

y – матрица. 

Решение.
clf()
y=[2 3 4

5 6 7 
4 3 2];

plot(y)
В одном графическом окне будет построено три графика (по 

числу столбцов матрицы), каждый их которых будет построен по трем 
точкам (по числу строк матрицы). Значениями функции для построения 
каждого графика будут элементы соответствующего столбца. Аргументами для каждого графика будут точки 1, 2 и 3. Три полученные

точки для каждого графика будут соединены отрезками прямых. Полученный график приведен на рис. 1.2. 

Если же мы хотим, например, чтобы аргументом для построения 

первой кривой были числа -1,3,6; для второй 3, 5, 7, а для третьей 1, 5,
8, то программа будет выглядеть так:

clf()
x=[-1,3,6; 3 5 7; 1 5 8]'; y=[2 3 4; 5 6 7 ; 4 3 2];plot(x,y)

Рис. 1.2. График функции y. y – матрица

Пример 1.3. Построить график функции y=sinx. х принадлежит 

интервалу [1, 10] и изменяется с шагом 0.1.

Решение. Выполнив программу clf();plot(1:0.1:10, sin), мы полу
чим график функции sinx. По оси Х будут отложены значения x. 

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

clf()
function y=f(x);y=sin(x).*log(x);endfunction    
x=4:0.4:9;plot(x,f)

хотя с таким же успехом вместо последней строки можно было записать 
plot(x,f(x)).

Приведенная ниже программа вычисляет значения эллиптиче
ского интеграла первого рода 
2
2 2

0
(1
)(1
)

x

k

dt

t
c t
−
−

c параметром ck=-0.4 (х

принимает значения от 0 до 0.999 с шагом 0.05) и по полученным точкам строит график. 

clf();plot(0:0.05:0.999, list(delip, -0.4))  
Эта программа эквивалентна следующей:
clf();x=0:.05:0.999;d=delip(x,-0.4);plot(x,d);

Рис. 1.3. График функции delip(0:0.05:0.999,-0.4)

Доступ онлайн
500 ₽
В корзину