Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab2.doc
Скачиваний:
2
Добавлен:
17.09.2019
Размер:
62.46 Кб
Скачать

Лабораторная работа № 2 Программирование в среде системы matlab

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

1 Краткие теоретические сведения

1.1 М-функции

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

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

function Ret = FName (par)

В нем объявляется функция с помощью ключевого слова function с именем FName, которая принимает входные параметры par (аргументы функции) и вырабатывает выходные (возвращаемые) значения Ret. Указанное в заголовке имя функции должно совпадать с именем файла, в который записывается текст функции. Рассогласование имени функции и имени файла не допускается.

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

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

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

help Имя_функции

Синтаксис вызова функции традиционен для большинства языков программирования: записывается имя функции, после которого в круглых скобках перечисляются фактические входные параметры, со значениями которых и будут произведены вычисления. Фактические параметры могут быть заданы числовыми значениями, именами переменных, выражениями.

1.2 Конструкции управления

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

Операторы цикла.

В зависимости от способа определения условия останова (окончания циклических повторений) различают два вида операторов цикла в М-языке системы MATLAB.

1) С использованием ключевых слов while и end.

while выражение

end

В случае массивов истинность наступает, когда все элементы массива истинны. Выражение вида while 1 означает, что условие в заголовке цикла всегда истинно (цикл бесконечен).

2) С использованием ключевых слов for и end.

for varName = выражение

end

Условием останова является исчерпание всех возможных значений переменной цикла.

Оба вида операторов цикла можно досрочно прервать, если написать ключевое слово break внутри тела цикла. Вместо операторов цикла лучше применять эквивалентные по результатам операции с массивами, т.к. последние исполняются в системе MATLAB намного быстрее. Замену операторов цикла эквивалентными им групповыми операциями М-языка принято называть векторизацией кода.

Операторы ветвления.

1) Условный оператор использует ключевые слова if, else, elseif, end. Наиболее полная форма представления:

if условие1

elseif условие2

else

end

Условные операторы часто используются совместно с инструкцией return для осуществления долгосрочного завершения функции и выхода из нее. Условные операторы также применяются внутри операторов цикла совместно с инструкцией break для досрочного выхода из цикла.

2) Оператор переключения использует ключевые слова switch (переключить), case (случай), otherwise (иначе) и имеет следующую конструкцию:

switch выражение

case значение1

case {значение2, значение3}

otherwise

end

Операции отношения записываются следующими знаками:

<

<=

>

>=

= =

=

Меньше

Меньше или равно

Больше

Больше или равно

Равно

Не равно

Логические операции записываются следующими знаками:

&

|

И

ИЛИ

НЕ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]