Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
nbCqmVlOPg.doc
Скачиваний:
9
Добавлен:
30.04.2022
Размер:
151.04 Кб
Скачать

1. Виды программ в matlab

Программа MATLAB – обычный текстовый файл с расширением .m. Файлы с другими расширениями не воспринимаются как программы. Команды в коде отделяются друг от друга так же, как и при работе с интерпретатором:

  • переход на новую строку (отображается результат выполнения команды);

  • точка с запятой (результат последней команды не отображается);

  • запятая (для записи в одной строке нескольких инструкций).

М-файлы в MatLab бывают двух типов:

  • файлы-сценарии (Script M-Files), содержащие последовательность команд;

  • файл-функции, (Function M-Files), в которых описываются функции, определяемые пользователем. 

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

  • HOME > New Script или Ctrl+N – для создания сценария;

  • HOME > New > Script (Function) – для создания сценария (функции)

Также можно воспользоваться командой edit, создающей указанный m-файл:

>> edit filename

или

>> edit D:/matlab/filename

Необходимо обратить внимание на отсутствие расширения в имени файла.

Чтобы вызвать программу, нужно перейти в папку, где находится её код, с помощью команды cd (или указать полный путь) и написать имя m-файла без расширения, например:

>> cd D:/

Если m-файл открыт в редакторе MATLAB, то его можно запустить, нажав на кнопку EDITOR > Run. Если программа найдена, то MATLAB производит её синтаксический анализ. Затем, если ошибок не обнаружено, программа начнёт выполняться.

Программы MATLAB можно классифицировать следующим образом:

Рисунок 1 - Классификация программ MATLAB

1.1 Сценарии (скрипты)

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

Сценарии не возвращают и не принимают в качестве аргументов никаких значений. Однако они могут обращаться к переменным в рабочем пространстве пользователя, равно как и пользователь имеет доступ к локальным переменным сценария во время его выполнения. Для этого в код программы в определённом месте необходимо вставить команду keyboard. При этом вид приглашения к вводу изменится с «>>» на «K>>». Чтобы продолжить выполнение сценария введите в командной строке return.

Рассмотрим пример.

Создадим файл script1.m со следующим содержанием:

x1 = 0;

disp(x1)

keyboard

disp(‘снова в сценарии’)

disp(x1)

Запустим сценарий. При этом в командной строке появится текущее значение переменной x1, определённой в сценарии, и изменённое приглашение к вводу:

>> script1

0

K>>

Присвоим x1 произвольное значение и продолжим выполнение программы:

K>> x1 = 5;

K>> return

В результате получим:

>> снова в сценарии

>> 5

1.2 Функции

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

Структура m-файла функции имеет вид:

% комментарии

function [возвращаемые значения] = имя функции (аргументы)

команды

В начале файла рекомендуется использовать комментарии. Об этом будет рассказано позже.

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

function имя функции (аргументы)

команды

Имя функции должно совпадать с именем файла. Оно начинается с буквы и может содержать также цифры и символ подчёркивания. Необходимо обратить внимание на то, что имена функций в текущей директории могут скрывать имена стандартных функций MATLAB (в этом случае должно появиться предупреждение).

Аргументы функции должны быть указаны в круглых скобках. Их имена не обязательно должны совпадать с именами переменных, передаваемых функции, и служат только для обращения к ним изнутри неё. Аргументы также могут отсутствовать:

function [возвращаемые значения] = имя функции

команды

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

Для вызова функции необходимо перейти в папку с её m-файлом и указать имя функции без расширения. Затем, если она принимает аргументы, необходимо указать их в скобках.

В качестве примера создадим файл say_this.m:

function SayThis(s)

disp(s)

Вызовем функцию в интерпретаторе:

>> cd D:/matlab/

>> SayThis(‘Hello, world!’)

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

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