Справочник от Автор24
Поделись лекцией за скидку на Автор24

Пользовательские функции.

  • 👀 263 просмотра
  • 📌 235 загрузок
  • 🏢️ МИЭТ
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Пользовательские функции.» pdf
Курс «Программирование» Лекция 6. Пользовательские функции. Преподаватель: Лысенко Александр Юрьевич Национальный исследовательский университет «МИЭТ». Институт Биомедицинских Систем Организационная часть • Допуск к лабораторной работе: тест в Moodle. o Пропуск теста: -2 балла. o Меньше 50% правильных ответов: -1 балл. Слайд 2/20 Примеры функций Функция Описание Пример size Размер массива вдоль N-ой размерности sum Суммирование элементов матрицы sum(x) max Поиск максимального значения max(x) min Поиск минимального значения min(x) mean Среднее значение матрицы mean(x) diff Разность между элементами diff(x) abs Модуль числа abs(x) Функция Описание size(x, N) Пример length Длина строки length(x) strfind Поиск подстроки Y в строке X strfind(x, y) strsplit Деление строк на подстроки по строке Y strsplit(x, y) lower Преобразовать все символы в строчные lower(x) upper Преобразовать все символы в прописные upper(x) Слайд 3/20 "Простая" функция "Простая" функция – код .m файла. Слайд 4/20 Объявление главной функции Главная функция – функция, чьё имя соответствует имени .m файла. В случае именованных функций наличие такой функции строго обязательно и выполнение программы будет начинаться с неё. Синтаксис: function имя_файла() % код функции end % опционально Пример: function say_hello() disp('hello'); end Вызов функции (использование): say_hello(); % 'hello' say_hello; % 'hello' Слайд 5/20 Создание локальных функций Локальная функция (подфункция) – функция, которая расположена в одном файле после главной функции. Таких функций может быть неограниченное число. Синтаксис: function имя_функции() % код функции end Пример: % say_hello.m function say_hello() disp('hello'); say_world() function say_world() disp(', world'); Слайд 6/20 Функция с входными параметрами Синтаксис: function имя_функции(входные параметры через запятую) % код функции end Пример: function my_sum(a, b, c) sum = a + b + c; disp(num2str(sum)); end Вызов функции: my_sum(2, 4, 6); % 12 d = 14; e = 2; f = -7; my_sum(d, e, f); % 9 Слайд 7/20 Функция с выходными параметрами Синтаксис: function [выходные параметры через запятую] = имя_функции() % код функции end Пример: function result = parse_input() result = input('Введите число: ', 's'); result = str2double(result); end Вызов функции: a = parse_input(); Слайд 8/20 Функция с несколькими выходными параметрами Синтаксис: function [выходные параметры через запятую] = имя_функции() % код функции end Пример: function [sum, dif] = two_in_one() k = str2double(input('Введите 1 число: ', 's')); n = str2double(input('Введите 2 число: ', 's')); sum = k + n; dif = k – n; end Вызов функции: [x, y] = two_in_one(); Слайд 9/20 Функция с входными и выходными параметрами Синтаксис: function [выходные параметры] = имя_функции(входные параметры) % код функции end Пример: function [n] = positive_count(array) n = array(array > 0); end Вызов функции: positive = positive_count([1, 4, -5, 8; -2, 73, 14, -9]); % 5 m = positive_count(rand(10)); % 100 Слайд 10/20 Изменение входного параметра Синтаксис: function [переменная] = имя_функции(переменная) % код функции end Пример: function [text] = parse_input(text) text(text == ' ') = ''; end Вызов функции: string = input('Введите строку: '); string = parse_input(string); Слайд 11/20 Пропуск выходных параметров Пример: function [sum, dif] = two_in_one() k = str2double(input('Введите 1 число: ', 's')); n = str2double(input('Введите 2 число: ', 's')); sum = k + n; dif = k – n; end Вызов функции: [~, y] = two_in_one(); [x] = two_in_one(); x = two_in_one(); two_in_one(); Слайд 12/20 Выход из функции Синтаксис: return Пример: function [phantom] = make_phantom(x, y) if size(x) ~= size(y) disp('Error: size(x) ~= size(y)') return end phantom = x .* y; end Слайд 13/20 Область видимости переменной Область видимости переменной (ОВП) – часть кода, в котором существует переменная. Область видимости переменной определяется функцией, в которой была создана переменная с момента её объявления. По окончанию области видимости переменной переменная уничтожается (удаляется из памяти компьютера). Пример: function [x, y] = encode_plot(x, y, t) % начало ОВП x, y, t m = meshgrid(t); % начало ОВП m x = x .* m; y = y ./ m; end % конец ОВП x, y, t, m. Они не существуют вне этой ф-и! function [phantom] = make_phantom(t) % начало ОВП t x = sin(t); % начало ОВП x y = cos(t); % начало ОВП y phantom = x .* y; % начало ОВП phantom end % конец ОВП x, y, t, phantom. Они больше не существуют! Слайд 14/20 Глобальные переменные Глобальная переменная – переменная, область видимости которой является вся программа. Глобальная переменная должна быть объявлена до её использования. Синтаксис: global имя_переменной Пример: function make_phantom(x, y) global phantom; phantom = x .* y; end function show_phantom(x, y) global phantom; surf(x, y, phantom); end Слайд 15/20 Функция с произвольным количеством входных параметров Функция с произвольным количеством входных параметров – функция, которая может принимать любое количество входных параметров. У такой функции есть одна явная переменная varargin, которая является массивом ячеек с входными аргументами и неявная переменная nargin, в которой содержится число переданных аргументов. Синтаксис: function [выходные параметры] = имя_функции(varargin) % код функции end Пример: function [phantom] = make_phantom(varargin) if nargin ~= 2 disp('make_phantom usage: make_phantom(x, y)') return end phantom = x .* y; Слайд 16/20 Функция с произвольным количеством входных параметров (2) Пример: function [sum] = sum_variables(a, b, varargin) sum = a + b; for i = 1:nargin-2 % size(varargin, 2) sum = sum + varargin{i}; end end Вызов функции: sum_variables(1, 2, 3); % 6 sum_variables(7, -2, 6, 11); % 22 a = -5; b = -3; sum = sum_variables(a, b); % -8 k = sum_variables(a, b, 4); % -4 sum_variables(b); % ошибка Слайд 17/20 Функция с произвольным количеством выходных параметров Функция с произвольным количеством выходных параметров – функция, которая может возвращать любое количество выходных параметров. При этом varargout должен быть массивом ячеек. Синтаксис: function [varargout] = имя_функции() % код функции end Пример: function [varargout] = spread_array(array) for i = 1:length(array) varargout{i} = array(i); end end Вызов функции: [a, b, c] = spread_array(1:3); Слайд 18/20 Анонимные функции Анонимная функция – локальная функция, у которой отсутствует имя. Анонимная функция связывается с переменной, через которую она будет вызываться. При этом анонимная функция может иметь множество входных параметров, но только один выходной параметр. Кроме этого, анонимная функция может содержать только одну операцию. Синтаксис: переменная = @(входные параметры) операция Пример: parabola = @(a, b, c, x) a*x.^2 + b*x + c; Вызов функции: parabola = @(a, b, c, x) a*x.^2 + b*x + c; a = -3.9; b = 52; x = 1; y = parabola(a, b, 0, x); Слайд 19/20 Рекурсивные функции Рекурсивная функция – функция, которая вызывает саму себя. Пример: function [result] = factorial(n) if n > 1 result = n * factorial(n-1); else result = 1; end end Вызов функции: disp(factorial(4)); Слайд 20/20 Список использованных источников 1. Документация MatLab https://www.mathworks.com/help/matlab/ 2. Документация MatLab на русском языке https://docs.exponenta.ru/R2019a/matlab/index.html Слайд 21/20
«Пользовательские функции.» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot