Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Описание и работа со 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. Структура новой 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 в каждом из модулей.
|
||||||||||||||||
Последнее изменение этой страницы: 2016-08-06; просмотров: 1182; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.253.84 (0.008 с.) |