Главная страница

пр 5. ПР-5. Практическая работа Основы работы в scilab. Построение таблицы и графика функции. Цель работы


Скачать 0.97 Mb.
НазваниеПрактическая работа Основы работы в scilab. Построение таблицы и графика функции. Цель работы
Дата31.12.2021
Размер0.97 Mb.
Формат файлаpdf
Имя файлаПР-5.pdf
ТипПрактическая работа
#322567

Практическая работа № 5. Основы работы в SCILAB. Построение таблицы
и графика функции.
Цель работы
Изучение основ интерфейса пользователя SciLab, построение таблицы и графика функции на примере задачи вычисления приземной концентрации загрязнения в зависимости расстояния от источника загрязнения.
Задание
Дано: Максимальная концентрация загрязнения Cm
Расстояние от источника загрязнения, на котором достигается максимальная концентрация загрязнения Sm.
Построить: таблицу и график функции зависимости концентрации загрязнения от расстояния от источника загрязнения.
Теоретические основы
1.1. Интерфейс пользователя SciLab
После запуска SciLab открывается комбинированное диалоговое окно, включающее 4 области:
• Командное окно (основное окно для ввода и выполнения команд),
• Обозреватель файлов (аналог Проводника, используется для управления файлами),
• Обозреватель переменных (описание введенных пользователем в командном окне переменных, их имена, значение и тип)
• Журнал команд (список введенных пользователем команд)
Пользователь имеет возможность изменить размеры, переместить, свернуть или закрыть каждую из этих областей, используя стандартные средства для работы с окнами графического интерфейса Windows. Помимо этих областей, комбинированное окно SciLab включает в себя строку текстового меню и панель инструментов (пиктограмм). Комбинированное окно SciLab после выполнения простейшей команды присваивания значения переменной показано на рис.1.1.

Рис.1.1. Комбинированное окно SciLab
Командное окно SciLab ориентировано на последовательный ввод команд
(так называемый консольный ввод). Это означает, что пользователь не может установить курсор в произвольное место рабочей области. Ввод команды возможен только в строку, в которой находится знак приглашения “-->”, после которого расположен активный (мигающий) курсор. Эта строка называется
командной строкой или областью редактирования. Командное окно SciLab представляет собой бесконечную ленту, заканчивающуюся командной строкой, на экране отображается только нижняя часть этой ленты. Просмотреть информацию, которая покинула видимую часть окна, можно, если воспользоваться стандартными средствами просмотра, например полосами прокрутки или клавишами перемещения курсора
,
Отметим, что информацию из области просмотра можно выделить с помощью мыши и скопировать в буфер обмена, например, для дальнейшего помещения в командную строку.
Ввод команд в Scilab осуществляется с клавиатуры. Нажатие клавиши
после команды приводит к ее выполнению и выводу результата. В командной строке можно использовать обычные клавиши редактирования:
<→> — перемещение курсора вправо на один символ;
<←> — перемещение курсора влево на один символ;

— перемещение курсора в начало строки;
—перемещение курсора в конец строки;
— удаление символа после курсора;
— удаление символа перед курсором.
При редактировании команд можно использовать стрелки управления курсором для повтора ранее введенных команд. Нажатие клавиши <↑> в пустой командной строке приводит к появлению в ней последней введенной команды, ее повторное нажатие – к появлению предпоследней введенной команды и т.д.
Важно, что при нажатии этой клавиши команды показываются в командной строке, но не исполняются. Таким образом можно повторить любую ранее введенную команду, внести в нее исправления и выполнить.
Если команда заканчивается точкой с запятой <;>, то ее результат не отображается на экране. В противном случае после выполнения команды в рабочую область под командой выводится результат ее выполнения и активный курсор смещается вниз.
1.2 Текстовое меню и панель инструментов
Рассмотрим наиболее часто используемые команды меню SciLab.
Большинство из них дублируется пиктограммами в панели инструментов. при подведении курсора мыши к пиктограмме появляется текстовая подсказка, поясняющая, какая команда связана с данной пиктограммой.
Вызвать справочную систему SclLab можно различными способами:

Нажав клавишу на клавиатуре;

Нажав на пиктограмму «вопросительный знак» в панели инструментов; Выбрав в текстовом меню пункты СправкаСодержание.
Особо остановимся на группе команд меню Файл. В отличие от программ, входящих в состав Microsoft Office, SciLab не позволяет сохранить рабочую область в виде текста. Команды, входящие в меню Файл, позволят сохранить в виде файла или загрузить из файла текущие значения переменных

(«окружение»), но не тексты команд. В этом же меню находится команда
Печать, позволяющая распечатать рабочую область (то же самое позволяет сделать пиктограмма в виде принтера, находящаяся на панели инструментов).
Для сохранения в файл и загрузки из файла последовательностей команд
SciLab – программ или сценариев – используется специальный текстовый редактор SciNotes. Его можно вызвать с помощью команд текстового меню
ИнструментыТекстовый редактор SciNotes, либо с помощью пиктограммы в виде блокнота в панели инструментов.
В меню Правка находятся команды для работы с буфером обмена
(Вырезать, Копировать, Вставить), эти команды дублируются пиктограммами в панели инструментов. В этом же меню находятся команда Очистить
командное окно, которая вызывает удаление всего текста из рабочей области, но не изменяет значений переменных. Эта команда дублируется в панели инструментов пиктограммой в виде метлы.
Кроме того, в меню Правка находится команда Настройки, которая позволяет, помимо прочих параметров, установить удобные для пользователя шрифты как в основном окне SciLab, так и в окне редактора SciNotes. Эта команда дублируется пиктограммой в панели инструментов.
1.3 Текстовый редактор SciNotes
Текстовый редактор SciNotes, помимо обычных инструментов для работы с текстовыми файлами, включает в себя ряд инструментов, специально предназначенных для разработки и отладки программ.
Так же, как и основное окно SciLab, окно редактора включает текстовое меню, панель инструментов (пиктографическое меню) и рабочую область.
Основное окно SciNotes показано на рис.1.2. Как и в других текстовых редакторах, например, в Блокноте или Microsoft Word, в SciNotes можно вносить
исправления в любую строку текста, то есть вся рабочая область окна является областью редактирования.
Рис.1.2. Окно текстового редактора SciNotes
Группа команд Файл содержит основные операции, позволяющие хранить программы SciLab в виде файлов:
Сохранить – записать программу в виде файла;
Сохранить как– записать в виде файла с новым именем;
Открыть– открыть в редакторе ранее сохраненный файл;
Новый – создать новое окно в редакторе.
Печать – распечатать программу.
По умолчанию программы сохраняются в файлы с расширениями sce.
Для выполнения программы, написанной с помощью редактора SciNotes, используется команда Выполнить - Сохранить и Выполнить.
1.4 Числа и переменные в SciLab. Оператор присваивания.
В качестве десятичного разделителя в SciLab используется точка. В некоторых случаях (если число по модулю достаточно велико или достаточно мало) используется экспоненциальная форма числа, в которой выделяются мантисса m и порядок p и число записывается в виде mDp (латинская буква D разделяет мантиссу и порядок). Например, число 0.00000001=1*10
-8
в экспоненциальной форме будет выглядеть как 1.000D-08.

Переменные в SciLab должны иметь имена, которые начинаются с буквы и могут содержать до 24 символов. Система различает большие и малые буквы в именах переменных. Например, аа, АА, аА – это имена разных переменных.
Имена переменных не могут совпадать с именами встроенных функций SciLab, полный список которых приведен в справочной системе.
Значения математических констант записываются в SciLab с помощью предопределенных переменных, имена которых начинаются со знака «процент»
<%>. Краткий список этих констант приведен в таблице 1.1.
Таблица 1.1. Обозначения математических констант
обозначение
константа
значение
%i мнимая единица
%pi число «пи»
3.1415926
%e число «е»
2.7182818
%inf бесконечность
%NaN неопределенность
Значения присваиваются переменным с помощью оператора присваивания, который представляет собой знак равенства. Если значение переменной определено, эта переменная может использоваться в дальнейших вычислениях.
Пример присвоения значений переменным, обычной и экспоненциальной формы представления чисел в SciLab приведен на рис.1.3. Еще раз подчеркнем, что x и X – это разные имена переменных. Отметим, что выполнение команды присвоения значения переменной отображается не только в командном окне, но и в окне журнала команд, а результат присвоения значения - в окне обозревателя переменных.

Рис.1.3. Пример представления чисел в SciLab
Для того, чтобы изменить значение переменной, достаточно присвоить ей новое значение. Для того, чтобы удалить значения всех переменных, используется оператор clear.
1.5 Арифметические операторы и встроенные функции
Для выполнения простейших арифметических операцийв SciLab применяют следующие операторы:
+ сложение,
- вычитание,
* умножение,
/ деление слева направо,
\ деление справа налево, ^ возведение в степень.
Порядок выполнения арифметических операций в SciLab совпадает с обычным, при необходимости используются скобки. Примеры вычисления выражений приведен на рис.1.4. При вычислении значения переменной z использована константа %pi.
Рис.1.4. Пример вычисления выражений

Наиболее часто используются следующие встроенные функции:
Рассмотрим пример вычисления значения выражения в SciLab. Пусть необходимо найти значение выражения при x=1.
В SciLab это выражение будет записано следующим образом: y=log((3*x+11)/(x+1)-2)+exp(x+%pi/2)
Результат вычислений показан на рис.1.5. Отметим, что необходимо вначале задать значение переменной x и только затем вычислить значение выражения. Команда присваивания значения переменной x заканчивается точкой с запятой, чтобы программа не выводила на экран значение x.
Рис.1.5. Пример вычисления выражения с
использованием встроенных функций и констант.

1.6 Оператор цикла c заранее заданным количеством шагов
Операторы цикла используются в тех случаях, когда необходимо несколько раз повторить некоторую последовательность операторов. В том случае, если количество повторений заранее известно, оно задается с помощью специальной переменной – параметра цикла, интервал изменения значений которой задается в заголовке цикла.
Такой цикл начинается с ключевого слова for и имеет следующий синтаксис:
for x=xn:h:xk
<операторы> end где xпараметрцикла (имя переменной), xnначальноезначение x, h
– шагцикла (если шаг цикла равен 1, этот параметр можно пропустить), xk – конечноезначение x
Рассмотрим пример использования цикла: пусть необходимо подсчитать сумму нечетных чисел в интервале от 1 до 9 включительно. Последовательность операторов, позволяющих решить эту задачу, приведена ниже: y=0; for x=1:2:9 y=y+x; end y
Результат выполнения этой последовательности операторов показан на рис.1.6. Отметим, что при каждом вычислении значения переменной y в теле цикла на экран выводится ее значение. Такой способ вывода удобен при отладке программы, однако, если нас интересует только итоговое значение переменной, следует поставить точку с запятой после оператора в теле цикла и предусмотреть вывод на экран значения переменной y после окончания цикла. Результат таких вычислений приведен на рис.1.7.

Рис.1.6. Пример вычисления цикла for.
Вывод значения переменной при каждом вычислении тела цикла
Рис.1.7. Пример вычисления цикла for. Вывод значения переменной после
выполнения цикла
1.7. Построение таблицы значений и графика заданной функции на
заданном интервале
Рассмотрим построение таблицы и графика функции на примере задачи вычисления приземной концентрации загрязнения в зависимости от расстояния от источника. Для решения этой задачи должны быть известны максимальная концентрация загрязнения Cm и расстояние от источника, при котором эта концентрация достигается Sm. На расстоянии s=k*Sm, где k>1, концентрация рассчитывается по формуле
C=Cm*(1.13/(0.13*k
2
+1))
Построим таблицу значений и график функции C(s) при k, изменяющемся от 1 до 8 с шагом 0.5.

Для решения этой задачи используется цикл for. До начала цикла необходимо определить константы Sm и Cm, эти числа используются, но не изменяются в ходе вычислений. В цикле используются 3 переменные, одна из которых, k, будет задавать параметр цикла, другая, s – значения аргумента функции, а третья, С – значения самой функции. Для того, чтобы значения переменных находились в одной строке таблицы, а не выводились последовательно, операторы присваивания должны заканчиваться точкой с запятой. Для вывода значений на экран используем функцию disp, аргументом которой являются значения переменных s и C, объединенные в строку с помощью квадратных скобок.
Программа приведена на рис.1.8а, а результат вычислений – на рис.1.8б.
Рис.1.8. Пример использования цикла для построения таблицы
зависимости приземной концентрации загрязнения от расстояния от
источника
Для построения простейшего графика функции, состоящего из отдельных точек, используется функция plot2d, которая выводит точку с координатами, которые задают аргументы оператора, в специальное графическое окно.

Функция plot2d имеет 3 аргумента, первые 2 из них задают координаты выводимой точки, а 3-й – внешний вид этой точки (маркер). Варианты маркеров приведены в таблице 1.2.
Для построения графика функции используется тот же цикл for, что и для построения таблицы, различие только в операторе вывода. Для построения графика применяется функции plot2d, в качестве маркера выбран «закрашенный ромб», при этом значение параметра равно «-4».
Таблица 1.2. Виды маркеров для функции plot2d
значение
параметра
маркер
значение
параметра
маркер
-1 плюс
-6 треугольник вершиной вверх
-2 крестик
-7 треугольник вершиной вниз
-3 плюс внутри окружности
-8 плюс внутри ромба
-4 закрашенный ромб
-9 круг
-5 незакрашенный ромб
-10 звездочка
Для того, чтобы задать названия всего графика и осей координат, используется функция xtitle. Первый аргумент этой функции задает название графика, последующие – названия осей. Названия должны быть заключены в знаки апострофа (‘). Для решаемой задачи функция может иметь вид xtitle('график зависимости C(s)', 'расстояние от источника s', 'приземная концентрация C')
Программа приведена на рис.1.9а, а график – на рис.1.9б.

При следующем обращении к функции plot2d новые точки будут выведены в то же самое графическое окно, поэтому, если необходимо заново построить график, существующее графическое окно нужно закрыть, чтобы новые точки не накладывались на старые.
Варианты задания:
Номер варианта соответствует номеру компьютера.
Вариант
Xmax
Cmax
1.
100 0,32 2.
200 1,28 3.
300 3,51 4.
400 4,82 5.
500 0,29 6.
600 2,21 7.
700 4,34 8.
800 0,76 9.
900 5,57 10.
150 6,69 11.
250 1,44 12.
350 2,76 13.
450 0,87 14.
550 1,29 15.
650 3,57 16.
750 4,84 17.
850 0,21 18.
100 2,24 19.
200 4,38 20.
300 0,79 21.
400 5,55 22.
500 6,65 23.
600 1,48 24.
700 2,79 25.
800 3,71


написать администратору сайта