Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lection_matlab_all / matlab_6

.pdf
Скачиваний:
19
Добавлен:
27.05.2015
Размер:
213.39 Кб
Скачать

Программирование в MatLab

Работа с командной строкой не является единственно возможным подходом работы с MatLab. Чаще всего пользователь подготавливает либо так называемые файлы-сценарии, либо создаёт собственные функции. Для этих целей предусмотрен встроенный в оболочку среды редактор (и дебаггер по совместительству), хотя создание или изменение файлов кода возможно практически из любого текстового редактора.

Сценарии (или процедуры, или скрипты — scripts) представляют собой сохранённые в файлах последовательности команд, операторов, описаний и управляющих конструкций на языке MatLab.

Сценарии оказываются удобной альтернативой прямой работе с командной строкой при многократном повторении одних и тех же последовательных действий. В этом смысле сценарии можно рассматривать как процедурные макрокоманды.

Пример:

%файл die.m

%часто приходится убирать 'мусор'? Use this!

clear all % очистить все переменные пользователя close all % закрыть все открытые файлы и фигуры clc % очистить консоль

...где-то в процессе работы...

>>die

...шеф! всё пропало...

Файл-сценарий снабжается расширением .m и вызывается из командной строки вызовом по своему имени (без расширения).

Он использует глобальные переменные командной среды, то есть такие переменные, значения которых могут быть изменены в любой момент сеанса работы и в любом месте программы.

Пример:

%файл mysin.m

x = linspace(0, 10, 100); y = sin(x);

plot(x, y, 'r+')

...где-то в процессе работы...

>>mysin

...появились переменные x и y, и нарисовался график...

Фaйл-функция является типичным объектом-модулем языка программирования системы MatLab. Структура такого модуля с одним выходным (необязательным) параметром <var> выглядит следующим образом:

function <var> = f_name(список_параметров) %комментарии %комментарии

<Тело функции с любыми операторами> vаr=выражение %где-то в коде хотя бы один оператор return %где-то в коде хотя бы один оператор

<Тело функции с любыми операторами>

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

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

имя файл-функции должно совпадать с названием самой функции;

функция начинается с объявления function, после которого указывается имя переменной var (или списка [var1, var2, …, varN]) — выходного параметра (или параметров), имя самой функции и список её входных параметров;

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

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

функция возвращает свое значение и вызывается при необходимости в виде name(список_параметров) в математических выражениях.

Т.к. переменные в файлах-функциях по умолчанию локальные, они не сохраняют своего значения при выходе из файла-функции. Это ограничение можно обойти: команда global var1 var2... позволяет объявить переменные функции глобальными. Таким образом, внутри функции могут использоваться и глобальные переменные, если это нужно при решении задачи.

Соседние файлы в папке lection_matlab_all