ЗАДАЧА: написать функцию, возводящую квадратную матрицу в степень.
1. Определить и назвать входные и выходные параметры функции
в задаче | в функции | имя | вид |
Исходные данные | входные параметры | M n | матрица число |
Результаты | выходные параметры | P | матрица |
2. Сделать заготовку файла для функции:
2.1. Создать M-файл в СВОЕЙ папке:
– войти в свою рабочую папку;
– создать пустой M-файл — кнопка NewScript.
Один файл — одна функция.
2.2. Первая строка файла — ЗАГОЛОВОК функции:
function [P] = Power_Matr(M, n)
– function — служебное слово (обязательный элемент);
– Power_Matr — имя функции, состоящее из латинских букв, цифр, знака подчеркивания. Нельзя использовать имена встроенных функций и переменных (обязательный элемент);
– (x1,…) — список входных параметров через запятую (может не быть);
– [y1,…] — список выходных параметров через запятую (может не быть). Если один выходной параметр можно скобки не ставить.
2.3. Сохранить M-файл. Чтобы программа нашла функцию по имени, имя файла должно совпадать с именем функции.
ВНИМАНИЕ. При сохранении надо согласиться с предложенным именем.
2.4. В окне CurrentFolder должен появиться новый файл Power_Matr.m. Проверить присутствие файла в CurrentFolder.
3. Написать алгоритм.
3.1. Без помощи компьютера, на бумаге. Разбить задачу на простые действия и решить, используя для этого ВСЕ входные параметры, и получая в итоге ВСЕ выходные параметры.
Для данной задачи формула .
3.2. Записать полученные формулы и действия последовательно в созданный ранее файл.
Для данной задачи в файл записывается P=M^n.
3.3. Сохранить изменения в файле.
3.4. Проверить:
– все ли входные данные использованы, если нет, значит, без них можно обойтись, и надо переделать ЗАГОЛОВОК функции;
– все ли выходные параметры найдены, если нет, надо вернуться к п. 3.1. и заново решить задачу;
ВНИМАНИЕ. Проверить соответствуют ли имена выходных параметров именам фактически найденных величин, если нет, исправить имена, иначе возникнет ошибка при вызове функции.
4. Проверить правильность работы функции.
4.1. Сделать текущей папку, в которой находится функция.
ВНИМАНИЕ. Файл-функция может быть найдена программой только в CurrentFolder. Проверить, есть ли в CurrentFolder файл с именем функции. Если нет, значит, не выполнен п. 4.1.
4.2. Задать значения входных параметров одним из способов:
– в командной строке;
– в другом M-файле, выделить и запустить кнопкой F9.
ВНИМАНИЕ. Нельзя задавать входные параметры в проверяемой файл-функции.
4.3. Вычислить значение функции одним из способов:
1) имена формальных параметров совпадают с именами фактических параметров. | >> М=[1 2;5 4]; >> n=2; | |||||||||
Для вычисления функции открыть файл с функцией, выделить первую строку (без слова function) и запустить кнопкой F9 |
| |||||||||
2) имена формальных и фактических параметров не совпадают. Вычисление через командную строку | >> B=[5 4;1 2]; >> m=1; >> Q=Power_Matr(B,m) | |||||||||
Результат |
| |||||||||
3) порядок формальных и фактических параметров не совпадают. Результат — логическая ошибка, сложно выявляемая! | >> Z=Power_Matr(m,B) |
ВНИМАНИЕ. Функция вызывается по тому имени, под которым она сохранена. Поэтому НЕЛЬЗЯ менять имя функции после того, как ее сохранили. Нельзя написать файл-функцию, потом этот же M-файл использовать для написания другой функции, поменяв имя.
5. Функцию, состоящую из одной формулы можно определить с помощью анонимной функции
Power_Matr = @(M, n) M^n;
В результате создается указатель на функцию, вызов которой происходит как обычно по имени Q=Power_Matr(B,m).
ЗАДАНИЕ и ВАРИАНТЫ
Подробное задание, варианты и необходимая информация о технике выполнения этой работы находится в §5 пособия [4] на стр. 37–41.