Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Описание и работа со script-файлами



 

Script является простейшей реализацией m -файлов. Он может содержать последовательность команд, операторов, функций и комментарии. При создании нового script возникает следующее окно редактора (рис. 1.3.2-1).

 

 

Рис. 1.3.2-1. Структура script-файла

 

Script-файлы имеют свои особенности:

· не имеют входных и выходных параметров;

· работают с данными из рабочей области;

· в процессе выполнения не компилируются;

· строки автоматически нумеруются;

· представляют собой зафиксированную в виде файла последовательность команд, операторов и функций, полностью аналогичную той, что используется во время сессии в Command Window.

 

Откроем окно Edito r для создания script и введем в нем команды, например, для построения графика (рис. 1.3.2-2).

 

 

Рис. 1.3.2-2. Script-файл, содержащий команды для построения графика

 

Для сохранения созданного script следует щелкнуть по кнопке инструмента Save и в открывшемся меню выбрать команду SaveAs, в соответствующей строке окна ввести имя m -файла и щелкнуть по кнопке Сохранить. Имя файла появится в окне Current Folder с расширением.m.

Запуск script (рис. 1.3.2-3), сохраненного, например, с именем пример9.m, можно произвести из командной строки окна Command Window, введя его имя (без расширения), и нажать < Enter > ( то есть выполнить, как команду MatLab ). Зададим предварительно в командном окне переменным x и z числовые значения, а следом имя выполняемого файла пример9. Запуск файла позволил в следующей строке командного окна получить результат выполнения (рис. 1.3.2-4).

 

 

Рис. 1.3.2-3. Script- файл primer9.m

 

 

Рис. 1.3.2-4. Выполнение script- файлас именем primer9

Выполнение script или его части можно осуществить на этапе отладки (предварительно выполнив его сохранение). Для этого следует выделить нужные операторы и нажать инструмент Run. Выделенные операторы выполняются последовательно, точно так же, как если бы они были набраны в командной строке.

 

Рассмотрим еще один пример работы со script ( primer1), который предназначен для построения графика (рис. 1.3.2-5).

 

 

Рис. 1.3.2-5. Script- файлс именем primer1

 

Чтобы запустить этот файл на выполнение, следует предварительно задать последовательность значений переменной x, которая используется в теле файла (помня, что script работает с данными из рабочей области), и набрать в командной строке имя (рис. 1.3.2-6).

 

 

Рис. 1.3.2-6. Выполнение script- файлас именем primer1

 

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

Результат выполнения команд script с именем primer1 приведен на рис. 1.3.2-7.

 

 

 

Рис. 1.3.2-7. Результат работы script- файла primer1

 

 

Описание и работа с m-функциями

M- функции, так же как и script, содержат команды, операторы и функции, но являются более сложным типом m -файлов по сравнению со script и имеют свои особенности:

· начинаются с заголовка описания m -функции;

· могут иметь входные и выходные параметры;

· все переменные, описанные в теле m -функции, являются локальными , т.е. действуют только в пределах тела функции;

· являются самостоятельными программными единицам, которые общаются с другими модулями посредством имени с входными и выходными параметрами.

 

В отличие от script m- функция является типичным объектом языка программирования высокого уровня.

При создании новой m- функции открывается окно редактора
со следующим шаблоном (рис. 1.3.3-1).

Рис. 1.3.3-1. Структура новой m-функции

 

Общая структура m- функции с n входными и m выходными параметрами имеет вид:

 

function[ var1, …, var m, … ] = f_name (список входных параметров)

% Основной комментарий

% Дополнительный комментарий

Тело m-функции

var1 = выражение

var m = выражение

End

Начинаются m- функции с заголовка function, затем в квадратных скобках через запятую указываются имена выходных параметров, далее f_name имя функции, а затем в круглых скобках - список входных параметров функции. Имена функций должны быть уникальными.

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

f_name ( список_параметров ).

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

vаri = выражение,

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

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

[ var1, var2,... ]= f_nаmе(Список_параметров)

Создадим простейшую m -функцию с двумя входными и одним выходным аргументами. При активизации Редактора появился шаблон, который заполним следующей информацией (рис. 1.3.3-2).

 

 

Рис. 1.3.3-2. Описание m -функции с одним выходным параметром

 

Сохраним функцию в файле, используя инструмент Save. При этом отметим, что MatLab предлагает в качестве имени m -файла название самой функции, т.е. tt.m. Всегда сохраняйте файл-функцию в m -файле, имя которого совпадает с именем m-функции! Теперь, убедившись, что каталог с файлом tt.m. является текущим, обратимся к функции tt(2, 3) из командной строки (рис. 1.3.3-3).

 

 

Рис. 1.3.3-3. Обращение к m -функции tt(a, b)

 

При вызове m -функции tt(a, b) входные аргументы a и b получили соответственно значения 2 и 3, сумма a и b записана в выходной параметр c, значение выходного аргумента c присвоено переменной y, а результат вывелся в следующую строку командного окна.

Следующий пример показывает создание m- функции с несколькими выходными параметрами. Список выходных параметров в заголовке m -функции заключен в квадратные скобки, а сами параметры отделены запятыми. В качестве примера создадим и выполним m -функцию quadeq(a, b, c), которая по заданным коэффициентам квадратного уравнения находит его корни (рис. 1.3.3-4, 1.3.3-5).

 

 

Рис. 1.3.3-4. Описание функции quadeq(a, b, c)
с двумя выходными параметрами

 

 

Рис. 1.3.3-5. Выполнение функции quadeq(a, b, c)
с двумя выходными параметрами

 

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

global varl, var2,...

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

 

 


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 379; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.022 с.)
Главная | Случайная страница | Обратная связь