Характеристика системы MATLAB



Лекция 4

 

1. Система MATLAB

MATLAB = Matrix Laboratory (Лаборатория Матриц).

Первая версия создана в конце 70-х годов в Стэнфордском университете (Stanford – США) для преподавания теории матриц. Современные версии готовит фирма MathWorks.

Web страница в Интернете – www.mathworks.com

 

Достоинства:

- Матричная математика обеспечивает очень высокую скорость математических действий (примерно в 10 раз выше, чем Mathcad).

- Язык программирования близок к широко распространенным языкам Pascal, Delphi и C.

- Есть поддержка двумерной и трехмерной графики (в отдельном окне).

- Большое количество встроенных математических функций. Несколько тысяч для различных предметных областей.

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

- Есть средства разработки графического пользовательского интерфейса.

- Есть встроенная система имитационного моделирования блочно организованных систем Simulink.

Недостаток – программирование не на языке математики (как в программировании).

СКМ содержит четыре группы компонент:

- Продукты MATLAB. Это ядро системы и наборы универсальных функций.

- Toolboxes – Инструментальные пакеты для MATLAB (универсальные и специализированные). Каждый набор содержит встроенные функции для определенной предметной области.

- Продукты Simulink. Это сама система имитационного моделирования блочно организованных систем Simulink и поддерживающие ее средства.

- Blocksets – Наборы блоков для имитационной модели Simulink. Каждый набор содержит блоки для определенной предметной области.

 

С помощью пакета MATLAB можно создавать:

1. Электронные книги.

2. Электронные справочники.

3. Интерактивные сценарии.

4. Технические отчеты и альбомы проектирования.

5. Электронные записные книжки.

6. Электронные отчеты по домашним заданиям, КР и ДП.

2. Основы программирования

2.1. Машинный код процессора

Процессор – это большая интегральная схема, содержащая миллионы компонент:

- триггеры для запоминания битов данных,

- вентили для выполнения операций.

Для управления компонентами применяются управляющие сигналы, имеющие два уровня – низкий и высокий.

Множество управляющих сигналов можно связать с набором 0 и 1, которые можно интерпретировать, как двоичное число. Например, 0110001100110101.

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

 

2.2. Программа на языке программирования

Машинные коды трудно воспринимаются человеком. Поэтому люди составляют программу на удобном для себя языке (высокоуровневом).

Программирование на естественном человеческом языке (метаязыке) может использоваться только на этапе составления алгоритма – идеи решения задачи.

Автоматически перевести такую программу в машинный код нельзя из-за неоднозначности естественного языка. Поэтому для перевода программы, написанной на языке высокого уровня, в машинные коды служат трансляторы.

2.3. Трансляторы

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

Виды трансляторов:

- компилятор,

- интерпретатор.

Компилятор преобразует построчно всю программу в машинные коды и исполняет сразу всю задачу целиком. При этом создается файл *.exe.

Достоинства компилятора:

- Транслированная программа может исполняться безкомпилятора.

- При трансляции может использоваться технология оптимизации.

- Скорость работы компилированной программы в сотни раз выше, чем интерпретируемой.

Недостатки компилятора:

- Трудоемкость программирования.

- Сложность тестирования и отладки.

- Сложность остановки.

Интерпретатор сразу выполняет команды языка, указанные в тексте программы. Команды транслируются и исполняются последовательно поштучно (построчно).

Достоинства интерпретатора:

- Постоянный контроль среды программирования.

- Удобства тестирования и отладки.

- Легкость остановки.

Недостатки интерпретатора:

- Транслированная программа не может исполняться без интерпретатора (нужна среда написания программы).

- При трансляции не может автоматически использоваться оптимизация.

- Скорость работы интерпретируемой программы в сотни раз ниже, чем компилируемой.

2.4. Классификация языков программирования

ЭВМ исполняет программу в машинных кодах. А составляют программу люди на удобном для себя языке.                      

Различают языки:

- низкого уровня (машинно-ориентированные),

- высокого уровня (независящие от архитектуры процессора).

Языки высокого уровня бывают:

- процедурно-ориентированные. Содержат набор универсальных команд;

- проблемно-ориентированные.  Имеют команды узкого назначения;

- объектно-ориентированные. Программирование на уровне объектов;   

- событийно-ориентированные. Программирование на уровне событий;

- визуальные. Поддерживают визуальное программирование;

- комплексные. Поддерживают многие из перечисленных свойств.

 

Различают пять поколений языков программирования:

1. Начало 1950-х годов. Язык Ассемблера. Его принцип "Одна инструкция – одна строка". Инструкция на языке однозначно соответствует машинному коду команды.

2. Начало 1950-х – конец 1960-х годов. Язык символического Ассемблера. В нем появилось понятие переменной.

3. 1960-е годы. Универсальные языки программирования.

4. С начала 1970-х годов до настоящего времени. Проблемно-ориентированные языки для создания проектов в узкой предметной области.

5. С середины 1990-х годов до настоящего времени. Языки с автоматизацией программирования. Примеры – языки визуального программирования.

2.5. Языки низкого уровня

Язык Расшифровка
Assembler Ассемблер
Macro Assembler МакроАссемблер

2.6. Языки высокого уровня

Язык Расшифровка Примечание
Fortran Formula Translator От слов - транслятор формул.
BASIC Beginner’s All-purpose Symbolic Instruction Code Многоцелевой мнемокод для начинающих. Создан в 1960-е годы.
Visual Basic Визуальный BASIC Язык 5-го поколения. Его версия – рабочий язык пакета Microsoft Office.
Cobol Common Business Oriented Language Язык для задач в экономике бизнесе.
Algol Algorithmic Language   Создан для описания алгоритмов. Не получил широкого распространения.
Pascal   Универсальный язык. Создан в 1970-х годах. Один из часто применяемых.
С   Язык для системного программирования. Создан в 1970-х годах компанией Bell.
С++   Объектно-ориентированное расширение С++. Создан в 1980 году Страуструпом.
С# С шарп Многоплатформенная версия С++
Java   Модификация С для Internet. В нем удалены низкоуровневые возможности языка С.
Delphi   Универсальный язык. Создан в 1990-х годах. Предназначен для работы с объектами.
Python   Универсальный язык. Позволяет создавать практико-ориентированные приложения, игры, обработку данных, задачи системного администрирования.

3.0  Математический пакет MATLAB

Характеристика системы MATLAB

Система MATLAB построена на расширенном представлении и применении матричных операций. MATLAB = Matrix Laboratory (Лаборатория Матриц).

Достоинства:

§ Матричная математика обеспечивает очень высокую скорость математических действий. Примерно в 10 раз выше, чем в Mathcad.

§ Язык программирования высокого уровня математико-ориентированный на технические вычисления, близкий к широко распространенным языкам Delphi и Basic, С.

§ Имеется поддержка двумерной и трехмерной графики.

§ Большое количество встроенных математических функций (Несколько тысяч для различных областей).

§ Возможность создания собственных функций в виде М-файлов.

§ Имеются средства разработки графического пользовательского интерфейса.

§ Встроенная система имитационного моделирования блочно организованных систем Simulink.

Недостатки:

§ Программирование не на языке математики.

Особенности:

§ Относится к классу интерпретаторов, что позволяет облегчить отладку программных модулей (M-файлов).

§ M-файлы могут быть исполнены только в среде системы MATLAB. Полностью исполняемые файлы с расширением *.exe система не создает.

§ Реализует все известные средства программирования, с том числе объектно-ориентированное и визуальное программирование.

§ Имеются дополнительные пакеты прикладных программ (Symbol Mathematics Toolbox, Control System Toolbox, Signal Processing Toolbox, Mat lab Application Toolbox, Notebook).

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

§ Компоненты системы. Можно использовать только MATLAB.

§ Инструментальные пакеты расширения по выбору.

§ Библиотеки компонент по выбору.

§ Документация по выбору. В форматах HTML (просмотр браузерами Интернета) или PDF(просмотр с помощью Acrobat Reader).

 

3.2 Состав системы

MATLAB состоит из следующих частей:

MATLAB Products Ядро системы + Продукты MATLAB. Содержат наборы универсальных функций.
Products Simulink   - SimPowerSystems - Simulink Control Design, - Stateflow Продукты Simulink (система имитационного моделирования). Содержат наборы универсальных блоков, методов и функций. Энергетика Проектирование систем управления в Simulink,   Моделирование систем, управляемых событиями
Toolboxes :   - Communications Toolbox, - Control System Toolbox, - Filter Design Toolbox, - RF Toolbox, - Statistics Toolbox Инструментальные пакеты (»100) - расширения MATLAB. Содержат наборы функций для предметной области. Телекоммуникации,   Системы автоматического управления,   Проектирование фильтров,   Радиочастотные методы, Статистика
  Blocksets :   - Communications Blockset, - Signal Processing Blockset - RF Blockset   Наборы компонент Simulink - расширения Simulink. Содержат наборы блоков, методов и функций для предметной области. Телекоммуникации    Обработки сигналов    Радиочастотные компоненты

 

3.3 Свойства и возможности системы

В области вычислений:

§ матричные и логические операции,

§ элементарные функции,

§ полиномиальная арифметика,

§ специальные функции,

§ многомерные массивы, структуры и массивы структур,

§ строки в формате Unicod (2 байта на символ).

В области численных методов:

§ поиск корней нелинейных уравнений,

§ оптимизация функций,

§ многомерная интерполяция,

§ решение дифференциальных уравнений,

В области символьной математики:

§ символьные преобразования выражений,

§ решение нелинейных уравнений,

§ решение дифференциальных уравнений.

В области мультимедиа:

§ двумерные и трехмерные графики,

§ анимация,

§ 24-битный цвет, 16-битный стереозвук,

§ создание графического интерфейса GUI,

§ редактор графических объектов с удобным графическим интерфейсом.

В области программирования:

§ редактор/отладчик M-файлов в виде М-файлов  ( * .m ).

§ создание своих функций,

§ свыше 500 встроенных функций.

§ применение программ на С и Fortran,

§ создание HTML файлов, прямой выход в Интернет.

В области моделирования:

§ Simulink – имитационное моделирование.

Документация:

§ в формате HTML,

§ в формате PDF.

 

3.3.1. Операционная среда системы MATLAB

Информационная среда системы MATLAB включает в себя:

§ Диалог с пользователем через командное окно.

§ Просмотр рабочей области и путей доступа.

§ Редактор/отладчик М-файлов.

§ Работа с файлами.

§ Экспорт и импорт данных.

§ Интерактивный доступ к справочной информации.

§ Динамическое взаимодействие с внешними системами.

§ Традиционный интерфейс Windows.

MATLAB работает в режиме прямых вычислений и в режиме программирования.

Режим прямых вычислений означает, что вычисления выполняются без составления программы, в режиме диалога «пользователь задал вопрос, система MATLAB ответила»

В режиме прямых вычислений сеанс работы в MATLAB называется – текущей сессией.

Сессия начинается работой в окне командного режима – режим прямых вычислений

     Возможны файлы:

 

.m М-файл Функция MATLAB
.mat Mat-файл Workspace
.mex Script-файл Из других языков
.txt   Фрагмент сессии

Форма представления сессии – текстовый редактор.

В его строках могут находиться:

§ Приглашение для ввода  >>.

§ Вывод результата (символ ; в конце строки блокирует вывод результата или значений переменных);

§ Комментарий (символ % в начале строки означает комментарий);

§ Сообщение об ошибке.

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

Команда Что? Файл?
save сохранить .mat
load загрузить .mat
diary дневник .txt

 

3.4 Окна MATLAB

В MATLAB определены окна:

 

Окно Назначение
1. MATLAB Главное окно системы. Документ, может включать окна 2...7
2. Command Window Командное окно
3. Command History История команд
4. Current Directory Текущий каталог–менеджер файлов
5. Workspace Рабочая область
6. Help Справка
7. Profilier Оптимизация М-файлов
8. M-File Редактор/отладчик М-файла
9. Figure # Графическое окно, # - номер окна
10. Model Окно модели Simulink
11. Simulink Lib Browser Браузер библиотек комплект Simulink
12. Graphic User Interface Графический пользовательский интерфейс

 MATLAB,главное окно

При старте пользователь видит док -  главное окно 1, в котором размещаются до 5 дочерних окон (2...5, 7), число и список которых можно регулировать. Дочерние окна отображаются в панелях дока (их до 4). Если число окон в доке больше 4, то используются вкладки в панелях. Меню и содержание панели инструментов дока совпадает с меню и панелью инструментов окна, выбранного пользователем для работы. Каждое из дочерних можно выделить из дока, как автономное, и разместить произвольно.

Рабочая область
Кнопки установки в главном окне
Командное окно
История команд
Текущий каталог
Главное окно

 

С помощью пункта меню Desktop можно отображать необходимые окна. Каждое из дочерних окон можно выделить из дока, как автономное, и разместить произвольно.

При невозможности установки нужных окон можно использовать команду Desktop \ Desktop Layout \ Default (установка окон по умолчанию).

Command Window (Командное окно)

В этом окне обычно начинается работа в MATLAB.

В окне выводится поясняющий текст для пользователя и символ >> «приглашения» продолжить, за которым пользователь должен писать командную строку, исполняемую после нажатия клавиши <Enter>.

Например:

>> sin(pi/2);

Command History (История команд)

В окне отображается история команд в сеансе.

Для каждой команды указываются дата и имя.

 

Workspace (Рабочая область)

Окно используется для отображения переменных в рабочей области.

Для каждой переменной указываются:

§ Name – имя.

§ Value – значение.

§ Size – размер массива.

§ Min – минимальное значение.

§ Max – максимальное значение.

Если сеанс не начинался, переменных нет, то и окно пустое.

При создании новой переменной из меню MATLAB командой File=>New=>Variable в этом окне появляется новая переменная с именем unnamed (безымянная).

Current Directory (Текущий каталог)

Окно используется для отображения файлов в текущей папке.

Для каждого файла можно указать:

§ Name Files. //Имя файла.

§ File Type     // Тип файла.

§ Size             // Размер

§ Last Modified. // Дата и время последней модификации.

§ Description. // Описание.

 

 

Profilier (профилировщик)

Окно используется для «профилирования» файла (оптимизации М-файлов).

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

 

 

Help – Справка

Окно справки имеет сложную структуру и поэтому выводится командой Help главного меню MATLAB всегда в автономном окне.

Окно справки содержит два поля:

 

§ Help Navigator - Навигатор справки слева. Эта панель содержит 4 вкладки для выбора режима навигации (содержание, индексы, поиск, фавориты).

§ Информация о найденном вопросе справа.

 

 

Редактор, отладчик М-файла

Используется для создания или редактирования М-файлов.

Для вызова окна используется команда меню MATLAB File=>New=>Script (M-file).

 

Figure (Графическое окно)

В MATLAB графики отображаются в автономных окнах. Для вызова окна используется команда меню MATLAB File= > New= > Figure. Окно содержит:

§ Панели инструментов.

§ Объект Axes (Оси) с графиками

 

 

Model (Модель Simulink)

В MATLAB встроена система имитационного моделирования блочно организованных систем Simulink.

Окно браузера содержит две панели:

§ В левой части находится оглавление библиотек.

§ В правой части - содержимое выбранного раздела.

Модель создается в автономном окне, для вызова которого используется команда меню MATLAB File => New => Model.    Генерируется пустое окно.

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

 

После заполнения блоками окно модели видоизменяется:

 

 

GUI   (Графический   пользовательский интерфейс)

Для создания графического интерфейса предназначен специальный редактор GUIDE, вызываемый командой меню MATLAB File => New =>GUI.

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

В примере можно анализировать вид графика поверхности при использовании разных типов графика и данных.

 

4.0 Основные объекты MATLAB

К базовым объектам языка MATLAB относятся:

· Команды,

· Операторы,

· Константы (системные переменные);

· Переменные;

· Функции;

· Выражения

 

4.1. Команды

Команды – это объект языка MATLAB со стандартным именем, предназначенным для взаимодействия с системой MATLAB и имеющий формат:

  <команда> <содержательная часть>

 Имя команды  Уточняется для каждой конкретной команды

Список команд можно посмотреть в справке

Help general

Основные команды MATLAB

Команды Назначение
clc Очистка окна Command Windows
clear Удаление объектов из Workspace
demo Обращение к демонстрационным примерам
format Установка формата вывода данных
help Справка по стандартному объекту MATLAB
load Загрузка файлов с диска в Workspace
save Сохранение на диске объектов Workspace

4.2. Операторы

Оператор – это объект языка MATLAB со стандартным именем, предназначенным для разработки программы. Оператор обозначает определенную операцию над данными – операндами.

Большинство операторов используются в режиме программирования и имеют стандартные имена.

Оператор присваивания =  не имеет стандартного имени и предназначен для работы в обоих режимах.

Оператор явного присваивания имеет формат:

<имя переменной>=<выражение>

Например:

>> a=2*sin(5);

Оператор неявного присваивания имеет формат:

<выражение>

Например:

>> 2*sin(5) % Значение выражения присваивается переменной со стандартным именем ans

В одной строке допускается размещение несколько операторов через запятую.

                                  4.3 Константы и системные переменные

Константа – это объект языка MATLAB, имеющий в процессе вычислений неизменное значение.

Константы имеют определенное числовое или символьное значение, представленное уникальным именем. 

Различаются следующие типы констант:

· Численные – принимают численные значения;

        − целые,

        − вещественные,

        − комплексные,

· Логические – принимающие значение 1 (true) или 0 (false);

· Символьные – последовательности символов, заключенные в апострофы, например,: ‘ MATLAB ‘

 Системные переменные задаются системой при ее загрузке, имеют уникальное имя и могут переопределяться при необходимости.

Основные системные переменные:

i   или j   мнимая единица

    pi          число p=3,1415926…

    eps     погрешность операций над числами с плавающей точкой (2-52)

    inf     значение машинной бесконечности

    ans      переменная, хранящая результат последней операции.

    Nan      не число

    realmin наименьшее положительное число

    realmax наибольшее положительное число

Примеры:

>> 2*pi

ans =

6.2832              % обычный формат

>> eps

ans =

2.2204e-016       % показательный формат

>> 5 + 3.75j ;         % комплексное число в обычном формате

>> realmin

ans =

2.2251e-308

>> realmax

ans =

1.7977e+308

>> 1/0

ans =

Inf

 

4.4 Переменные

Переменные – это объект языка MATLAB, который в процессе вычислений может менять свое значение.

Различаются следующие типы переменных:

· Числовые – принимают численные значения;

        − целые,

        − вещественные,

        − комплексные,

· Нечисловые, к которым относятся массивы

        − символов,

        − записей (структуры),

        − ячеек,

        − логические.

. В зависимости от значения данных переменные могут быть:

- числовые,

- символьные,

- векторные,

- матричные.

Число – объект языка, представляющий количественные данные. Могут быть:

целые, дробные, с фиксированной и плавающей точкой. Примеры задания чисел:

Действительные                                          Комплексные

2                                                                     3i

-3                                                                    2j

2.301                                                              2+3i

0.0001                                                                -3.131i

123.45е-20                                                    -12.34+3.7е-3i

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

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

<Имя_перемнной> = <Выражение>

 

Операции над числами выполняются в формате с двойной точностью.

ывод результата по умолчанию в нормализованной форме: с четырьмя цифрами после десятичной точки и одной до неё. Но может быть представлен в других форматах:

>> X=[4/3 1.2345e-6]

>> format short                            % короткое представление (5 знаков после зпт)

X =

1.3333 0.0000

>> format short e % короткое представление (5 знаков мантиссы и 3 знака порядка) 

X =

1.3333e+000 1.2345e-006

>> format long                             % длинное представление (15 знаков после зпт)

X =

1.333333333333333 0.000001234500000

>> format long e % длинное представление (15 знаков мантиссы и 3 знака порядка)

X =

1.333333333333333e+000 1.234500000000000e-006

>> format bank                             % представление для денежных единиц

X =

1.33     0.00

 

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

Требования к идентификаторам:

- содержит любые буквы латинского алфавита (строчные и прописные буквы различаются),

- длина имени любая (но идентифицируется только 31начальный символ),

- начинается имя с буквы,

- можно использовать символ подчеркивания,

- не содержит пробелов и специальных знаков,

- имя должно быть уникальным и не совпадать со стандартными именами команд, функций.

Значения символьных переменных заключаются в апострофы, например,: ′Demo′.


Дата добавления: 2021-03-18; просмотров: 119; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!