Слайд 1Тема 4. Программирование
на языке MATLAB
Слайд 2
Вопросы для изучения
4.1 Назначение и состав программного комплекса MATLAB
4.2 Характеристика
языка, символы языка
4.3 Простейшие конструкции: константы, переменные, стандартные функции и
выражения. Приоритет операций.
4.4 Назначение, классификация, структура m-файлов
4.5 Интерфейс редактора/отладчика m-файлов
Слайд 34.1 Назначение и состав программного комплекса MATLAB
Общая характеристика пакета MatLab
Слово
MatLab означает матричная лаборатория (Matrix Laboratory).
Пакет MatLab представляет собой
современное программное средство для матричных вычислений, включающее в себя вычисления, визуализацию и программирование в удобном виде, где задачи и их решения выражаются в форме, близкой к математической. Основным элементом обработки в MatLab является массив.
В промышленности MatLab - это инструмент для исследований, разработки и анализа данных.
Наибольшее применение MatLab находит в
математических вычислениях;
создании алгоритмов;
моделировании;
анализе данных, исследовании и визуализации;
научной и инженерной графике;
разработке приложений, включая создание графического интерфейса.
Слайд 4Система MatLab состоит из пяти основных частей.
1. Язык MatLab. Язык
матриц высокого уровня с управлением потоками, функциями, структурами данных, вводом-выводом
и особенностями объектно-ориентированного программирования. Это позволяет создавать несложные программы и большие и сложные приложения.
2. Среда MatLab. Набор инструментов и приспособлений, с которыми работает пользователь или программист MatLab. Она включает в себя средства для управления переменными в рабочем пространстве MatLab, вводом и выводом данных, а также создания, контроля и отладки М-файлов и приложений MatLab.
3. Управляемая графика. Графическая система MatLab, которая включает в себя команды для визуализации двух- и трехмерных данных, обработки изображений, анимации и иллюстрационной графики.
Слайд 5
4. Библиотека математических функций. Обширная коллекция вычислительных алгоритмов от элементарных
функций, таких как: сумма, синус, косинус, комплексная арифметика, - до
более сложных, таких как: обращение матриц, нахождение собственных значений, функции Бесселя, быстрое преобразование Фурье.
5. Программный интерфейс. Библиотека, которая позволяет писать программы на Си и Фортране, взаимодействующие с MatLab. Она включает и средства для вызова программ из MatLab (динамическая связь).
В MatLab имеется дополнение Simulink, представляющее собой сопутствующую программу, которая является интерактивной системой для моделирования нелинейных динамических систем, которая позволяет моделировать процесс путем перетаскивания блоков диаграмм на экране и их манипуляцией. Simulink работает с линейными, нелинейными, непрерывными, дискретными, многомерными системами.
Слайд 6
Blocksets. Дополнения к Simulink, которые обеспечивают библиотеки блоков для специализированных
приложений: связь, обработка сигналов, энергетические системы.
Real-Time-Workshop. Программа, которая позволяет генерировать
код из блоков диаграмм и запускать их на выполнение на различных системах реального времени.
В начале работы с системой MATLAB следует выбрать активную папку, которая будет по умолчанию использоваться при выполнении операций работы с файлами. С этой целью необходимо мышью нажать на кнопку Browse for folder (просмотр файловой системы), расположенной под лентой рядом с адресной строкой.
Выполнение этой команды приводит к открытию стандартного диалогового окна, в котором надо установить имя текущего каталога.
Слайд 7Окно MATLAB, представленно на рисунке 1.1.
На нем расположены следующие
объекты:
строка меню,
лента,
командное окно (Command Window),
окно рабочего пространства (Workspace),
окно текущего каталога (Current Directory),
окно истории команд (Command History),
кнопка пуск (Start).
Главным из перечисленных окон является командное окно. В нем выводятся символы команд набираемых пользователем с клавиатуры, результаты выполнения команд, диагностические сообщения об ошибках выполнения программ. Ввод команд осуществляется в командную строку MATLAB. Признаком того, что система готова к приему новой команды является приглашение >>, справа от которого расположен мигающий курсор.
В окне Workspace отображаются имена и значения переменных созданных пользователем в течение сеанса работы с MATLAB. Двойной щелчок мышью по имени переменной приводит к появлению окна Array Editor, в котором можно отредактировать значение выбранной переменной.
Слайд 8Рисунок 4.2 Главное окно MATLAB
Слайд 9 Командное окно пакета MATLAB
Структура окна Command Window, состоящая из
строки меню, панели инструментов, рабочей области и полосы состояния (рис.
1.2), аналогична структуре Windows-приложений.
Слайд 10 В рабочей области окна Command Window находится строка ввода
команд. отмеченная знаком
>>,
в которой можно вводить числа, имена
переменных и знаки операций, составляющие в совокупности выражение. Имена переменных должны начинаться с буквы и состоять из букв, цифр и знаков препинания. MATLAB распознает в именах переменных до 31 символа и различает регистр символов.
После отображения результата вычисления в командном окне создается новая строка ввода команд, отмеченная знаком >>.
Для просмотра выполненных команд и результатов вычислений, не умещающихся в командном окне, имеются полосы горизонтальной и вертикальной прокрутки (скроллинга).
Необходимо отметить, что в MATLAB клавиши управления курсором используются для возврата в строку ввода ранее выполненных команд, каждая из которых перед ее выполнением запоминается в стеке команд.
Стек команд — это область оперативной памяти ПК, отведенная для хранения выполненных в данном сеансе работы команд.
При этом просмотр стека осуществляется с его конца, то есть последняя выполненная команда будет отображаться в строке команд первой.
Слайд 11 Командное окно MATLAB разделено на две принципиально различных зоны:
зону просмотра и зону редактирования
Исправление информации в зоне просмотра
невозможно, несмотря на то, что в любую строку, находящуюся в данной зоне можно поместить курсор. Попытка любая попытка редактирования текста, размещенного в зоне просмотра, приведет к автоматическому перемещению курсора в строку ввода, расположенную в зоне редактирования.
В зоне просмотра можно выделить любой фрагмент текста, затем скопировать его в буфер обмена операционной системы Windows.
Зона редактирования находится в строке командного окна MATLAB, от-меченной знаком ». Отметим, что существует возможность «удлинения* командной строки за счет размещения вводимой команды на несколько физических строках командного окна. Такая строка называется логиче¬ской строкой ввода. При вводе команды, размещаемой в нескольких физи¬ческих строках, каждая текущая строка завершается тремя точками и на¬жатием на клавишу ENTER
Слайд 12Зона редактирования находится в строке командного окна MATLAB, отмеченной знаком
>>.
Cуществует возможность удлинения командной строки за счет размещения вводимой
команды на несколько физических строках командного окна.
Такая строка называется логической строкой ввода. При вводе команды, размещаемой в нескольких физических строках, каждая текущая строка завершается тремя точками . . . и нажатием на клавишу ENTER
В этом случае зона редактирования распространяется только на строку, в которой находится курсор. Его перемещение на выбранную строку можно осуществлять, как в любом текстовом редакторе, с помощью мыши, после чего можно использовать клавиши управления курсором ♦-*», Суммарная длина логической строки ввода не может превышать 256 сим¬волов.
Очистка командного окна MATLAB осуществляется командой clc, которая, однако, оставляет неизменным содержимое буфера команд и рабочего пространства MATLAB. Действительно, если после этого набрать имя ранее вычисленной переменной d, то после нажатия клавиши ENTER мы снова увидим ее значение:
Слайд 13Рабочее пространство MATLAB
Для того чтобы узнать текущее значение любой
переменной, размещенной в рабочем пространстве MATLAB достаточно набрать в командной
строке имя переменкой и нажать клавишу «Enter», либо использовать окно Workspace, в котором отображаются все переменные, использованные в данном сеансе работы с пакетом.
Двойной щелчок левой кнопкой мыши по строке, содержащей имя переменкой приводит к появлению окна Array Editor, в котором можно просматривать и менять значения выбранной переменной.
Отметим, что эффективность работы пакета будет снижается по мере увеличения объема рабочего пространства, поэтому при исчезновении в текущем сеансе работы необходимости хранения некоторых переменных, их следует удалять из памяти компьютера командой, имеющий следующий синтаксис
clear namel name2
Для отображения имен переменных, размещенных в данный момент в рабочем пространстве, нужно выполнить команду
who или whos
Данная команда отображает в рабочем окне список всех переменных, находящихся в рабочем пространстве MATLAB.
Слайд 14После завершения сеанса работы с MATLAB все ранее вычисленные переменные
теряются.
Для сохранения в файле на диске компьютера содержимого рабочего
пространства, нужно выполнить команду меню File - Save Workspace as...
С назначением и приемами работы других объектов главного окна MATLAB можно познакомиться, запустив из командной строки обучающую видеопрограмму demo matlab desktop.
Слайд 15Работать в системе MATLAB можно в командном (как описано выше),
либо в программном режимах. В обоих режимах пользователю доступны все
возможности системы, в том числе вывод информации в графической форме.
Работа в программном режиме осуществляется путем вызова имени программы написанной пользователем на языке программирования MATLAB.
Достоинство программного способа в том, что он позволяет сохранять разработанные вычислительные алгоритмы, и благодаря этому повторять вычисления при других исходных данных. Работа в командном режиме проще (не надо писать программу). В связи с этим при изучении основных возможностей MATLAB будет использован командный режим работы.
Слайд 164.2 Характеристика языка, символы языка
Система MatLab представляет собой набор универсальных
программных и алгоритмических средств с широкой гаммой специализированных приложений.
Входной
язык и среда программирования MatLab очень близки к современным системам визуального программирования на базе универсальных алгоритмических языков типа Basic, C++, Java, Object Pascal.
По ряду аспектов MatLab уступает указанным системам (режим интерпретации, небольшой запас визуальных компонентов). Однако с его библиотекой численных методов ни по объему, ни по качеству не может сравниться ни одна из систем программирования. Кроме того, в пакете MatLab тщательно отработаны средства визуализации результатов вычислений и отображения различных графических объектов. На базе ядра MatLab созданы многочисленные расширения, обеспечивающие моделирование и анализ систем в разнообразных сферах человеческой деятельности.
Среда MATLAB включает интерпретатор команд на языке высокого уровня, графическую систему, пакеты расширений и реализована на языке C. Вся работа организуется через командное окно (Command Window), которое появляется при запуске программы matlab.exe. В процессе работы данные располагаются в памяти (Workspace), для изображения кривых, поверхностей и других графиков создаются графические окна.
Слайд 17Базовые элементы MATLAB.
Алфавит. Лексемы. Знаки операций. Литералы. Комментарии.
Алфавит включает:
-
прописные и строчные буквы латинского алфавита, а также знак подчеркивания;
-
арабские цифры от 0 до 9;
- специальные символы: + (плюс); – (минус); * (звездочка); / (дробная черта, слеш); = (равно); > (больше); <(меньше); ; (точка с запятой); &(амперсант); [ ] (квадратные скобки); { } (фигурные скобки); () (круглые скобки); _ (знак подчеркивания) ; (пробел); . (точка); , (запятая); : (двоеточие); # (номер); % (процент); ~ (поразрядное отрицание); ? (знак вопроса); ! (восклицательный знак); \ (обратный слеш и др.
Большие и малые буквы это разные переменные и константы.
Слайд 184.3 Простейшие конструкции. Приоритет операций
Из символов алфавита формируются лексемы языка
– минимальные значимые единицы текста в программе: - идентификаторы; -
ключевые (зарезервированные) слова; - знаки операций; - константы; - разделители (скобки, точка, запятая, пробельные символы).
Границы лексем определяются другими лексемами, такими, как разделители или знаки операций, а также комментариями.
Знак операции – это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются.
Основными объектами системы MATLAB являются:
числа,
константы,
переменные,
функции,
комментарии,
операторы,
выражения.
Слайд 19Числа могут быть действительными или комплексными. Ввод действительных чисел осуществляется
по правилам принятым в языках программирования высокого уровня, например, как
0 -1 845 1.35 0.00177 2.3466e10 -3567.2323e-16,
а комплексных чисел – путем записи строки следующего вида:
<значение_ДЧ> + <значение_MЧ>i
Здесь ДЧ – действительная часть комплексного числа, MЧ – мнимая часть действительного числа, i – системная константа, задающая мнимую единицу.
В MATLAB имеется возможность создания упорядоченных числовых значений (ранжированных переменных), подчиняющихся закону арифметической прогрессии.
Они формируются по правилу
<начальное значение>:<шаг приращения>:<конечное значение>
Эта запись порождает последовательность чисел, изменяющуюся от начального до конечного значения с заданным шагом. Если шаг не задан, то он принимает значение 1.
Слайд 20
Переменная - именованная область памяти, в которой хранятся данные определенного
типа, которые можно изменить в любой момент работы программы.
У
переменной есть имя (идентификатор) и значение. Имя служит для обращения к области памяти, в которой хранится значение.
С помощью операции присваивания, вводимой знаком равно (=) переменным можно задавать определенные значения
<имя переменной> = <выражение>[;]
Типы переменных как правило в MATLAB заранее не объявляются. Они определяются выражением, значение которого присваивается переменной.
Константа - именованная область памяти, в которой хранятся данные определенного типа, эти данные неизменны в процессе работы программы. У константы есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение константы. Тип константы определяется по ее значению
Константы это предварительно определенные числовые или символьные значения, представленные уникальным именем. К числовым константам относятся числа, например 10, –3.1, 12.35e–11, а к символьным любые последовательности символов заключенные в апострофы, например ′Summа′, ′Fun2′.
Слайд 21Комментарии
Еще один базовый элемент языка программирования – комментарий, –
не является лексемой. Внутри комментария можно использовать любые допустимые на
данном компьютере символы, а не только символы из алфавита языка программирования, поскольку компилятор комментарии игнорирует.
Они вводятся с помощью символа %, например, так
% процедура правых частей дифференциальных уравнений
Комментарии могут ограничиваются парами символов /* и */, символами // и заканчивается символом перехода на новую строку.
Длина идентификатора определяется реализацией (версией) транслятора Cи и редактора связей (компоновщика). Современная тенденция - снятие ограничений длины идентификатора. При именовании объектов следует придерживаться общепринятых соглашений: - ID переменной обычно пишется строчными буквами, например index (для сравнения: Index – это ID типа или функции, а INDEX – константа); - идентификатор должен нести какой-либо смысл, поясняя назначение объекта в программе, например birth_date (день рождения) или sum (сумма); - если ID состоит из нескольких слов, как, например birth_date, то принято либо разделять слова символом подчеркивания (birth_date), либо писать каждое следующее слово с большой буквы (birthDate). Разделители идентификаторов объектов:- пробелы; - символы табуляции, перевода строки и страницы; - комментарии (играют роль пробелов). Наличие разделителей не влияет на работу программы. В Си прописные и строчные буквы – различные символы. Идентификаторы Name, NAME, name – различные объекты. Ключевые (зарезервированные) слова не могут быть использованы в качестве идентификаторов.Ключевые слова Си: auto const double float int short struct unsigned void switch signed long for else continue break case default enum goto register sizeof typedef volatile while union static return if extern dochar
Слайд 22Функции это имеющие имена объекты, выполняющие определенные преобразования над своими
аргументами и возвращающие результаты этих преобразований. Для обращения к функции
используется форма
<имя результата> = <имя функции>(<список аргументов>)
Со списком элементарных функций встроенных в ядро MATLAB можно познакомиться, выполнив из командной строки команду help elfun.
Создание программы, как правило, начинается с определения переменных и способа представления данных. Следовательно, чтобы правильно организовать описание данных программы, необходимо знать, как задавать переменные в MatLab и какие виды переменных возможны.
Самый простой и наиболее распространенный тип данных – это число.
В MatLab число хранится в переменной, которая имеет некоторое уникальное имя, например,
a = 5;
задает переменную с именем a и присваивает ей значение 5.
Слайд 23
Идентификаторы (имена) и ключевые слова
Идентификатор (в дальнейшем, для краткости -
ID) – это имя программного объекта (константы, переменной, метки, типа,
функции, модуля, поля в структуре).
В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания; первым символом ID может быть буква или знак подчеркивания, но не цифра, пробелы внутри ID не допускаются.
Слайд 24
Типы данных, доступные в MatLab, представлены в табл. 1.1.
Таблица 1.1.
Основные типы данных в MatLab
double - вещественный, 64 бит
single
- вещественный, 32 бит
int8 - знаковый целочисленный, 8 бит
int16 - знаковый целочисленный, 16 бит
int32 - знаковый целочисленный, 32 бит
int64 - знаковый целочисленный, 64 бит
uint8 - беззнаковый целочисленный, 8 бит
uint16 - беззнаковый целочисленный, 16 бит
uint32 - беззнаковый целочисленный, 32 бит
uint64 - беззнаковый целочисленный, 64 бит
Слайд 25По умолчанию используется тип double, который имеет наибольшую точность представления
вещественного числа и является потому универсальным типом. Однако, если необходимо
экономить память ЭВМ, то можно указывать самостоятельно желаемый тип.
Например по умолчанию переменная а является вещественной (тип double), т.е. может принимать как целые так и дробные значения, например,
a = -7.8;
задает значение переменной а равное -7,8.
Изменить тип переменной можно, указав тип присваиваемого числа с помощью соответствующего ключевого слова, например,
a = int16(5);
выполнит присваивание числа 5 как целочисленного 16-битового значения. В результате выполнения такой операции тип переменной a будет соответствовать int16.
MATLAB по умолчанию использует формат short для вывода вещественных чисел, при котором показываются только четыре десятичных цифры после запятой.
Слайд 26 Арифметические выражения представляют собой последовательности чисел, констант, переменных и
функций, объединенных знаками арифметических операций.
В арифметических выражениях языка MatLAB
используются следующие знаки и соответствующие арифметические операции:
+ - сложение;
- - вычитание;
* - умножение;
/ - деление слева направо;
\ - деление справа налево;
^ - возведение в степень.
Приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше сложения и вычитания.
Для повышения приоритета операций нужно использовать круглые скобки.
Степень вложения скобок не ограничивается.
Операции одинакового приоритета выполняются в порядке слева направо, но круглые скобки могут изменить этот порядок.
Слайд 27Вывод результатов выполнения арифметических выражений в командное окно подчиняется следующим
правилам:
– если выражение заканчивается точкой с запятой (;),
то результат его выполнения не отображается в командном окне, а если не заканчивается, то отображается;
– если запись выражения, вводимого в командную строку не содержит знака присваивания (=), то результат его выполнения присваивается системной переменной ans;
– по умолчанию результаты вычислений отображаются в формате фиксированной точки с четырьмя знаками после запятой (формат Short).
Для установки другого формата представления результатов вычислений следует выполнить на ленте команду Preferences Command/Window/Numeric format. в группе Enviroment
Слайд 28Помимо арифметических операций над операндами выполняются еще операции отношения и
логические операции.
Операторы отношения служат для сравнения двух величин, векторов
или матриц, все операторы отношения имеют две сравниваемые величины и записываются, как показано в таблице знаками или комбинациями знаков
Таблица 4.1 - Операции отношения
Слайд 29Данные операторы выполняют поэлементное сравнение векторов или матриц одинакового размера
и логическое выражение принимает значение 1 (True), если элементы идентичны,
и значение 0 (False) в противном случае.
Логические операторы служат для реализации поэлементных логических операций над элементами одинаковых по размеру массивов согласно таблице 4.2.
Таблица 4.2 – Логические операторы
В MATLAB приоритет логических операций и отношений ниже, чем арифметических, а приоритет отношений выше приоритета логических операций за исключением отрицания
Слайд 30Элементарные функции
Набор элементарных функций представим их описанием. В тригонометрических
функциях углы измеряются в радианах.
Общая форма использования функции в
MatLAB такова:
<имя результата> = <имя функции>(<перечень аргументов или их значений>).
В языке MatLAB предусмотрены следующие элементарные арифметические функции.
Тригонометрические и гиперболические функции
sin(Z) - синус числа Z;
asin(Z) - арксинус (в радианах, в диапазоне от -π /2 к +π /2);
cos(Z) - косинус;
acos(Z) - арккосинус (в диапазоне от 0 к π );
tan(Z) - тангенс;
atan(Z) - арктангенс (в диапазоне от -π /2 к +π /2);
cot(Z) - котангенс;
acot(Z) - арккотангенс;
Слайд 31
Экспоненциальные функции
exp(Z) - экспонента числа Z;
log(Z)
- н атуральный логарифм;
log10(Z) - десятичный логарифм;
sqrt(Z)
- квадратный корень из числа Z;
abs(Z) - модуль числа Z.
Целочисленные функции
fix(Z) - о кругление к ближайшему целому в сторону нуля;
floor(Z) - округление к ближайшему целому в сторону отрицательной бес-
конечности;
ceil(Z) - округление к ближайшему целому в сторону положительной
бесконечности;
round(Z) - обычное округление числа Z к ближайшему целому;
mod(X,Y) - целочисленное деление X на Y;
rem(X,Y) - вычисление остатка от деления X на Y;
Следует помнить, что все элементарные функции должны записываться в программах малыми буквами.
Слайд 324.4 Назначение, классификация и структура m-файлов
При загрузке системы MATLAB на
мониторе появляется основное окно системы, в котором можно выделить окно
команд (Command Window).
Слайд 33Система готова к проведению вычислений и созданию программ в командном
режиме. Для этого можно на языке MATLAB записывать программы.
Операторы
заканчиваются символом ; − точка с запятой.
Одновременно точка с запятой блокирует вывод численного значения результата этого оператора в окне команд.
В одной строке можно записать несколько операторов, а сами строки автоматически нумеруются при нажатии клавиши Enter.
Если программа полностью записана и выходные величины не имеют символа ; то после нажатия клавиши Enter она выполняется.
Ниже программы появляется ее результат. В таком режиме выполнять решения задач нецелесообразно, т.к. исправить возможные ошибки после нажатия клавиши Enter уже нельзя.
Поэтому записывать программы, их редактировать и отлаживать необходимо в так называемых М-файлах.
M-файлы, создаваемые редактором/отладчиком, делятся на два класса:
•файлы-сценарии, не имеющие входных параметров;
•файлы-функции, имеющие входные параметры.
Слайд 34Файл-сценарий не имеет списка входных параметров и является примером простой
процедуры без параметров. Он использует глобальные переменные, т. е. такие
переменные, значения которых могут быть изменены в любой момент сеанса работы и в любом месте программы.
Файл-функция отличается от файла-сценария прежде всего тем, что созданная им функция имеет входные параметры, список которых указывается в круглых скобках. Используемые в файле-функции переменные являются локальными переменными, изменение значений которых в теле функции никоим образом не влияет на значения, которые те же самые переменные могут иметь за пределами функции.
Локальные переменные могут иметь те же имена (идентификаторы), что и глобальные переменные (хотя правила культурного программирования не рекомендуют смешивать имена локальных и глобальных переменных).
Слайд 35М-файл создается при выполнении команды New script вкладки File, получаем
окно М-файла, на котором можно записывать, редактировать и отлаживать любые
программы решения научных и инженерных задач.
Слайд 36Окно редактора m-файлов включает:
Строку заголовка окна.
Кнопки управления окном.
Ленту –
это полоса в верхней части экрана, на которой размещаются все
основные наборы команд, сгруппированные по тематикам на отдельных вкладках и в группах.
Панель быстрого доступа – настраиваемая панель инструментов с наиболее часто используемыми командами.
Рабочая область – создаются и добавляются различные объекты документа.
Группы команд ленты дают наиболее простой и удобный (особенно для начинающих пользователей) способ работы с системой MATLAB.
Основные команды вводятся указанием курсором мыши на нужную кнопку с нажатием левой клавиши мыши.
Кнопки имеют изображение, явно подсказывающее их назначение.
Слайд 37На первый взгляд может показаться, что редактор/отладчик – просто лишнее
звено в цепочке "пользователь – MATLAB". Однако на деле редактор/отладчик
выполняет важную роль. Он позволяет создать m-файл (программу) без той многочисленной "шелухи", которая сопровождает работу в командном режиме. Редактор обеспечивает синтаксический контроль файла.
Редактор имеет и другие важные отладочные средства – он позволяет устанавливать в тексте файла специальные метки, именуемые точками прерывания (breakpoints). При их достижении вычисления приостанавливаются, и пользователь может оценить промежуточные результаты вычислений (например, значения переменных), проверить правильность выполнения циклов и т. д.
Для удобства работы с редактором/отладчиком строки программы в нем нумеруются в последовательном порядке. Редактор является многооконным. Окно каждой программы оформляется как вкладка.
Слайд 38Редактор/отладчик m-файлов выполняет синтаксический контроль программного кода по мере ввода
текста. При этом используются следующие цветовые выделения:
•ключевые слова языка программирования
– синий цвет;
•операторы, константы и переменные – черный цвет;
•комментарии после знака % – зеленый цвет;
•символьные переменные (в апострофах) – зеленый цвет;
•синтаксические ошибки – красный цвет.
Благодаря цветовым выделениям вероятность синтаксических ошибок снижается.
Ошибки, связанные с неверным применением операторов или функций (например, применение оператора - вместо + или функции cos(x) вместо sin(x) и т. д.), не способна обнаружить ни одна система программирования.
Устранение такого рода ошибок (их называют семантическими) – дело пользователя, отлаживающего свои алгоритмы и программы.
Слайд 39М-файл по умолчанию имеет название Untitled (Безымянный). Чтобы дать ему
имя, необходимо в меню этого окна File выполнить команду Save
as и в диалоговом окне указать папку и имя этого файла.
После указания имени и сохранения М-файла он готов для выполнения записанной программы. Для этого необходимо щелкнуть мышкой по пиктограмме Выполнить. Результат выполнения программы или сообщения об ошибках появится в окне команд. Описанный процесс называется созданием М-файла сценария сессии.
Файл-сценарий, именуемый также Script-файлом, имеет весьма простую структуру:
% Основной комментарий, если необходимо.
% Дополнительный комментарий, если необходимо.
Тело программы с любыми выражениями.
Важными являются следующие свойства файлов-сценариев:
1. Они не имеют входных и выходных аргументов.
2. Работают с данными из рабочей области.
3. В процессе выполнения не компилируются.
4. Представляют собой последовательность операций, аналогичную той,
что используется в сессии.
Слайд 40Кроме М-файла сценария, в MATLAB существует М-файл функция.
Отличие М-файла
функции от сценария состоит в том, что он является аналогом
подпрограммы типа function в языке Pascal.
Структура М-файла функции с одним выходным параметром имеет вид:
function [выходной параметр] = ИМЯ (входной параметр)
% Основной комментарий, если необходимо.
% Дополнительный комментарий, если необходимо.
Тело программы с любыми выражениями.
end
Слайд 41М-файл функция обладает такими свойствами:
1. Он начинается с ключевого
слова function, после которого указывается имя переменной var – выходного
параметра, имя самой функции f _ name и список ее входных параметров, отделенных запятой.
Внимание: Имя М-файла функции должно совпадать с самой f _ name (именем самой функции). MATLAB автоматически присваивает данное имя при выполнении команды Save as.
2. Результат выполнения М-файла функции присваивается имени функции, которое может использоваться в математических выражениях подобно функциям sin(x), log(x) и т. п.
3. Все переменные, используемые в файле-функции, являются локальными, т.е. действуют только в пределах тела функции.
4. Файл-функция является самостоятельным программным модулем, который связан с другими модулями и головной программой через входные и выходные параметры.
5. При обнаружении файла-функции он компилируется и затем исполняется.