- •С.В. Ерин
- •Основы работы с Scilab
- •Объекты scilAb Скалярные величины
- •Векторы
- •Двумерные матрицы
- •Единичные матрицы
- •Создание строки, элементы которой будут последовательными целыми числам от n до m
- •Нахождение суммы и произведения элементов матрицы
- •Нечисловые (символьные) матрицы
- •Полиномы и полиномные матрицы Алгебраический полином можно определить командой poly
- •Генератор случайных чисел
- •Операции над числовыми матрицами
- •Определение корней полинома
- •Индексирование элементов в матрицах
- •2D графика
- •Следующая функция позволяет отобразить линии вспомогательной сетки в осях координат
- •Изображение нескольких рисунков в одном графическом окне
- •Программирование с использованием встроенного текстового редактора Scipad
- •Литература1. Алексеев е.Р., Чеснокова о.В., Рудченко е.А. Scilab: Решение инженерных и математических задач. – м: «Бином». 2008 г. Лабораторная работа №2
- •Получение случайных чисел из данного распределения.
- •Примеры:
Определение корней полинома
Вычисление корней полинома в Scilab возможно командой roots. В следующем примере вычислим корни полинома h2 из предыдущего примера
-->a=roots(h2)
a =
- 0.75
1.
Функция roots возвращает вектор-столбец, содержащий корни аргумента.
Индексирование элементов в матрицах
Индексирование матрицы может осуществляться указанием сквозного номера элемента или раздельным указанием номеров строки и столбца.
Рассмотрим матрицу
-->a=[3 1 4;5 7 0]
a =
3. 1. 4.
5. 7. 0.
В случае сквозной индексации нумерация элементов начинается с единицы и проводится сначала по первому столбцу сверху вниз, затем по второму и т.д.
-->m=a(2)
m =
5.
-->m=a(3)
m =
1.
-->m=a(5)
m =
4.
Рассмотрим более естественный способ индексации элементов матрицы с помощью указания номеров строк и столбцов матрицы. При этом сначала указывается номер строки, затем номер столбца. Нумерация строк и столбцов начинается с единицы.
-->m=a(1,2)
m =
1.
-->m=a(2,3)
m =
0.
Возможно выделение единственной строки или единственного столбца матрицы. Выделим третий столбец и вторую строку.
-->m=a(:,3)
m =
4.
0.
-->m=a(2,:)
m =
5. 7. 0.
Программирование в Scilab
В условных конструкциях и циклах используются следующие операции сравнения:
== равно
< меньше
> больше
<= меньше или равно
>= больше или равно
<> или ~= не равно
Определены следующие типы циклов: for и while. Цикл for определён следующим образом
for i=n1:step:n2,
<тело цикла>,
end
Здесь i – переменная цикла, n1 и n2 – начальное и конечное значения переменной цикла, step – шаг изменения переменной цикла. Если шаг цикла step=1, его можно не указывать.
Пример
-->x=1;
-->for k=1:2:10,x=x*k,end
x =
1.
x =
3.
x =
15.
x =
105.
x =
945.
Отметим, что если после любого действия в теле цикла не следует символ ";", то результат действия будет выведен на экран, что может быть не удобно при большом числе итераций цикла. Перепишем предыдущий пример следующим образом
-->x=1;
-->for k=1:2:10,x=x*k;end
-->x
x =
945.
Синтаксис цикла while.
while <тело цикла> end
Пример цикла while.
-->x=0;
-->while x<14, x=x*2+1,end
x =
1.
x =
3.
x =
7.
x =
15.
Циклы while и for могут быть прерваны с помощью оператора break.
Допустимы следующая условная конструкция if-then-else
Синтаксис
if expr1 then statements
elseif expri then statements
....
else stataments
end,
end
-->for i=1:10, x=2*i, ..
-->if x> 10 then break end
-->end
x =
2.
x =
4.
x =
6.
x =
8.
x =
10.
x =
12
2D графика
Самый простой способ построения графика функции y(x) является использование команды plot, которая имеет следующий формат.
1. plot(y)
2. plot(x,y)
Параметры x,y - два вектора одинакового размера
Рис.
2 Результат работы функции plot(y)
Рис.
3 Результат работы функции plot(x,y)
Следующая последовательность команд позволит построить график, изображённый на рис. 2
-->x=[-5:1:5]
x =
-5. -4. -3. -2. -1. 0. 1. 2. 3. 4. 5.
-->y=x^2
y =
25. 16. 9. 4. 1. 0. 1. 4. 9. 16. 25.
-->plot(y)
Результат работы команды plot(x,y) показан на рис. 3
Последовательность команд plot позволяет разместить два графика в одних осях координат
-->plot(x,2*x+10)
-->plot(x,x.*x)
Либо возможен второй вариант
-->plot(x,[2*x+10;x.*x])
В этом случае графики отображаются разным цветом.
Более гибко управлять процессом отображения графика функции позволяет команда plot2d и её разновидности.
Синтаксис команды plot2d следующий
plot2d(x,y)
Параметры x и у могут быть векторами или матрицами. Если х и у векторы, то их размерности должны совпадать.
Существуют аналогичные функции:
plot2d1 эквивалентна команде plot2d.
plot2d2 аналогична команде plot2d, но выглядит как огибающая гистограммы.
plot2d3 аналогична команде plot2d, но кривая изображается в виде столбчатой диаграммы, у которой прорисованы только вертикальные линии.
plot2d4 аналогична команде plot2d, но кривая изображается стрелочками.
