Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программирование вMatlab




 

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

Большинство объектов этого языка (команды, операторы и функции) одновременно являются объектами входного языка общения с системой в командном режиме работы.

В командном режиме результаты работы не сохраняются в памяти компьютера, хранятся только определения созданных в ходе их выполнения переменных и функций. А вот программы на языке программирования Matlab сохраняются в виде текстовых m-файлов. При этом могут сохраняться как целые программы в виде файлов-сценариев, так и отдельные программные модули — функции. Кроме того, важно, что программа может менять структуру алгоритмов вычислений в зависимости от входных данных и данных, создаваемых в ходе вычислений.

С позиций программиста язык программирования Matlab является типичным проблемно-ориентированным языком программирования высокого уровня, содержащим сложные операторы (построения разнообразных графиков, генерации матриц определенного вида и т. д.) и функции (матричные функции, функции быстрого преобразования Фурье и др.).

 

Основные средства программирования. Программами в системе Matlab являются m -файлы текстового формата. Язык программирования системы Matlab имеет следующие средства:

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

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

- операторы, включая операторы математических выражений;

- встроенные команды и функции;

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

- управляющие структуры;

- системные операторы и функции;

- средства расширения языка.

Язык программирования Matlab является типичным интерпретатором. Это означает, что каждая инструкция программы распознается и тут же исполняется, что облегчает обеспечение диалогового режима общения с системой. Высокая скорость выполнения программ обеспечена наличием заведомо откомпилированного ядра, хранящего в себе критичные к скорости выполнения инструкции, такие как базовые математические и иные функции, а также тщательной отработкой системы контроля синтаксиса программ в режиме интерпретации.

Интерпретация означает, что Matlab не создает исполняемых конечных программ. Они существуют лишь в виде m-файлов. Для выполнения программ необходима среда Matlab. Однако для программ на языке Matlab созданы компиляторы, транслирующие программы Matlab в коды языков программирования С и C++. Это решает задачу создания исполняемых программ, первоначально разрабатываемых в среде Matlab. Компиляторы для системы Matlab являются вполне самостоятельными программными средствами и здесь не рассматриваются.

Структура типов данных системы Matlab представлена ниже:

В Matlab определены следующие основные типы данных, в общем случае представляющих собой многомерные массивы:

- single — числовые массивы с числами одинарной точности;

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

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

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

- сеll — массивы ячеек; ячейки, в свою очередь, тоже могут быть массивами;

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

- function_handle — дескрипторы функций:

- int32, uint32 — массивы 32-разрядных чисел со знаком и без знаков;

- intl6,uint1 6 — массивы 16-разрядных целых чисел со знаком и без знаков;

- int8. uint8 — массивы 8-разрядных целых чисел со знаками и без знаков.

Кроме того, предусмотрен еще один тип данных — UserObject, который относится к типам данных (объектом), определяемым пользователем.

Каждому типу данных можно соотнести некоторые характерные для него операции, называемые методами. Дочерние типы данных наследуют от последних их методы, что является признаком наследования объектов. Поскольку в иерархии типов данных сверху находятся данные типа array, это значит, что все виды данных в Matlab являются массивами.

 

Виды программирования. Язык программирования системы Matlab вобрал в себя все средства, необходимые для реализации различных видов программирования:

- процедурного;

- операторного;

- функционального;

- логического;

- структурного (модульного);

- объектно-ориентированного;

- визуально-ориентированного.

 

В основе процедурного, операторного и функционального типов программирования лежат процедуры, операторы и функции, используемые как основные объекты языка. Эти типы объектов присутствуют в Matlab.

Логическое программирование реализуется в Matlab с помощью логических операторов и функций. Это позволяет реализовать основные идеи логического программирования, хотя на выдающуюся роль в этом классе языков программирования Matlab не претендует.

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

Объектно-ориентированное программирование также широко представлено в системе Matlab. Оно особенно актуально при программировании задач графики.

 

Что касается визуально-ориентированного программирования, то оно реализуется в пакете моделирования заданных объектов блоками устройств и систем Simulin k.

Особенностью Matlab является двойственность операторов и функций. Многие операторы имеют свои аналоги в виде функций. Так, например, оператор «+» имеет аналог в виде функции sum. Команды, записанные в виде Command argument нередко имеют форму записи и в виде функции: Command(' argument')

 

Приемы разработки программ в Matlab в своей основной форме совпадают с аналогичными программами, разрабатываемыми в большинстве языков программирования. Приведем некоторые примеры.

Цикл for… end. Для данного n, оператор

 

x =[];

for i =1:n

x=[x,i.2 ];




Поделиться с друзьями:


Дата добавления: 2014-11-08; Просмотров: 968; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.