Интернет. Настройки. Тарифы. Телефон. Услуги

Программирование м-функций. Вспомогательные функции (м - коды) Список стандартных М команд

Сейчас возможности системы значительно превосходят возможности первоначальной версии матричной лаборатории Matrix Laboratory. Нынешний MATLAB, детище фирмы The MathWorks, Inc., – это высокоэффективный язык инженерных и научных вычислений. Он поддерживает математические вычисления, визуализацию научной графики и программирование с использованием легко осваиваемого операционного окружения. Наиболее известные области применения системы MATLAB:

Математика и вычисления;

Разработка алгоритмов;

Вычислительный эксперимент, имитационное моделирование, макетирование;

Анализ данных, исследование и визуализация результатов;

Научная и инженерная графика;

Разработка приложений, включая графический интерфейс пользователя.

MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками.

Версия MATLAB 6.1 - это предпоследнее достижение разработчиков (последнее - MATLAB 6.5).

Система MATLAB - это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М-файлов. Именно поэтому пакеты прикладных программ - MATLAB Application Toolboxes, входящие в состав семейства продуктов MATLAB, позволяют находиться на уровне самых современных мировых достижений.

Операционная среда системы MATLAB 6.1. Операционная среда системы MATLAB 6.1 - это множество интерфейсов, которые поддерживают связь этой системы с внешним миром через диалог с пользователем через командную строку, редактор М-файлов, взаимодействие с внешними системами Microsoft Word, Excel и др.

После запуска программы MATLAB на дисплее компьютера появляется её главное окно, содержащее меню , инструментальную линейку с кнопками и клиентскую часть окна со знаком приглашения . Это окно принято называть командным окном системы MATLAB (рис. 1).

Меню Файл (рис. 2) объединяет обычные функции: Правка отвечает за изменение содержания Окна команд (отмена, повтор, вырезать, копировать, вставить, выбрать всё, удалить и др.) и за очистку некоторых окон MATLAB; меню Вид – за оформление Рабочего стола; меню Web – запускает Web-страницы из Internet; меню Окно – работает с редактором/отладчиком М-файлов (закрывает все М-файлы, делает текущим один из них); меню Помощь – работает со справочной документацией и демонстрациями.


Особого рассмотрения заслуживает опция Предпочтения ... (выбор характеристик), которая при выборе открывает окно, включающее слева дерево объектов (рис. 3), а справа их возможные характеристики.

Инструментальная панель командного окна системы MATLAB позволяет обеспечить простой доступ к операциям над М-файлами: создание нового М-файла; открытие существующего М-файла; удаление фрагмента; копирование фрагмента; вставка фрагмента; восстановление только выполненной операции и др.

В клиентской части командного окна MATLAB после знака приглашения можно вводить различные числа, имена переменных и знаки операций, что в совокупности составляет некоторые выражения. Нажатие клавиши Enter заставляет систему MATLAB вычислить выражение или, если оно не вычисляется, повторить его. Хотя знак «;» в конце строки гасит вывод результата (эхо-вывод).

Таким образом, в клиентской части командного окна MATLAB пользователь может сразу писать команды, образующие отдельные вычисления или целую программу.

Итак, были подвергнуты разбору структурные части командного окна MATLAB. Но кроме них существуют ещё несколько элементов MATLAB, которые помогают при работе:

Команды - окно, содержащее по порядку введённые ранее команды в Окне команд («история команд»).

Рабочая область – это область памяти MATLAB, в которой размещены переменные системы. Содержимое этой области можно просмотреть из командной строки с помощью команд who (выводит только имена переменных) и whos (выводит информацию о размерах массивов и типе переменной) или в отдельном окне под тем же названием. В нём можно выполнить следующие операции: загрузить файл данных, сохранить Рабочую область как (команды позволяют открыть и сохранить содержимое рабочей области в двоичном MAT-файле), удалить выбранные переменные; открыть выбранные переменные (где можно изменить их значение). Кроме этого в меню Правка можно очистить как Окно команд и Историю команд, так и Рабочую область (или выполнить команду в Окне команд: clear ).

Для сохранения и запуска Рабочей области можно использовать команды load и save.

Пример.

Saving to: matlab.mat

>> save my.mat

>> load my.mat

>> save my2

>> load my2

Текущий каталог – окно, являющееся своеобразным «проводником» по каталогам MATLAB.

Запустить Редактор – окно, отражающее дерево структурных элементов MATLAB и других установленных вместе с ним программных средств, которые можно запускать двойным левым щелчком мыши. Например, это окно может выглядеть, как показано на рис 9.

Редактор/отладчик М-файлов – один из важнейших структурных частей MATLAB, который может быть открыт выбором соответствующей опции в главном меню, на инструментальной панели или вызван из командной строки командой edit или edit <имя М-файла> и позволяющий создавать и редактировать М-файлы.

Редактор/отладчик поддерживает следующие операции: создание нового М-файла; открытие существующего М-файла; сохранение М-файла на диске; удаление фрагмента; копирование фрагмента; вставка фрагмента; помощь; установить/удалить контрольную точку; продолжить выполнение и др.

GUIDE – графический интерфейс пользователя, в котором происходит создание законченных приложений.

Интерактивный сеанс работы. М-файлы . Интерактивный режим – это пользовательский режим ввода с клавиатуры команд и выражений, в результате выполнения которых получаются необходимые числовые результаты, которые можно легко и быстро визуализировать встроенными графическими средствами пакета MATLAB. Но использование этого режима для создания и сохранения конкретной программы невозможно. Поэтому создатели MATLAB кроме Окна команд, в котором реализован интерактивный режим, выделили специальные файлы, содержащие коды языка MATLAB, и назвали M-файлами (*.m). Для создания M-файла используется текстовый редактор (редактор/отладчик М-файлов).

Работа в редакторе M-файлов. Работа из командной строки MatLab затрудняется, если требуется вводить много команд и часто их изменять. Самым удобным способом выполнения команд является использование M -файлов, в которых можно набирать команды, выполнять их все сразу или частями, сохранять в файле и использовать в дальнейшем. Для работы с M -файлами предназначен редактор M -файлов. При помощи редактора можно создавать собственные функции и вызывать их, в том числе и из командной строки.

Раскройте меню File основного окна MatLab и в пункте New выберите подпункт M-file. Новый файл открывается в окне редактора M -файлов (рис. 10). Запишем в файл программу вычисления среднего арифметического пере-

менных a и b, затем сохраним с именем fun1.m. Сравните способы решения задачи, представленные в таблице.

Русско-английский перевод М-ФУНКЦИИ

Воскобойников Б.С., Митрович В.Л.. Русско-Английский словарь по машиностроению и автоматизации производства. Russian-English dictionary of mechanical engineering and manufacturing automation. 2003

  • Russian-English dictionaries →
  • Russian-English dictionary of mechanical engineering and manufacturing automation

Еще значения слова и перевод М-ФУНКЦИИ с английского на русский язык в англо-русских словарях и с русского на английский язык в русско-английских словарях.

More meanings of this word and English-Russian, Russian-English translations for the word «М-ФУНКЦИИ» in dictionaries.

  • ФУНКЦИИ — Generic
  • ФУНКЦИИ — Functions
    Русско-Американский Английский словарь
  • — Em
    Русско-Американский Английский словарь
  • ФУНКЦИИ — Functions
    Russian Learner"s Dictionary
  • ФУНКЦИИ — functions
    Russian Learner"s Dictionary
  • — прослушивание телефонное
    Англо-Русско-Английский словарь спецслужб
  • — усл. M, m
  • — усл. M, m
    Большой Русско-Английский словарь
  • UNDERTAKE — гл. 1) предпринимать, совершать Syn: launch 2) брать на себя ответственность (за выполнение чего-л.) She undertook to complete the …
  • NEITHER — 1. мест.; отр. (в функции сущ.) ни один из двух; никто; ничто neither of you can do that ≈ никто …
    Большой Англо-Русский словарь
  • FUNCTIONS — Функции functions: cashier ~ обязанности кассира ceremonial ~ формальности custodian ~ функции опекуна по управлению активами несовершеннолетнего functions: cashier ~ …
    Большой Англо-Русский словарь
  • FUNCTION — функция, назначение - the * of education is to develop the mind образование имеет своей целью развить умственные способности - …
    Большой Англо-Русский словарь
  • FOR — (полная форма); (редуцированная форма) 1. союз 1) ибо; ввиду того, что (вводит придаточное причины) This is no party question, for …
    Большой Англо-Русский словарь
  • FOR — (полная форма); fə (редуцированная форма) 1. союз 1) ибо; ввиду того, что (вводит придаточное причины …
    Англо-Русский словарь по общей лексике
  • FOR — 1. союз 1) ибо; ввиду того, что (вводит придаточное причины) This is no party question, for it touches us not as Liberals …
    Англо-Русский словарь общей лексики
  • РАДИОЛЮБИТЕЛЬ — amateur radio operator; radio ham ~мачта ж. radio-mast, wireless mast; ~маяк м. radio beacon; ~метрист м. radar operator; ~наведение с. …
    Русско-Английский словарь общей тематики
  • РАДИОЛЮБИТЕЛЬ — amateur radio operator; radio ham ~мачта ж. radio-mast, wireless mast; ~маяк м. radio beacon; ~метрист м. radar operator; ~наведение с. radio guidance/control; ~оборудование с. wireless/radio equipment; ~очерк …
    Русско-Английский словарь - QD
  • ЧИСЛО — Число, приближенно равное 2,718, которое часто встречается в математике и естественных науках. Например, при распаде радиоактивного вещества по истечении времени …
    Русский словарь Colier
  • ФУНКЦИЙ — ФУНКЦИЙ ТЕОРИЯ В естественных науках. Аналитические функции широко используются в некоторых областях науки и техники просто потому, что дают в …
    Русский словарь Colier
  • ФУНКЦИЙ — ФУНКЦИЙ ТЕОРИЯ Теория меры и интегрирования является важным разделом общей теории математических функций, берущей начало с работ А.Лебега (1906) по …
    Русский словарь Colier
  • ТУРЦИЯ — ТУРЦИЯ: ПРИРОДА В рельефе доминируют Понтийские горы (хребты Кюре и Илгаз), которые протягиваются вдоль побережья в восточном направлении. В большинстве …
    Русский словарь Colier
  • СССР — СОЮЗ СОВЕТСКИХ СОЦИАЛИСТИЧЕСКИХ РЕСПУБЛИК, СССР Февральская революция. Военные поражения на фронтах Первой мировой войны и нараставший экономический хаос вызвали общественные …
    Русский словарь Colier
  • СЕРДЦЕ — СЕРДЦЕ До начала 16 в. какие-либо представления о болезнях сердца отсутствовали; считалось, что любое повреждение этого органа неминуемо приводит к …
    Русский словарь Colier
  • РЯДЫ — Многие задачи в математике приводят к формулам, содержащим бесконечные суммы, например, или Такие суммы называются бесконечными рядами, а их слагаемые …
    Русский словарь Colier
  • РОССИЙСКАЯ — РОССИЙСКАЯ ФЕДЕРАЦИЯ: ПРИРОДА Большая часть территории России занята равнинами. Русская (Восточно-Европейская) равнина расположена к западу от Уральских гор. Средняя высота …
    Русский словарь Colier
  • МЕКСИКА — МЕКСИКА: ПРИРОДА Бльшую часть Мексики занимает Мексиканское нагорье, переходящее на севере в высокие равнины и плато Техаса и Нью-Мексико; с …
    Русский словарь Colier
  • ЛЕДНИКИ — скопления льда, которые медленно движутся по земной поверхности. В некоторых случаях движение льда прекращается, и образуется мертвый лед. Многие ледники …
    Русский словарь Colier
  • ЛАСТОНОГИЕ — ЛАСТОНОГИЕ Настоящие тюлени (семейство Phocidae) хорошо приспособлены к жизни в холодных морях: все их тело, включая короткий хвост и ласты, …
    Русский словарь Colier
  • КЕНИЯ — Республика Кения, государство в Восточной Африке. В прошлом британская колония и протекторат, в 1963 обрела независимость. На юге граничит с …
    Русский словарь Colier
  • КАНАДА — КАНАДА Исполнительная власть. Функции исполнительной власти в Канаде распределены между главой государства и главой правительства. Функции первого носят формальный характер, …
    Русский словарь Colier
  • КИТАЙ — КИТАЙ: ПРИРОДА Серия плато и котловин примыкает к Тибетскому плато на севере, северо-востоке и востоке. Эти территории - Синьцзян, Внутренняя …
    Русский словарь Colier
  • КИТООБРАЗНЫЕ — КИТООБРАЗНЫЕ К подотряду зубатых китов (Odontoceti) относятся китообразные с зубами - либо на передней части нижней челюсти, либо на обеих …
    Русский словарь Colier
  • ИРЛАНДИЯ
    Русский словарь Colier
  • ДИФФЕРЕНЦИАЛЬНЫЕ — Многие физические законы, которым подчиняются те или иные явления, записываются в виде математического уравнения, выражающего определенную зависимость между какими-то величинами. …
    Русский словарь Colier
  • ДЕРЕВО — многолетнее растение с одревесневающим прямостоячим главным стеблем - стволом. Более детальное или четкое определение этой "жизненной форме" дать трудно из-за …
    Русский словарь Colier
  • ВЕНЕСУЭЛА — ВЕНЕСУЭЛА: ПРИРОДА Высокий хребет Сьерра-де-Периха образует северо-западный отрог Анд, где проходит граница Венесуэлы и Колумбии. В пределах этой зоны отдельные …
    Русский словарь Colier
  • БИБЛИОТЕКИ — особым образом организованные собрания книг, журналов, видеозаписей и т.п. Хотя библиотеки традиционно считались хранилищами книг, библиотечные собрания всегда состояли из …
    Русский словарь Colier
  • БААЛЬБЕК — в настоящее время небольшое поселение, в древности - великолепный город-храм на территории Ливана, между хребтами Ливан и Антиливан. Широкая долина, …
    Русский словарь Colier
  • БАНКОВСКИЕ — БАНКОВСКИЕ СИСТЕМЫ Коммерческие банки. Наиболее важное место в банковских системах занимают коммерческие банки, которые в своей нынешней форме впервые появились …
    Русский словарь Colier
  • АНТИЛОПЫ — общее название для многих парнокопытных млекопитающих, относящихся к семейству полорогих (Bovidae), но отличающихся от других его представителей более изящным телосложением …
    Русский словарь Colier
  • АРТИЛЛЕРИЯ — АРТИЛЛЕРИЯ Задачи полевой артиллерии. Две основные задачи полевой артиллерии заключаются в следующем: 1) оказание огневой поддержки пехотным и танковым частям …
    Русский словарь Colier
  • АВСТРАЛИЯ — АВСТРАЛИЯ: ПРИРОДА Вдоль восточного берега Австралии от мыса Йорк до центральной Виктории и далее до Тасмании включительно простирается возвышенная полоса …
    Русский словарь Colier
  • ЮЖНО-АФРИКАНСКАЯ — государство на юге Африки. 31 мая 1910 был создан Южно-Африканский Союз, в состав которого вошли самоуправляющиеся английские колонии (Капская, Натал) …
    Русский словарь Colier
  • ФУНКЦИЯ — термин, используемый в математике для обозначения такой зависимости между двумя величинами, при которой если одна величина задана, то другая может …
    Русский словарь Colier
  • ФУНКЦИЙ — ФУНКЦИЙ ТЕОРИЯ Богатство и разнообразие теории функций комплексного переменного обусловлено взаимодействием геометрии и анализа. Когда речь заходит о комплексном числе …
    Русский словарь Colier
  • ФУНКЦИЙ — ФУНКЦИЙ ТЕОРИЯ Функции, используемые в элементарном анализе, задаются формулами. Их графики обычно можно начертить, не отрывая карандаш от бумаги, как, …
    Русский словарь Colier
  • ФУНКЦИЙ — ФУНКЦИЙ ТЕОРИЯ Пользуясь в основном такими средствами, как степенные ряды, контурный интеграл и дифференцирование, математики в последующие десятилетия сумели достичь …
    Русский словарь Colier
  • СОЗВЕЗДИЕ
    Русский словарь Colier
  • РАДИОАСТРОНОМИЯ — раздел астрономии, изучающий космические объекты путем анализа приходящего от них радиоизлучения. Многие космические тела излучают радиоволны, достигающие Земли: это, в …
    Русский словарь Colier
В настоящее время для программирования систем ЧПУ используется множество языков программирования, в основе которых лежит универсальный язык ИСО 7 бит. Однако каждый производитель вносит свои особенности, которые реализуются через подготовительные (G-коды) и вспомогательные (M-коды) функции.

Функции с адресом G – называются подготовительными , они определяют условия работы станка связанные с программированием геометрии перемещения инструмента. Подробное описание G-кодов можно найти в главе код ИСО 7 бит .

В данной главе подробно рассмотрим назначение вспомогательных функций.

Функции с адресом M – называются вспомогательными (от анг. Miscellaneous) и предназначены для управления различными режимами и устройствами станка.

Вспомогательные функции могут использоваться одиночно или совместно с другими адресами, например, кадр ниже производит установку инструмента с номером 1 в шпиндель.

N10 T1 M6, где

T1 – инструмент номер 1;
M6 – смена инструмента;

В данном случае под командой М6 на стойке ЧПУ скрывается целый набор команд, которые обеспечивают процесс замены инструмента:

Перемещение инструмента в позицию смены;
- выключение оборотов шпинделя;
- перемещение устанавливаемого инструмента в магазине;
- замена инструмента;

Использование М-кодов допускается в кадрах с перемещением инструмента, например в строке ниже охлаждение включится (M8) одновременно с началом движения фрезы.

N10 X100 Y150 Z5 F1000 M8

М-коды, включающие какое-либо устройство станка, имеют парный М код, который это устройство выключает. Например,

M8 – включить охлаждение, M9 – выключить охлаждение;
M3 – включить обороты шпинделя, M5 – выключить обороты;

Допускается использование нескольких М команд в одном кадре.

Соответственно чем больше устройств имеет станок, тем больше М команд будет задействовано в его управлении.

Условно все вспомогательные функции можно разделить на стандартные и специальные . Стандартные вспомогательные функции используются производителями ЧПУ для управления устройствами, имеющимися на каждом станке (шпиндель, охлаждение, смена инструмента и т.д.). Тогда как специальные программируют режимы на одном конкретном станке или группе станков данной модели (вкл/выкл измерительную головку, зажим/разжим поворотных осей).

На картинке выше представлен поворотный шпиндель многоосевого станка. Для увеличения жесткости при позиционной обработке станок оснащен зажимами поворотных осей, которые управляются М кодами: M10/M12 – включить зажимы для осей A и С. М11/М13 – выключить зажимы. На другом оборудовании производитель станка может данные команды настроить на управление другими устройствами.

Список стандартных М команд

M0 – останов программы;
M1 – останов по требованию;
M2 – конец программы;
M3 – включить обороты шпинделя по часовой стрелке;
M4 – включить обороты шпинделя против часовой стрелки;
M5 – останов шпинделя;
M6 автоматическая смена инструмента;
M8 – включить охлаждение (как правило СОЖ);
M9 – выключить охлаждение;
M19 – ориентация шпинделя;
M30 – завершение программы (как правило со сбросом всех параметров);
M98 – вызов подпрограммы;
M99 – возврат из подпрограммы в основную;

Специальные вспомогательные функции производитель станка описывает в соответствующей технической документации.

Важным примером замкнутого класса является класс монотонных функций. Тот факт, что монотонные функции образуют замкнутый класс, докажем позже, а пока познакомимся с тем, что такое монотонная булева функция.

На множестве B=0,1 введём полный порядок: будем считать, что 0<1. Нам придётся иметь дело с функциями от n переменных, поэтому полезно ввести частичное упорядочение в булевом пространстве В n .

Определение 1. Пусть б=(б 1 б 2 …б n) и в=(в 1 в 2 …в n) - элементы из В n . Будем говорить, что б предшествует (младше) в, и обозначать бв, если б k в k для k=1,2,…,n, причём хотя бы для одного k имеет место строгое неравенство.

Пример. б=(001100), в=(001110); б 1 =в 1 , б 2 =в 2 , б 3 =в 3 , б 4 =в 4 , б 5 <в 5 , б 6 =в 6 . Значит, бв.

Определение 2. Два вектора б и в называются сравнимыми между собой, если бв или вб. В противном случае векторы считаются несравнимыми. Частичным такой порядок называется потому, что не все элементы из В n сравнимы. Поэтому не надо путать частичный порядок на В n с полным упорядочением, которое использовалось при задания булевой функции таблицей или вектором её значений.

Вот пара примеров несравнимых между собой векторов.

1. б =(1100), в =(0110). Здесь б 1 > в 1 , б 2 =в 2 , б 3 < 3 , б 4 =в 4 .

2. б =(01), в =(10). Здесь б 1 < в 1 , б 2 > в 2 .

Из примеров видно, что несравнимые наборы - это те, в которых есть компоненты типа (01) в одном наборе и (10) в другом наборе на соответствующих местах.

Определение 3. Функция f(х 1 ,…,х n) называется монотонной (принадлежит классу М), если для любых двух сравнимых между собой наборов б, в В n из того, что б предшествует в, следует, что f(б) не больше f(), то есть бв f(б) f(в).

Если же существует такая пара наборов, что бв, но f(б) > f(в), то функция f(х1,…,хn) - немонотонная По аналогии с непрерывными функциями, которые изучаются в курсе математического анализа, функции алгебры логики можно было бы назвать неубывающими . Но поскольку мы не будем иметь дело с невозрастающими функциями, можно говорить просто о монотонности ..

Пример 20. Тождественная функция f(x) = x является монотонной, поскольку б=(0) (1)=в и f(б)=0 < 1=f()

Пример 21. f(x,y) = xy - монотонная функция.

Действительно, наборы (01) и (10) несравнимы, их в расчёт брать не будем. Для других наборов имеем:

(00)-- (11) и f(0,0)=0 1= f(1,1).

(01) (11) и f(0,1)=1 1= f(1,1).

(10)-- (11) и f(1,0)=1 1= f(1,1).

Мы убедились, что xy равна 0 лишь на наборе (00), который предшествует всем остальным наборам, так что условие монотонности функции выполняется.

Пример 22. f(x,y)=x&y - монотонная функция, т.к. равна 1 лишь на наборе (11), которому предшествуют все остальные.

Пример 23. Константы 0 и 1 являются монотонными функциями, т.к. для любых наборов будет f(б)=f(в).

Пример 24. f(x)=x" - немонотонная функция, т.к. при б=(0) и в=(1) имеем бв, но f(б)=1> 0=f(в).

Пример 25. f(x,y)=xy - немонотонная функция.

Действительно,

(00)---- (01) и f(0,0)=1 1=f(1,1) ,

(10)---- (11) и f(1,0)=0 1=f(1,1).

Но при (00)---- (10) получим

f(0,0)=1 > 0=f(1,0).

Условие монотонности функции не выполняется!

Пример 26. Определим монотонность функции сложение по модулю 2:

Наборы (01) и (10) несравнимы, их в расчёт брать не будем.

Для других наборов имеем:

(00) (01) и f(0,0)=0 1= f(0,1).

(00)-- (10) и f(0,0)=0 1= f(1,0).

(00) (11) и f(0,0)=0 0= f(1,1).

(10) (11) и f(1,0)=1 > 0= f(1,1).

Последнее условие говорит о том, что функция x+y немонотонна.

2. Синтаксис определения и вызова M-функций .

Текст M-функции должен начинаться с заголовка , после которого следует тело функции .

Заголовок определяет " интерфейс" функции (способ взаимодействия с ней) и устроен следующим образом:

function [ RetVal1, RetVal2,… ] = FunctionName(par1, par2,…)

Здесь провозглашается функция (с помощью неизменного "ключевого" слова function) с именем FunctionName, которая принимает входные параметры par1, par2,…, и вырабатывает (вычисляет) выходные (возвращаемые) значения RetVal1, RetVal2…

По-другому говорят, что аргументами функции являются переменные par1, par2,.., а значениями функции (их надо вычислить) являются переменные RetVal1, RetVal2,… .

Указанное в заголовке имя функции (в приведённом примере - FunctionName) должно служить именем файла, в который будет записан текст функции. Для данного примера это будет файл FunctionName.m (расширение имени, по-прежнему, должно состоять лишь из одной буквы m). Рассогласования имени функции и имени файла не допускается!

Тело функции состоит из команд, с помощью которых вычисляются возвращаемые значения. Тело функции следует за заголовком функции. Заголовок функции плюс тело функции в совокупности составляют определение функции.

Как входные параметры, так и возвращаемые значения могут быть в общем случае массивами (в частном случае - скалярами) различных размерностей и размеров. Например, функция MatrProc1

function [ A, B ] = MatrProc1(X1, X2, x)

A = X1 .* X2 * x;

B = X1 .* X2 + x;

рассчитана на "приём" двух массивов одинаковых (но произвольных) размеров и одного скаляра.

Эти массивы в теле функции сначала перемножаются поэлементно, после чего результат такого перемножения ещё умножается на скаляр. Таким образом порождается первый из выходных массивов. Одинаковые размеры входных масивов X1 и X2 гарантируют выполнимость операции их поэлементного умножения. Второй выходной массив (с именем B) отличается от первого тем, что получается сложением со скаляром (а не умножением).

Вызов созданной нами функции осуществляется из командного окна системы MATLAB (или из текста какой-либо другой функции) обычным образом: записывается имя функции, после которого в круглых скобках через запятую перечисляются фактические входные параметры , со значениями которых и будут произведены вычисления. Фактические параметры могут быть заданы числами (массивами чисел), именами переменных, уже имеющими конкретные значения, а также выражениями.

Если фактический параметр задан именем некоторой переменной, то реальные вычисления будут производиться с копией этой переменной (а не с ней самой). Это называется передачей параметров по значению .

Ниже показан вызов из командного окна MATLABа ранее созданной нами для примера функции MatrProc1.

Здесь имена фактических входных параметров (W1 и W2) и переменных, в которых записываются результаты вычислений (Res1 и Res2), не совпадают с именами аналогичных переменных в определении функции MatrProc1. Очевидно, что совпадения и не требуется, тем более, что у третьего входного фактического параметра нет имени вообще! Чтобы подчеркнуть это возможное отличие, имена входных параметров и выходных значений в определении функции называют формальными.

В рассмотренном примере вызова функции MatrProc1 из двух входных квадратных матриц 2 x 2 получаются две выходные матрицы Res1 и Res2 точно таких же размеров:

Res1 =
9 6
6 6

Res2 =
6 5
5 5

Вызвав функцию

MatrProc1 = MatrProc1([ 1 2 3; 4 5 6 ], [ 7 7 7; 2 2 2 ], 1);

с двумя входными массивами размера 2x3, получим две выходные матрицы размера 2x3. То есть, одна и та же функция MatrProc1 может обрабатывать входные параметры различных размеров и размерностей! Можно вместо массивов применить эту функцию к скалярам (это всё равно массивы размера 1x1).

Теперь рассмотрим вопрос о том, можно ли использовать эту функцию в составе выражений так, как это делается с функциями, возвращающими единственное значение? Оказывается это делать можно, причём в качестве значения функции, применяемого для дальнейших вычислений, используется первое из возвращаемых функцией значений. Следующее окно системы MATLAB иллюстрирует это положение:

При вызове с параметрами 1,2,1 функция MatrProc1 возвращает два значения: 2 и 3. Для использования в составе выражения используется первое из них.

Так как вызов любой функции можно осуществить, написав произвольное выражение в командном окне MATLABа, то всегда можно совершить ошибку, связанную с несовпадением типов фактических и формальных параметров. MATLAB не выполняет никаких проверок на эту тему, а просто передаёт управление функции. В результате могут возникнуть ошибочные ситуации. Чтобы избежать (по-возможности) возникновения таких ошибочных ситуаций, предлагается в тексте M-функций осуществлять проверку входных параметров. Например, в функции MatrProc1 легко осуществить выявление ситуации, когда размеры первого и второго входных параметров различны. Для написания такого кода требуются конструкции управления, которые мы пока ещё не изучали. Самое время приступить к их изучению!