%элементамимежду0и9.
a = floor(10*rand(m,n));
Более общая версия такой функции может иметь такой вид:
function r = randint(m,n,a,b)
% RANDINT случайная матрица с целыми элементами.
% randint(m,n) возвращает матрицу mxn с целыми
%элементамимежду 0и9.
% rand(m,n,a,b) возвращает матрицу с целыми
% элементами в диапазоне между целыми a и b.
if nargin < 3, a = 0; b = 9; end
r = floor((b-a+1)*rand(m,n)) + a;
Этот текст должен быть записан на диск в виде файла с именем randint.m (в соот-
ветствие с именем функции - это обязательное условие для функции).
Первая строка функции - объявление имени функции, входные аргументы, вы-
ходные аргументы. Без такой строки весь следующий файл является программой,
или сценарием, а не функцией. Так, например, оператор z=randint(4,5)приве-
дет к передаче чисел 4 и 5 переменным m и n, а выходной результат будет передан
переменной z. Поскольку переменные в файле-функции локальные, их имена никак
не влияют на имена и значения переменных в текущей рабочей области MATLAB.
Отметим роль функции nargin (число входных аргументов). Использование
этой функции в данном примере позволяет установить значение отсутствующих
входных аргументов по умолчанию – таких переменных, как a и b в примере. В об-
щем случае наличие такой функции позволяет использовать функции с переменным
числом входных аргументов и в зависимости от их числа направлять вычисления по
разным логическим веткам функции.
Функция может иметь множественные выходные аргументы. Например
function [mean, stdev] = stat(x)
% STAT Среднее и стандартное отклонение
% Для вектора x, stat(x) возвращает среднее
% значение и стандартное отклонение x.
% Для матрицы x, stat(x) возвращает два
% вектора-строки, содержащие, соответственно,
% среднее и стандартное отклонение каждого
%столбцаматрицыx.
[m n] = size(x);
124