Какое определение можно дать для файла сценария

Обновлено: 03.07.2024

Полезно отметить, что М-файлы, используемые в MATLAB, делятся на два класса:

файлы – сценарии, не имеющих входных параметров;

Файлы – функции, имеющие входные параметры.

То что представлено на рисунке файл является файлом – сценарием (Script– файлом). Данный файл не имеет списка входных параметров и является примером простой процедуры без параметров. Он использует глобальные переменные, то есть такие переменные, значения которых могут быть изменены в любой момент сеанса работы и в любом месте программы. Структура этого файла следующая:

Тело файла с любым выражением.

Основным комментарием является первая строка текстовых комментариев, а дополнительным – последующие строки. Основной комментарий выводится при выполнении команд lookforиhelpимя каталога. Полный комментарий выводится при выполнении командыhelpИмя_файла.

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

М-файл функции является типичным объектом – модулем языка программирования системы MATLAB. Структура такого модуля с одним выходным параметром выглядит следующим образом:

Тело файла с любыми выражениями

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

он начинается с объявления function, после которого указывается имя переменнойvar– выходного параметра, имя самой функции и список ее входных параметров;

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

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

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

правила вывода комментариев те же, что у файлов – сценариев;

файл – функция служит средством расширения системы MATLAB;

При обнаружения файла – функции он компилируется и затем исполняется, а созданные машинные коды хранятся в рабочей области системы MATLAB.

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

Тело файла с любыми выражениями

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

Однако передача данных из модуля в модуль в этом случае происходит только через входные и выходные параметры, что требует тщательного планирования такой передачи. Команда globalvar1var2 … позволяет объявить переменные модуля – функции глобальными. Таким образом, внутри функции могут использоваться и глобальные переменные, если это нужно по условиям решения вашей задачи.

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

Имя этой функции zод таким именем ее надо записать в виде М-файла. (х,у) – список параметров (х и у). Оператор return задает возврат функцией значения в ответ на обращение к ней по имени с указанием фактических параметров. Например задавz(2,3), получим 13.

В MATLABможно включать подфункции. Они объявляются и записываются в теле основных функций и имеют идентичную им конструкцию, например:

%STAV Interesting statistics.

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

В этом примере среднее значение элементов вектора х вычисляется с помощью подфункции avg(x,n), тело которой записано в теле основной функцииstatv.

Пример использования функции statv:

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

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Сценарием называют текстовый файл, каждая строка которого содержит одну команду.

Сценарий можно вызывать при загрузке программы или во время сеанса работы с помощью команды ПАКЕТ . Сценарий предоставляет простой способ создания презентации (непрерывно сменяющихся на экране изображений) для демонстрации изделий, например, на торговых выставках.

До печати нескольких документов, используя команды файла сценария, системной переменной BACKGROUNDPLOT следует присвоить значение 0.

Файлы сценариев создаются вне программы в текстовом редакторе (Блокнот Microsoft® Windows®) или текстовом процессоре (Microsoft Word), способном сохранять файлы в формате ASCII. При этом имя файла должно иметь расширение .scr.

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

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

С помощью сценария можно выполнить любую команду в командной строке, кроме команды, при выполнении которой отображается диалоговое окно. В большинстве случаев команде, при выполнении которой отрывается диалоговое окно, соответствует альтернативный вариант - команда, при выполнении которой вместо диалогового окна отображается командная строка.

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

Имена файлов, содержащие пробелы, необходимо заключать в двойные кавычки. Например, для открытия чертежа my house.dwg из сценария следует использовать следующую запись:

В сценариях часто используются такие команды:

Задержка выполнения следующей команды на заданное количество миллисекунд

Переключение из текстового окна в область рисования

Возобновление выполнения прерванного файла сценария

Повторное выполнение файла сценария

Переключение в текстовое окно

Если вызов команды производится из файла сценария, подразумевается, что параметры системных переменных PICKADD и PICKAUTO имеют значения 1 и 0, соответственно. Это избавляет от необходимости проверять значения данных переменных.

Сценарий воспринимается как группа команд, которую можно отменить одним вызовом команды О. Однако, поскольку каждая выполняемая команда сценария регистрируется в файле журнала отмены, обработка сценария может замедлиться. При необходимости перед запуском сценария (или в начале самого сценария) средство отмены действия команд можно отключить с помощью опций "Управление" - "Ничего" команды ОТМЕНИТЬ. Не забудьте снова включить его (команда ОТМЕНИТЬ, опции "Управление" - "Все") по завершении выполнения сценария.

Выполнение сценария прекращается при вызове другой команды сценария.

Данный сценарий включает сетку, задает глобальный коэффициент масштаба типов линий 3.0, выбирает в качестве текущего слой 0 и назначает ему цвет "Красный".

  1. В текстовом редакторе введите сетка вкл.
  2. На следующей строке введите ltscale 3.0.
  3. На следующей строке введите слой установить 0 цвет красный 0.
  4. Добавьте пустую строку.
  5. Сохраните файл в текстовом формате ASCII (как TXT-файл) с расширением .scr.

М-файлы сценариев и функций. Структура и свойства файлов сценариев.

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

Файл-сценарий, именуемый также Script-файлом, является просто записью серии команд без входных и выходных параметров. Он имеет следующую структуру:

Важны следующие свойства файлов-сценариев:

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

Основным комментарием является первая строка текстовых комментариев, а дополнительным – последующие строки. Основной комментарий выводится при выполнении команд lookfor и help имя_каталога. Полный комментарий выводится при выполнении команды help Имя_файла. Рассмотрим следующий файл-сценарий:

%с выведенной масштабной сеткой в интервале [xmin.xmax]

Обратите внимание на то, что такой файл нельзя запустить без предварительной подготовки, сводящейся к заданию значений переменным xmin и хmах, использованным в теле файла. Это следствие первого свойства файлов-сценариев – они работают с данными из рабочей области. Переменные, используемые в файлах-сценариях, являются глобальными, т. е. они действуют одинаково в командах сессии и внутри программного блока, которым является файл-сценарий. Поэтому заданные в сессии значения переменных используются и в теле файла. Имена файлов-сценариев нельзя использовать в качестве параметров функций, поскольку файлы-сценарии не возвращают значений. Можно сказать, что файл-сценарий – это простейшая программа на языке программирования MATLAB [Файлы-сценарии нельзя компилировать. Перед компилированием их нужно преобразовать в файлы-функции – Примеч. ред.].

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

Вы можете описать 4 активных полосы дял каждого сеанса. Они описываются как ILS:

Индексы ВПП будут показаны на четырех кнопках. Пример линии:

Вы можете описать сколько угодно зон ожидания. Линия описания такая:

Название точки может быть названием VOR, NDB, FIX из секторфайла. Сторона разворота может быть:

  • 1 для правого разворота
  • -1 для левого разворота

Вот некоторые примеры:

Линия описания простая:

Вы можете описать бесконечное количество диспетчеров, присутствие которых будет симулироваться. Синтаксис линии такой:

Вы можете использовать любое нужное Вам количество ВС. Но понмите, что симуляция полета ВС требует больше внимания, чем просто управление им! Для описания ВС Вы должны указать где он появится и на какой высоте:

  • состояние ответчика может быть "N" для включенного и "S" для выключенного
  • широта и долгота в формате "градусы.минуты.секунды.тысячные секунды" или через "градусы.доли градуса"
  • не забудьте "1" в четвертой позиции и нули в конце строки (они нужны для технических целей)
  • курс - вписывается в градусах и рассчитывается по формуле: ((int) (курс * 2.88 + 0.5 )) << 2 ) или проще: (курс * 2.88 + 0.5 ) * 4.

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

  • тип полетного плана: I (ППП) или V (ПВП). Не забудьте поставить *A во второй позиции. Остальное и так понятно.

После строки полетного плана Вы должны поместить описание маршрута полета. Этот маршрут - это перечень точек по которым полетит симулируемое ВС. Формат линии такой:

Значение в поле "начало" указывает, через какое время в минутах после начала симуляции, самолет появится в симуляции. Это опциональный (необязтельный) параметр. Если Вы поставите "0" в это поле, то самолет появится немедленно после начала симуляции. Задержка рассчитывается от времени начала симуляции. Если симуляцию на тренажере поставить на паузу, то и время отсчитываться по время паузы не будет.

"Минимальная задержка реакции пилота" и "максимальная задержка реакции пилота" указывают как быстро самолет в симуляции будет реагировать на выданную команду (тем самым симулируя необходимые действия в кабине). Для каждого указания время реакции будет менять в границах интервала между "минимальной задержкой реакции пилота" и "максимальной задержкой реакции пилота". Минимальная задержка может быть задана в интервале от 1 до 30 секунд, максимальная от 2 до 31 секнуды. Если Вы не зададите величины в этих полях, то будет использоваться минимальная задержка в 12 секунд, а максимальная в 17 секунд (это усредненные данные реакции реальных пилотов).

Параметры "снижаться на точку" и "снижаться на высоту" используются для того, чтобы сразу после появления в симуляции начать снижение прибывающего ВС. Это делать роль инструктора, который управляет симуляцией проще. Тут можно задать высоту, на которую должно снизится ВС на определенную точку и оно само, без указания инструктора, это сделает!

Вы можете разбить маршрут на несколько линий. Тогда слово-определитель и позывной пропускаете и продолжаете предыдущую строку на этой.

EuroScope уже содержит данные про симуляцию динамики полета таких типов самолетов: A124, A30B, A306, A310, A318, A319, A320, A321, A332, A333, A342, A343, A345, A346, A3ST, A748, AAS, AC11, AC6T, AC90, AC95, AEST, AJET, AN12, AN24, AN26, AN72, AN74, AS32, ASTR, AT43, AT45, AT72, ATLA, ATP, B190B350, B461, B462, B463, B52, B703, B712, B721, B722, B732, B733, B734, B735, B736, B737, B738, B739, B741, B742, B743, B744, B74S, B752, B753, B762, B763, B764, B772, B773, BA11, BE10, BE20, BE30, BE33, BE36, BE40, BE50, BE55, BE58, BE60, BE76, BE95, BE99, BE9L, BE9T, BN2, BN2P, BN2T, C5, C12, C17, C130, C135, C141, C160, C172, C182, C206, C208, C210, C25A, C25B, C295, C303, C30J, C310, C340, C404, C414, C421, C425, C441, C500, C501, C510, C525, C550, C551, C560, C56X, C650, C680, C72R, C750, CL30, CL60, CN35, CRJ1, CRJ2, CRJ7, CRJ9, CVLT, D228, D328, DA42, DC3, DC6, DC85, DC86, DC87, DC9, DC93, DC94, DC10, DHC6, DHC7, DH8A, DH8B, DH8C, DH8D, E3TF, E3CF, E6, E110, E120, E121, E135, E145, E170, E195, EC35, F15, F16, F18, F117, F27, F28, F50, F70, F100, F406, FA10, FA20, FA50, F900, F2TH, G150, G159, G222, GA7, GALX, GL5T, GLEX, GLF2, GLF3, GLF4, GLF5, GY80, HARR, HAWK, H25A, H25B, H25C, H47, IL62, IL76, IL96, J328, JAGR, JS20, JS31, JS32, JS41, K35E, K35R, KC10, L101, L188, L410, LJ24, LJ31, LJ35, LJ45, LJ55, LJ60, M20P, M20T, MD11, MD80, MD81, MD82, MD83, MD87, MD88, MD90, MU2, MU30, NIM, P3, P68, P180, PA24, PA27, PA28, P28A, P28R, P28T, PA30, P31T, PA31, PA32, P32R, P32T, PA34, PA44, PA46, P46T, PAY1, PAY2, PAY3, PAY4, PC7, PC9, PC12, PRM1, RJ70, RJ85, RJ1H, S601, SB20, SBR1, SF34, SH33, SH36, SR20, SR22, SW2, SW3, SW4, T134, T154, T204, TBM7, TOR, TRIN, TRIS, TUCA, VC10, YK42.

Но Вы можете создать свою динамику, которая будет использоваться для данного типа ВС, даже если он уже есть во встроенной базе. Используйте такие линии:

Читайте также: