Системы Matlab и Scilab — это системы компьютерной математики, широко используемые сегодня для решения разнообразных задач на электронных вычислительных машинах.
Введение
Matlab и Scilab являются популярными системами компьютерного моделирования на математической основе, предназначенными для осуществления научных и инженерных расчётов следующих типов:
- Простые вычисления по имеющимся выражениям.
- Поиск решений нелинейных систем и уравнений.
- Поиск решений задач линейной алгебры.
- Поиск решений проблем оптимальности.
- Вычисление дифференциальных и интегральных выражений.
- Выполнение обработки данных экспериментов.
- Поиск решений обыкновенных дифференциальных уравнений и систем уравнений.
- Формирование моделей дискретных и непрерывных систем.
Помимо этого, программы обладают обширным инструментарием для построения и коррекции разнообразного вида графических отображений формул.
Работа в Matlab и Scilab
При использовании моделирующих сред Matlab и Scilab можно работать в следующих режимах:
- Выполнение вычислительных операций в командной строке.
- Работа с применением файлов сценариев. В программе Matlab формируются специальные m-файлы, в программной оболочке Scilab применяются sce- или sci-файлы. Такие файлы возможно сохранить и далее многократно их использовать.
Обе эти системы, и Matlab и Scilab, служат для работы с использованием матричных переменных. Априори сделано предположение, что все используемые переменные являются матрицами. Самым простым оператором программных языков Matlab и Scilab считается оператор присваивания, который имеет следующий формат:
Имя_переменной = Выражение
Виды переменных не определяются заранее, их определяет выражение, величина которого и задаётся для переменной. Поэтому, если выражение является вектором или матрицей, то и переменная станет векторной или матричной. Имя переменой в обеих программных средах имеют зависимость от регистра, аналогично программному языку Си. После осуществления ввода оператора в командной строке и команды ENTER на монитор будет выведено рассчитанная величина переменной. Если вывод сообщения на экран не нужен, тогда следует в конце набора кода оператора поставить точку с запятой (;). Например:
»x=2;
»y=2;
»r=sqrt(x^2+y^2)
r=
2.8284
Допускается также указать только одно выражение. Тогда нужно назначить для определения итога расчётов переменную, именуемую ans. Например:
»x=2;
»y=2;
»sqrt(x^2+y^2)
ans=
2.8284
В этих программных средах есть также локальные и глобальные переменные. Если нужно обозначить локальную переменную, то никаких дополнительных ключевых слов не требуется, но если это будет глобальная переменная, то нужно применить ключ global:
Global var
var = значение
Например
-->global a
-->a
a =
[]
-->a=2
a =
2.
Набор специализированных функций определяет величины наиболее распространённых констант в Matlab:
- pi - 3.14159265...
- i - мнимая единица
- j - то же
- eps - условный нуль
- Inf - бесконечность
- NaN – NotANumber, не число.
Задаваемые в Scilab стандартизированные скалярные переменные следует начинать знаком проценты (%). Отдельная группа таких переменных определена на постоянной основе. Эти переменные имеют защиту, и пользователь не может их удалить, хотя имеет возможность переопределить:
- %i - Мнимая единица
- %pi - Число Pi =3.1415927
- %e - Число e = 2.7182818
- %eps - Это условный нуль, то есть такое максимальное число, что 1+%eps=1.
- %eps=2.220E-16
- %inf - Бесконечность=Inf
- %nan - NotANumber: не определено
Арифметические операции в данных программных системах обозначаются общепринятой символикой:
+ сложение
- вычитание
* умножение
/ деление
^ возведение в степень
Все операции считаются матричного типа, поскольку используются как при обработке скалярных, так и матричных величин. Помимо матричных операций имеется возможность выполнения и каждой операции в отдельности (поэлементно). Чтобы указать, что операции являются поэлементными, применяется символ точка, которая ставится перед типовой матричной операцией. Например:
-->x=[1 2; 3 4]
x =
1. 2.
3. 4.
-->x^2
ans =
7. 10.
15. 22.
-->x.^2
ans =
1. 4.
9. 16.
Ниже приведён список базового функционального набора Matlab и Scilab
- sin(x) – Синус
- cos(x) – Косинус
- tan(x) – Тангенс
- atan(x) – Арктангенс
- exp(x) – Экспонента
- log(x) – Натуральный логарифм
- log10(x) – Десятичный логарифм
- sqrt(x) – Квадратный корень
- abs(x) – Модуль
Назначением операторов отношения является сравнение двух значений, матриц или векторных величин. Ниже представлен список этих операторов.
= = Равно
~ = He равно
Больше чем
= Больше или равно
Когда в выражении не достаёт единственной строчки или есть опасность зайти в неотображаемую зону окна, то есть возможность переноса выражения на следующую строку при помощи трёх точек (многоточия …).
Для записи комментариев в программе Matlab необходимо сначала поставить знак проценты (%). В программе Scilab комментировать можно после символа //.
Чтобы создать единичную матрицу, которая имеет обозначение Е, применяется функция еуе:
- еуе(n) выполняет возврат единичной матрицы с размером nхn.
- еуе(m, n) выполняет возврат матрицы, имеющей размер mхn и все единицы в диагонали, а остальные ячейки имеют нулевые значения.
Чтобы вычислить определитель (детерминант) матрицы можно использовать такую функцию:
det(X) выполняет возврат определителя квадратной матрицы Х.
Чтобы построить график функции, имеющей одну переменную, y = f(x) служит функция plot. Построение графика выполняется в декартовых координатах по задаваемым наборам величин аргумента и функции. Задаваемые такими наборами (массивами) координатные отметки затем соединяют прямые линии. Так же можно менять вид и цветовую окраску линий, и менять типы узловых точек.