И другие программы этой серии
Если они одной размерности, то результат будет
одним числом, что в данном случае и выдала система. Чтобы действительно полу
чить вектор значений sin(x)/x, надо использовать специальный оператор поэле
ментного деления массивов – ./. Тогда будет получен массив чисел:
Можно также задавать свои функции в виде m файлов. Например, можно
в окне редактора m файлов (открывается командой New в меню File) создать
m файл с именем sc2 и листингом:
function y=sc2(x,y)
y=sin(x).^2+cos(y).^2
Записав его на диск, можно командой type sc2 вывести листинг созданной
функции:
64
>> type sc2
function y=sc2(x,y)
y=sin(x).^2+cos(y).^2
Первое знакомство с MATLAB
Основные объекты MATLAB
65
ем нужную строку и, пользуясь клавишей <, устанавливаем курсор после буквы
r. Теперь нажмем клавишу T, а затем клавишу ENTER. Выражение примет сле
дующий вид:
>> sqrt(2)
ans = 1.4142
Обращение к функции, созданной описанными методами, задается как
sc2(x,y), где на место x и y подставляются значения переменных – аргументов
функции пользователя. Например:
>> sc2(1,2)
ans = 0.8813
>> sc2(2,1)
y = 1.1187
ans = 1.1187
Можно также создать так называемую handle функцию (именуемую также
анонимной функцией) с помощью оператора @:
>> fh=@sc2;
К такой функции можно обращаться с помощью функции исполнения функ
ций feval(fh,x,y):
>> feval(fh,1,2)
y = 0.8813
ans = 0.8813
>> feval(fh,2,1)
y = 1.1187
ans = 1.1187
Если бы был только один вариант окончания введенных символов, то после
нажатия клавиши Tab система бы закончила наш ввод без перевода строки.
Вычисления дают ожидаемый результат – значение квадратного корня из
двух.
В системе MATLAB внешние определения используются точно так же, как и
встроенные функции и операторы. Никаких дополнительных указаний на их при
менение делать не надо. Достаточно лишь позаботиться о том, чтобы используе
мые определения действительно существовали в виде файлов с расширением .m.
Впрочем, если вы забудете об этом или введете имя несуществующего определе
ния, то система отреагирует на это звуковым сигналом (звонком) и выводом сооб
щения об ошибке:
>> hsin(1)
??? Undefined function or variable \'hsin\'.