Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Лабораторная работа № 9 . Основы работы в Scilab




Цель работы: знакомство с основными принципами работы пакета Scilab: вычисление значений выражений, построение графиков и написание простых программ в Scilab.

Краткая теория

Элементарные математические выражения. Использование встроенных переменных и функций

Для выполнения простейших арифметических операций в Scilab  применяют следующие операторы:

+ сложение

· умножение

/ деление

^ возведение в степень

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

В рабочей области Scilab  можно определять переменные, а затем использовать их в выражениях.

Любая переменная до использования в формулах и выражениях должна быть определена. Для определения переменной необходимо набрать:

 имя переменной = значение переменной

здесь символ «=» - это оператор присваивания, действие которого аналогично действию оператора присваивания в любом языке программирования. В общем виде оператор присваивания записывается как

имя переменной=выражение

Scilab  содержит некоторое количество уже определенных(системных) переменных. Все системные переменные начинаются с символа «%»: мнимая единица; число p; число e  и др.

Пакет Scilab  снабжен достаточным количеством встроенных функций:

Функция Описание функции
sin(x) Синус числа x
cos(x)  Косинус числа x
tan(x) Тангенс числа x
cotg(x) Котангенс числа x
asin(x) Арксинус числа x
acos(x) Аркосинус числа x
atan(x)  Арктангенс числа x
exp(x) Экспонента числа x (ex)
log(x) Натуральный логарифм числа x
sqrt(x) Корень квадратный числа x
abs(x) Модуль числа x
log10(x) Десятичный логарифм числа x
log2(x) Логарифм по основанию 2 числа x

 

Построение графиков функций

Функция plot 2 d

В общем виде обращение к функции имеет вид:

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

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

· x – массив абсцисс;

· y – массив ординат;

· key=value – последовательность значений параметров графиков, возможны следующие значения параметров: style- определяет массив числовых значений цветов графиков (количество элементов массива совпадает с количеством изображаемых графиков). Для формирования кода цвета можно использовать функцию color, которая по названию (color(«название»)) или коду (color(r,g,b)) формирует нужный цвет. Если значение стиля отрицательное, то будет построен точечный график без соединения точек между собой линиями.

Пример построения двух графиков различного цвета:

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

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

plot2d(x,y’,style=[color(“red”),color(“blue”)];

rect – вектор [xmin,ymin,xmax,ymax] определяет размер окна графика

Пример:

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

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

plot2d(x,y’,style=[color(“red”),color(“blue”),rect=[-8,-2,8,2]);

 

· frameflag – параметр, определяющий окно, в котором будет отображаться график. Он может принимать значения по умолчанию или значения из предыдущего графика: 1- размер окна определяется параметром rect, 2- размер окна определяется из соотношения между максимальным и минимальным значениями x и y, 3 - размер окна определяется параметром rect в изометрическом масштабе, 4 – размер окна определяется из соотношения между максимальным и минимальным значениями x и y в изометрическом масштабе.

· axesflag - параметр, определяющий рамку вокруг графика, может принимать следующие значения: 0- нет рамки вокруг графика, 1- есть рамка, ось ординат слева, 2- есть рамка, ось ординат справа, 5- оси проходят через точку (0,0).

· nax - этот параметр исплользуют, если axesflag равен 1. nax представляет массив из четырех значений [nx,Nx,ny,Ny], где Nx(Ny) – число основных делений с подписями под осью X(Y), nx(ny) – число промежуточных делений.

· leg- строка, определяющая легенды для каждого графика. Структура строки: «leg1@leg2@…legn@».

Пример построения графиков функций с использованием параметра nax при построении функций с использованием параметра nax:

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]);

<Скриншот>

 

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

 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);

Изображения сетки на графике

Для изображения сетки следует воспользоваться функцией xgrid(color),

color определяет id цвета линии сетки.

<Скриншот>

Построение полярных графиков

Для построения графиков в полярной системе координат в Scilab служит функция

Polarplot(fi,ro,[key1=value1,key2=value2, …,keyn=valuen])

Здесь fi– полярный угол, ro- полярный радиус.

Рассмотрим пример построения полярных графиков ρ1=3cos(5j),ρ2=3cos(3j)

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²));

<Скриншот>

Программирование в Scilab

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

1. Вызвать команду Editor из меню

2. В окне редактора SciPad набрать текст программы

3. Сохранит текст программы с помощью команды File - Save в виде файла с расширением sce, например lab8.sce.

4. После чего программу можно будет вызвать набрав в командной строке exec, например exec(²lab8,sce²) или вызвать команду меню File-Exec

 

<Скриншот> c вводом данных с клавиатуры

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...