Составители:
66
elseif (nargin == 2)
c = + b;
end
При задании единственного входного аргумента функция вы-
числяет квадрат входной переменной; при задании двух аргументов
выполняется операция сложения.
Рассмотрим более сложный пример - выделение части сим-
вольной строки до разделителя, в качестве которого можно использо-
вать пробел или любой другой символ. При задании одного входного
аргумента функция должна выделить часть
строки до разделителя, в
качестве которого по умолчанию используется пробел; причем все
пробелы в начале строки удаляются. При задании двух аргументов в
качестве второго аргумента должен быть указан символ разделителя.
Эта функция оформлена в виде М-функции strtok, которая находится
в каталоге strfun.
Функция должна
иметь хотя бы один
входной аргумент
Если входной аргу-
мент один, то в ка-
честве разделителя
используется про-
бел.
Определить начало
выделяемой под-
строки
Определить конец
выделяемой под-
строки
function [token, remainder] =
strtok(string, delimiters)
if nargin < 1,
error("Недостаточно входных аргуметов");
end
token = [];
remainder = [];
len = length(string);
if len == 0
return
end
if (nargin == 1)
delimiters = [9:13 32]; % Символы пробелов
end
i = 1;
while (any(string(i) == delimiters))
i=i+1;
if (i > len),
return
end
end
start = i
while (~any(string( i ) == delimiters))
i = i+1;
if ( i > len),
elseif (nargin == 2)
c = + b;
end
При задании единственного входного аргумента функция вы-
числяет квадрат входной переменной; при задании двух аргументов
выполняется операция сложения.
Рассмотрим более сложный пример - выделение части сим-
вольной строки до разделителя, в качестве которого можно использо-
вать пробел или любой другой символ. При задании одного входного
аргумента функция должна выделить часть строки до разделителя, в
качестве которого по умолчанию используется пробел; причем все
пробелы в начале строки удаляются. При задании двух аргументов в
качестве второго аргумента должен быть указан символ разделителя.
Эта функция оформлена в виде М-функции strtok, которая находится
в каталоге strfun.
function [token, remainder] =
strtok(string, delimiters)
Функция должна if nargin < 1,
иметь хотя бы один error("Недостаточно входных аргуметов");
входной аргумент end
token = [];
remainder = [];
len = length(string);
if len == 0
return
end
Если входной аргу- if (nargin == 1)
мент один, то в ка- delimiters = [9:13 32]; % Символы пробелов
честве разделителя end
используется про- i = 1;
бел. while (any(string(i) == delimiters))
Определить начало i=i+1;
выделяемой под- if (i > len),
строки return
Определить конец end
выделяемой под- end
строки start = i
while (~any(string( i ) == delimiters))
i = i+1;
if ( i > len),
66
Страницы
- « первая
- ‹ предыдущая
- …
- 66
- 67
- 68
- 69
- 70
- …
- следующая ›
- последняя »
