Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Общие сведения о MATLAB






АВТОМАТИЗИРОВАННОЕ ПРОЕКТИРОВАНИЕ.

РАБОТА В СИСТЕМЕ MATLAB

 

 

 

Красноярск 2008

УДК 32.973.26.-018.2

П 12

 

Автоматизированное проектирование. Работа в системе MATLAB: Лабораторный практикум для студентов по направлению 190100.62 – «Наземные транспортные системы» и по специальности 230103 – «Техническая эксплуатация транспортных и технологических машин и оборудования (дорожные и коммунальные машины)» / В.П. Павлов. – Красноярск: ПИ СФУ, 2008. 31 с.

 

 

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

СОДЕРЖАНИЕ

Общие сведения о MATLAB

Часть 1

Лабораторная работа 1.

Математика и вычисления..................................... 19

Лабораторная работа 2.

Научная и инженерная графика............................... 21

Лабораторная работа 3.

Вычислительный эксперимент, программирование, разработка приложений....................................................23

Лабораторная работа 4.

Кинематика процесса копания грунта поворотом ковша экскаватора... 25

Часть 2

Лабораторная работа 5.

Оценка копающей способности экскаватора при разработке грунтов различной прочности...................................

Лабораторная работа 6.

Моделирование производительности одноковшового экскаватора........

Лабораторная работа 7.

Создание экспертной системы. Алгоритм Мамдани....................

Общие сведения о MATLAB

Сейчас возможности системы значительно превосходят возможности первоначальной версии матричной лаборатории Matrix Laboratory. Нынешний MATLAB, детище фирмы The MathWorks, Inc., – это высокоэффективный язык инженерных и научных вычислений. Он поддерживает математические вычисления, визуализацию научной графики и программирование с использованием легко осваиваемого операционного окружения. Наиболее известные области применения системы MATLAB:

математика и вычисления;

разработка алгоритмов;

вычислительный эксперимент, имитационное моделирование, макетирование;

анализ данных, исследование и визуализация результатов;

научная и инженерная графика;

разработка приложений, включая графический интерфейс пользователя.

MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками.

Версия MATLAB 6.1 - это предпоследнее достижение разработчиков (последнее - MATLAB 6.5).

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

Операционная среда системы MATLAB 6.1. Операционная среда системы MATLAB 6.1 - это множество интерфейсов, которые поддерживают связь этой системы с внешним миром через диалог с пользователем через командную строку, редактор М-файлов, взаимодействие с внешними системами Microsoft Word, Excel и др.

После запуска программы MATLAB на дисплее компьютера появляется её главное окно, содержащее меню, инструментальную линейку с кнопками и клиентскую часть окна со знаком приглашения . Это окно принято называть командным окном системы MATLAB (рис. 1).

 

Рис.1

 

Рис. 2.

 

Меню Файл (рис. 2) объединяет обычные функции: Правка отвечает за изменение содержания Окна команд (отмена, повтор, вырезать, копировать, вставить, выбрать всё, удалить и др.) и за очистку некоторых окон MATLAB; меню Вид – за оформление Рабочего стола; меню Web – запускает Web-страницы из Internet; меню Окно – работает с редактором/отладчиком М-файлов (закрывает все М-файлы, делает текущим один из них); меню Помощь – работает со справочной документацией и демонстрациями.

Особого рассмотрения заслуживает опция Предпочтения... (выбор характеристик), которая при выборе открывает окно, включающее слева дерево объектов (рис. 3), а справа их возможные характеристики.

Инструментальная панель командного окна системы MATLAB позволяет обеспечить простой доступ к операциям над М-файлами: создание нового М-файла; открытие существующего М-файла; удаление фрагмента; копирование фрагмента; вставка фрагмента; восстановление только выполненной операции и др.

В клиентской части командного окна MATLAB после знака приглашения можно вводить различные числа, имена переменных и знаки операций, что в совокупности составляет некоторые выражения. Нажатие клавиши Enter заставляет систему MATLAB вычислить выражение или, если оно не вычисляется, повторить его. Хотя знак «;» в конце строки гасит вывод результата (эхо-вывод).

Пример.

> > a=2

a =

> > b=4;

> > с=a+b

с =

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

Итак, были подвергнуты разбору структурные части командного окна MATLAB. Но кроме них существуют ещё несколько элементов MATLAB, которые помогают при работе:

Команды - окно, содержащее по порядку введённые ранее команды в Окне команд («история команд»).

Рабочая область – это область памяти MATLAB, в которой размещены переменные системы. Содержимое этой области можно просмотреть из командной строки с помощью команд who (выводит только имена переменных) и whos (выводит информацию о размерах массивов и типе переменной) или в отдельном окне под тем же названием. В нём можно выполнить следующие операции: загрузить файл данных, сохранить Рабочую область как (команды позволяют открыть и сохранить содержимое рабочей области в двоичном MAT-файле), удалить выбранные переменные; открыть выбранные переменные (где можно изменить их значение). Кроме этого в меню Правка можно очистить как Окно команд и Историю команд, так и Рабочую область (или выполнить команду в Окне команд: clear).

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

Пример.

> > save

Saving to: matlab.mat

> > load

Loading from: matlab.mat

> > save my.mat

> > load my.mat

> > save my2

> > load my2

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

Запустить Редактор – окно, отражающее дерево структурных элементов MATLAB и других установленных вместе с ним программных средств, которые можно запускать двойным левым щелчком мыши. Например, это окно может выглядеть, как показано на рис 9.

Редактор/отладчик М-файлов – один из важнейших структурных частей MATLAB, который может быть открыт выбором соответствующей опции в главном меню, на инструментальной панели или вызван из командной строки командой edit или edit < имя М-файла> и позволяющий создавать и редактировать М-файлы.

Редактор/отладчик поддерживает следующие операции: создание нового М-файла; открытие существующего М-файла; сохранение М-файла на диске; удаление фрагмента; копирование фрагмента; вставка фрагмента; помощь; установить/удалить контрольную точку; продолжить выполнение и др.

GUIDE – графический интерфейс пользователя, в котором происходит создание законченных приложений.

Интерактивный сеанс работы. М-файлы. Интерактивный режим – это пользовательский режим ввода с клавиатуры команд и выражений, в результате выполнения которых получаются необходимые числовые результаты, которые можно легко и быстро визуализировать встроенными графическими средствами пакета MATLAB. Но использование этого режима для создания и сохранения конкретной программы невозможно. Поэтому создатели MATLAB кроме Окна команд, в котором реализован интерактивный режим, выделили специальные файлы, содержащие коды языка MATLAB, и назвали M-файлами (*.m). Для создания M-файла используется текстовый редактор (редактор/отладчик М-файлов).

Работа в редакторе M-файлов. Работа из командной строки MatLab затрудняется, если требуется вводить много команд и часто их изменять. Самым удобным способом выполнения команд является использование M -файлов, в которых можно набирать команды, выполнять их все сразу или частями, сохранять в файле и использовать в дальнейшем. Для работы с M -файлами предназначен редактор M -файлов. При помощи редактора можно создавать собственные функции и вызывать их, в том числе и из командной строки.

Раскройте меню File основного окна MatLab и в пункте New выберите подпункт M-file. Новый файл открывается в окне редактора M -файлов (рис. 10). Запишем в файл программу вычисления среднего арифметического пере-

Рис. 10

менных a и b, затем сохраним с именем fun1.m. Сравните способы решения задачи, представленные в таблице.

   
> > a = 7.5; b = 3.342; c = (a+b)/2 c = 5.4210 > > fun1 c = 5.4210

 

Пример. Создание двух графиков в одном окне Figure. В окне редактора напишем текст программы и сохраним с именем fun2.m. После выполнения команды > > fun2 а окне Figure отображаются два графика (рис. 11).

 

Содержание файла fun2.m
x=[0: 0.1: 7]; f=exp(-x); subplot(1, 2, 1) plot(x, f) g=sin(x); subplot(1, 2, 2) plot(x, g)

Рис. 11

 

 

Существует два типа M-файлов: М-сценарии и М-функции со своими характеристиками. Рассмотренные выше примеры fun1 и fun2 относятся к М-сценариям.

М-сценарий:

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

2. Не использует входных и выходных аргументов.

3. Оперирует с данными из рабочей области.

4. Структура М-сценария в отличие от М-функции не включает строку определения функции.

5. Запуск из Редактора/Отладчика выбором соответствующего пункта меню (Отладка/Запуск) или нажатием F5.

М-функция:

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

2. Использует входные и выходные аргументы.

3. По умолчанию, внутренние перемен­ные являются локальными по отношению к функции.

1) Строка определения функции задаёт имя, количество и порядок следования входных и выходных аргументов.

Например: function y = funa(x, a), где function - ключевое слово, определяющее М-функцию; y - выходной аргумент; funa - имя функции; x, а - входные аргументы.

Если функция имеет более одного выходного аргумента, список выходных аргументов помещается в квадратные скобки: function [x, y, z] = funb(t, p, r).

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

2) Комментарий выводится на экран после знака % в любом месте. Первая строка комментария отражается в Окне команд, когда пользователь запускает команду help < имя_функции>.

3) Тело функции - это программный код, который реализует вычисления и присваивает значения выходным аргументам.

Пример.

 

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

При оперировании с М-файлами можно использовать следующие команды: вывести на экран имена файлов текущего каталога: what; вывести на экран текст M-файла fact.m: type fact.

Типы данных в MATLAB. Самое важное в структуре М-файлов это тело М-функции или М-сценария, которое содержит код языка MATLAB и выполняет вычисления и присваивает значения выходным аргументам. Операторы в теле функции или сценария могут состоять из вызовов функций, программных конструкций для управления потоком команд, интерактивного ввода/вывода, вычислений, присваиваний, комментариев и пустых строк. Но самое главное сначала разобраться с типами данных в MATLAB, а уже потом рассматривать синтаксис и построение М-языка.

В системе MATLAB определено шесть базовых типов данных, каждый из которых является многомерным массивом. Шесть классов - это double, char, sparse, uint8, cell, и struct. Двумерные версии этих массивов называются матрицами, откуда MATLAB и получил свое имя МАТричная ЛАБоратория.

Чаще всего приходится иметь дело только с двумя из этих типов данных: массив чисел удвоенной точности (double) и массив символов (char) или просто строка. Это связано с тем, что все вычисления в системе MATLAB выполняются с удвоенной точностью и большинство функций работают с массивами чисел удвоенной точности или строками.

Рабочая область MATLAB при введении переменных, описанных в таблице, представлена на рис. 10.

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

Обратите внимание, что тип array (массив) находится в вершине схемы. Это означает, что все данные системы MATLAB являются массивами (тип array является виртуальным).

Каждому типу данных можно соотнести свои функции и операторы обработки, или другими словами, методы. Дочерние типы данных, расположенные на диаграмме ниже родительского типа, поддержаны также и методами родителя. Следовательно, массив типа double поддержан методами, применяемыми для виртуального типа данных - numeric.

Переменные в MATLAB. Как и любая среда программирования, MATLAB оперирует с переменными, причём она различает заглавные и прописные переменные. То есть х и Х – совершенно разные переменные.

Переменные не надо объявлять заранее как в стандартных языках, но, как и в них, в среде системы MATLAB некоторые заложенные М-функции возвращают специальные переменные, которые играют важную роль при работе. Например, ans - последний результат, если выходная переменная не указана; pi - cпециальная переменная для числа «пи»: pi=3.141592653589793e+000; inf - специальная переменная для обозначения символа бесконечности; NaN - специальная переменная для обозначения неопределенного значения - результата операций типа: 0/0, inf/inf.

Соответствующие М-функции, генерирующие эти специальные переменные, находятся в каталоге MATLAB/toolbox/matlab/elmat и поддержаны online-подсказкой.

Особенности работы с числовыми массивами.

1) Элемент массива А, расположенный на пересечении строки i и столбца j, обозначается как А(i, j). Если будет сделана попытка обратиться к элементу вне матрицы, то программа выдаст ошибку, если же выполняется присвоение значения элементу с индексами, выходящими за пределы массива, то система MATLAB автоматически увеличивает размер матрицы и неизвестным элементам присваивает значение ноль.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.