И другие программы этой серии
Функции могут быть встроенными (внутренними) и внешними, или
m функциями. Так, встроенными являются наиболее распространенные элементар
ные функции, например sin(x) и exp(y), тогда как функция sinh(x) является
внешней функцией. Внешние функции содержат свои определения в m файлах.
Задание таких функций возможно с помощью специального редактора m файлов,
который мы рассмотрим чуть позже. Встроенные функции хранятся в откомпили
рованном ядре системы MATLAB, в силу чего они выполняются предельно быстро.
62
Первое знакомство с MATLAB
Основные объекты MATLAB
>> sin(x)./x
Warning: Divide by zero.
ans = NaN
0.8415
0.4546
63
1.4.9. Применение оператора : (двоеточие)
Очень часто необходимо произвести формирование упорядоченных числовых
последовательностей. Такие последовательности нужны, например, для создания
векторов со значениями абсциссы при построении графиков или при создании
таблиц. Для этого в MATLAB используется оператор : (двоеточие) в виде:
Ia?aeuiia_cia?aiea:Oaa:Eiia?iia_cia?aiea
0.0470
-0.1892
-0.1918
Данная конструкция порождает возрастающую последовательность чисел, ко
торая начинается с начального значения, идет с заданным шагом и завершается
конечным значением. Применение этой конструкции резко уменьшает потреб
ность в задании программных циклов.
Если Oaa не задан, то он принимает значение 1. Если конечное значение указа
но меньшим, чем начальное значение, – выдается сообщение об ошибке. Примеры
применения оператора : даны ниже:
>> 1:5
ans = 1
2
3
4
>> i=0:2:10
i=
0
2
4
6
>> j=10:-2:2
j = 10
8
6
4
>> V=0:pi/2:2*pi;
>> V
V=
0
1.5708
3.1416
>> X=1:-.2:0
X = 1.0000
0.8000
0.6000
>> 5:2
ans =
Empty matrix: 1-by-0
5
8
2
10
Впрочем, и тут без особенностей не обошлось. Так, при x = 0 значение sin(x)/x
дает устранимую неопределенность вида 0/0 – 1. Однако, как и всякая численная
система, MATLAB классифицирует попытку деления на 0 как ошибку и выводит
соответствующее предупреждение. А вместо ожидаемого численного значения
выводится символьная константа NaN, означающая, что неопределенность 0/0 –
это все же не обычное число.