Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pract_4.doc
Скачиваний:
2
Добавлен:
06.11.2018
Размер:
146.43 Кб
Скачать

1.5.3. Основные элементы языка

В языке программирования MATLAB чаще всего рассматриваются следующие элементы:

  • данные различного типа;

  • константы и переменные;

  • выражения;

  • комментарии;

  • операторы;

  • встроенные функции;

  • скрипты (сценарии)

  • функции пользователя.

Рассматриваемая система программирования является типичным интерпретатором. Это означает, что каждая инструкция (оператор или команда) программы распознается и тут же исполняется. При этом MATLAB не создает конечных исполняемых модулей. И, как следствие, для выполнения программ необходима среда MATLAB. Однако следует отметить, что для программ на языке MATLAB созданы компиляторы, транслирующие их в коды на языках программирования C и C++.

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

Рассмотрим последовательно указанные элементы языка.

Структура типов данных системы MATLAB представлена на рис.

Рис. 1.5.1. Схема типов данных языка

Типы данных array и numeric являются виртуальными (абстрактными), поскольку к ним нельзя отнести какие-либо переменные. Таким образом, в MATLAB определены шесть основных типов данных:

double – числовые массивы с числами удвоенной точности;

char – строчные массивы с элементами-символами;

sparse – разреженные матрицы с элементами-числами удвоенной точности;

cell – массивы ячеек (ячейки, в свою очередь, тоже могут быть массивами);

struct – массивы записей с полями, которые также могут содержать массивы;

uint8 – массивы 8-разрядных целых чисел без знаков (математические операции с ними не предусмотрены) (значения от 0 до 255, занимают в памяти 1/8 часть от размера одного числа с удвоенной точностью, используются в служебных целях).

Кроме того, предусмотрен тип данных UserObject, определяемый пользователем.

Константы в программах бывают трех типов:

а) числовые, например:

1

4.321

0.000000001

987.6543е-21

-123.567е10

б) строковые – любая цепочка символов, заключенная в апострофы, например:

'any string'

'любая строка'

в) логические – их всего две: false и true, причем система понимает эти два зарезервированных слова как числа 1 и 0 соответственно.

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

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

Очевидные примеры описания переменных по контексту мы уже приводили. Заметим, что для начального описания матриц размером mn не нужно вводить ее целиком – достаточно ввести одну только компоненту с индексом nm, а остальные компоненты будут автоматически заполнены нулями:

>> A(3,5)=1;

>> A

A =

0 0 0 0 0

0 0 0 0 0

0 0 0 0 1

Это еще один способ описания и задания компонент матрицы.

Приведем также пример контекстного описания переменной другого типа – записи. Записи относятся к сложным типам. Они могут содержать разнородные данные, относящиеся к некоторому именованному объекту. Поле записи может содержать другую вложенную структуру или массив структур. Задание записей MATLAB можно осуществить с использованием операторов присваивания:

» man.name='Иванова';

» man.surname='Мария';

» man.date=1977;

» man.dim=[90 60 90];

» man

man =

name: 'Иванова'

surname: 'Мария'

date: 1977

dim: [90 60 90]

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

» man(2).name='Петрова';

» man(2).surname='Екатерина';

» man(2).date=1980;

» man(2)

ans =

name: 'Петрова'

surname: 'Екатерина'

date: 1980

dim: []

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

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

1)  Арифметические выражения. Формируются с использованием числовых переменных и констант и знаков арифметических операций тех же, что мы рассматривали для командной строки. Особо подчеркнем, что при формировании выражений с использованием матриц, следует следить за размерностями, которые должны быть согласованы с типом выполняемой операции. В частности, суммировать можно только матрицы одинаковых размеров. Однако здесь имеется исключение: при суммировании любой матрицы со скалярной константой происходит автоматическое расширение этой константы до матрицы нужного размера, в результате операция суммирования со скаляром выполняется для каждой компоненты исходной матрицы, например:

>> A=[1 2;2 3]

A =

1 2

2 3

>> A+1

ans =

2 3

3 4

2)  Строковые выражения. К сожалению, строковые выражения допустимы только в двух вариантах: указание отдельной строковой константы или вызов функций, оперирующих со строками. Детальная информация об этих функциях может быть получена по команде help strfun.

3)  Выражения отношений. Эти выражения формируются с использованием следующих операций:

< меньше;

<= меньше или равно;

> больше;

>= больше или равно;

== равно;

~= не равно.

По отношению к однотипным массивам указанные операции применяются поэлементно.

4)  Логические выражения. Формируются с использованием следующих операций:

& логическое «И»;

| логическое «ИЛИ»;

~ логическое «НЕ»;

Комментарии в программном коде – это произвольные цепочки символов, расположенные после знака «%» до конца текущей строки. Заметим, что русские буквы в комментариях использовать можно, но лучше этого не делать. Комментарии, помещенные в начале скриптов или функций, играют особую роль для справочной системы, о чем пойдет речь ниже.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]