5. Функции, задаваемые пользователем
Рассмотрим два способа задания функций, определенных пользователем, в MATLAB.
Первый способ использует оператор @ для создания, так называемой «анонимной функции».
Второй способ использует команду inline.
Рассмотрим два способа на примере функции одной переменной
.
Как было отмечено ранее, большинство функций MATLAB могут оперировать как векторами, так и скалярами, и чтобы быть уверенным, что в качестве аргумента функции может выступать вектор, необходимо ставить точки перед математическими операциями ^, *.
Первый способ:
>> f = @(x) x.^2.*sin(pi*x/2)
f =
@(x)x.^2.*sin(pi*x/2)
Второй способ:
>> f1 = inline('x.^2.*sin(pi*x/2)')
f1 =
Inline function:
f1(x) = x.^2.*sin(pi*x/2)
Когда функция задана, неважно каким методом, её можно вычислить, например
>> a = f(3)
a =
-9
>> a = f1(3)
a =
-9
или
>> x = [1 2 3]
x =
1 2 3
>> a = f(x)
a =
1.0000 0.0000 -9.0000
>> a = f1(x)
a =
1.0000 0.0000 -9.0000
Этими способами можно задать функцию двух и более аргументов.
Например,
.
>> g = @(x,y) (x+y).*exp(x)
g =
@(x,y)(x+y).*exp(x)
>> g1 = inline('(x+y).*exp(x)','x','y')
g1 =
Inline function:
g1(x,y) = (x+y).*exp(x)
>> x = [1 2]
x =
1 2
>> y = [2.5 3.4]
y =
2.5000 3.4000
>> u = g(x,y)
u =
9.5140 39.9009
>> u = g1(x,y)
u =
9.5140 39.9009
6. Создание м-файлов.
М-файл позволяет вводить большое число команд, изменять их, создавать собственные функции.
Для создания М-файла открываем меню File основного окна MatLab и в пункте New выбираем подпункт M-file. На экране открывается новое окно редактора М-файлов.
Набираем в этом окне команды, например, создаем из двух матриц одну расширенную.
------------------------------------------------------------------------------------------------------------------------
A = [2 1 -0.1 1
0.4 0.5 4 -8.5
0.3 -1 1 5.2
1 0.2 2.5 -1]
B = [2.7; 21.9; -3.9; 9.9]
D = [A B]
-----------------------------------------------------------------------------------------------------------------------
Сохраним файл с именем, например, proba в личном каталоге, выбирая при этом пункт Save as меню File редактора. Для запуска на выполнение всех команд М-файла, следует выбрать пункт Run в меню Debug (или нажать F5).
Отдельные блоки М-файла можно снабжать комментариями, которые начинаются со знака процента %. Например, редактируем уже существующий файл:
------------------------------------------------------------------------------------------------------------------------
% Создание матрицы А
A = [2 1 -0.1 1
0.4 0.5 4 -8.5
0.3 -1 1 5.2
1 0.2 2.5 -1];
% Создание матрицы В
B = [2.7; 21.9; -3.9; 9.9];
% Создание расширенной матрицы D
D = [A B];
% Вывод матрицы D на экран в командное окно
disp('Расширенная матрица D = ')
disp(D)
------------------------------------------------------------------------------------------------------------------------
Сохраним и запустим снова этот файл.
Вывод результата и текста в командное окно осуществляется оператором disp, причем текст указывается в апострофах.
Открытие уже существующего М-файла осуществляется при помощи пункта Open меню File, либо редактора М-файлов.
