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

ПРОГРАММИРОВАНИЕ В СРЕДЕ MATLAB

Цель занятия: ознакомиться с операциями отношения, логическими операциями и условными операторами, приобрести навыки их использования при разветвленных вычислениях.

Основные теоретические сведения

В MATLAB особое значение имеют файлы двух типов — с расширениями.mat и.m. Первые являются бинарными файлами, в которых могут храниться значения переменных, вторые представляют собой текстовые файлы, содержащие внешние программы, определения команд и функций системы. Именно к ним относится большая часть команд и функций, в том числе задаваемых пользователем для решения своих специфических задач.

Многооконный редактор–отладчик с пустым окном редактирования m–файлов можно вызвать командой Edit из командной строки или командой меню File > New > M-fiLe ( рисунок 3.1 ).

Рисунок 1– Многооконный редактор–отладчик

После этого в окне редактора можно создать свой файл, а также пользоваться средствами его отладки и запуска. Для запуска файла его необходимо записать на диск, используя команду Save as в меню File редактора. Редактор–отладчик m–файлов выполняет синтаксическую проверку программного кода по мере ввода текста. При этом используется следующее цветовое выделение:

– ключевые слова языка программирования — синий цвет;

– операторы, константы и переменные — черный цвет;

- комментарии после знака % — зеленый цвет;

- символьные переменные (в апострофах) — коричневый цвет;

- синтаксические ошибки — красный цвет.

Благодаря цветовому выделению вероятность синтаксических ошибок резко снижается

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

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

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

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

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

1) они не имеют входных и выходных аргументов;

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

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

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

Рассмотрим следующий файл-сценарий (рисунке 2):

Рисунок 2 – Создание файла-сценария в MATLAB

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

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

function var= f_name(Cпиcoк_napaмeтpов)

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

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

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

vаr = выражение

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

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

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

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

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

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

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

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

function [varl,var2....] = f_name(Список_параметров)

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

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

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

vаr1=выражение

vаr2=выражение

Если функция используется как имеющая единственный выходной параметр, но имеет ряд выходных параметров, то для возврата значения будет использоваться первый из них. Это зачастую ведет к ошибкам в математических вычислениях. Поэтому, как отмечалось, данная функция используется как отдельный элемент программ вида [varl, var2] = f_nаmе (Список_параметров). После его применения переменные выхода varl, var2 становятся определенными и их можно использовать в последующих математических выражениях и иных сегментах программы.

Для организации диалогового ввода и вывода используются следующие операторы, представленные в таблице 1.

Таблица 1- Операторы диалогового ввода/вывода

Оператор Синтаксис Назначение
INPUT x = input(‘<приглашение>’) Для ввода данных с клавиатуры
DISP disp (<переменная или текст в апострофах>) Для вывода на дисплей

Пример диалоговой программы, которая служит вычисления площадей круга и квадрата и их сравнения приведен на рисунке 3.

Рисунок 3 – Пример диалоговой программы

Для организации ветвлений служат условные операторы.

Конструкции условных операторов:

1)

if < условие >

< операторы >

End

Операторы (тело выражения) выполняются только в том случае, если условие истинно, если условие ложно, то тело выражения не выполняется.

2) if < условие >

< операторы 1 >

Else

< операторы 2 >

End

Если ход программы должен изменяться в зависимости от нескольких условий, то следует использовать полную конструкцию if-elseif-else. Каждая из ветвей elseif в этом случае должна содержать условие выполнения блока операторов, размещенных после нее. Важно понимать, что условия проверяются подряд, первое выполненное условие приводит к работе соответствующего блока, выходу из конструкции if-elseif-else и переходу к оператору, следующему за end. У последней ветви else не должно быть никакого условия. Операторы, находящиеся между else и end, работают в том случае, если все условия оказались невыполненными. Например, требуется написать файл-функцию для вычисления кусочно-заданной функции:

Рисунок 4 – Листинг программы для вычисления значения функции

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

Таблица 2- Операторы сравнения

Символ Назначение Имя функции
< Меньше lt
>= Больше или равно ge
> Больше gt
<= Меньше или равно le
== Равно eq
~= Не равно ne

Операции (==, ~=) проводят сравнение вещественных и мнимых частей комплексных чисел, а операции (>, <, >=, <=) – только вещественных частей.

Логические операции можно записывать в виде функций (таблица 3).

Таблица 3- Логические операции

Символ Назначение Имя функции
& Логическое «и» and
| Логическое «или» or
~ Отрицание not

Результатом логических операций являются числа 0 (false) и 1(true).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: