Строка помощи H1

End

Простой пример функции

Функции

End

Pause

Попробуйте ввести эти команды в М-файл, названный petals.m. Этот файл является теперь сценарием MATLAB-а. Ввод команды petals (лепестки) в командной строке MATLAB –а приводит к выполнению команд сценария. Командаpause приостанавливает выполнение цикла до нажатия какой-либо клавиши (например, Return). Таким образом, после того как сценарий отображает один график из четырех, нажатие клавиши Returnприводит к появле-нию следующего. Здесь мы не имеем входных или выходных переменных; сценарий petals создает требуемые ему переменные в основном рабочем пространстве MATLAB-а. Когда вы-полнение сценария завершено, все созданные переменные (i, theta,и rho) остаются в рабо-чем пространстве. Вы можете убедиться в этом, вводя команду whos в командной строке.

 

Функции представляют собой М-файлы, которые принимают входные аргументы и выдают выходные. Они работают над переменными в своем собственном рабочем пространстве, ко-торое не совпадает с основным рабочим пространством, доступном из командной строки MATLAB-а.

Функция average является простым М-файлом, который вычисляет среднее значение элемен-тов вектора.

 

function y = average(x)

% AVERAGE Mean of vector elements.

% AVERAGE(X), where X is a vector, is the mean of vector elements.

% Non-vector input results in an error.

[m,n] = size(x);

if (~((m == 1) | (n == 1)) | (m == 1 & n == 1))

error('Input must be a vector')

y = sum(x) / length(x) ; %Фактические вычисления

 

При вводе не векторной величины, данная функция выдает сообщение об ошибке (более точ-но, на дисплей выводится фраза «Вход должен быть вектором»). Вы можете ввести эти ко-манды в М-файл, названный average.m.Функцияaverage допускает единственный вход и возвращает единственный выходной аргумент. Для обращения к данной функции, введите

 

z = 1:99;

average(z)

что даст следующий результат

ans =

 

Основные части синтаксиса М-функций

Функции в общем случае состоят из следующий частей:

  • Строка определения функции (The Function Definition Line)
  • Строка помощи H1 (The H1 Line)
  • Текст помощи (Help Text)
  • Тело функции (The Function Body)
  • Комментарии (Comments)

 

Строка определения функции

Строка определения функции информирует систему MATLAB , что М-файл содержит функ-цию, и задает последовательность входных и выходных переменных. Для функцииaverage эта строк имеет следующий вид:

 

где input argument– входной аргумент;

function name– имя функции;

output argument –выходной аргумент;

keyword –зарезервированное слово;

 

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

 

function [x,y,z] = sphere(theta, phi, rho)

 

Если функция не имеет выходных переменных, оставьте выход пустым, например,

 

function printresults(x)

или используйте пустые квадратные скобки

 

function [ ] = printresults(x)

Переменные, которые вы передаете функции не обязательно должны иметь то же имя, что и в линии определения функции.

 

Строка H1, названная так потому что она является первой строкой текста помощи (Help text), является линией комментария, которая следует непосредственно за строкой определения фу-нкции. Поскольку она состоит из текста комментария, строка H1начинается с символа про-цента (%). Для функции averageэта строка имеет вид

 

% AVERAGE Mean of vector elements.

(СРЕДНЕЕ ЗНАЧЕНИЕ Вычисление среднего значения векторов)

Эта строка является первой строкой текста, который появляется при вводе пользователем в командной строке команды

 

help function_name

(helpимя_функции)

 

Далее, функция lookfor производит поиск и выводит в командное окно тольку строку H1. Так как данная строка обеспечивает важную обобщающую информацию о М-файле, очень важно сделать ее по возможности более описательной.