Учебное пособие для студентов высших учебных заведений
Скачать 5.41 Mb.
|
MATLAB Demo Window (рис. 3.19), в котором в интерактивном режиме можно ознакомиться с примерами применения основных процедур системы MatLAB, ее вычислитель- ными и графическими возможностями, а также с текстами программ, с помощью которых достигаются демонстрируемые результаты. Команда About MATLAB вызовет появление на экране логотипа системы MatLAB. 3.1. Функции меню камандного окна 154 Рис. 3.18 Рис. 3.19 3.2. Команды общего назначения 155 3.1.3. Панель инструментов Кроме линейки главного меню в командном окне MatLAB ниже ее может располагаться так называемая панель или линейка инструментов (см. рис. 3.1). Панель инструментов содержит десять пиктограмм, которые дублируют наиболее употребляемые команды главного меню командного окна. Первая слева пиктограмма вызывает пустое окно установленного текстово- го редактора системы, то есть ее действие эквивалентно выбору команды New M- file (Создать новый М-файл). Выбор второй пиктограммы эквивалентно действию команды Open M-file (Открыть существующий М-файл). Третья пиктограмма выполняет ту же функцию, что и команда Cut (Вырезать). Четвертая – анало- гична команде Copy (Скопировать). Пятая - команде Paste (Вставить). Шестая пиктограмма действует как команда Undo (Возвратиться к предыдущей команде). Седьмая выполняет команду Show Workspace (Показать рабочее пространство). Восьмая - команду Set Path (Установить путь доступа). Действие девятой пикто- граммы такое же, как у команды New Model, то есть она подготавливает систему к созданию новой Simulink-модели. Наконец, десятая пиктограмма эквивалентна команде Help Window. Если установить курсор мыши на соответствующую пиктограмму, рядом с ней со временем появится название той команды, которую эта пиктограмма вы- полняет. Чтобы активизировать пиктограмму, следует подвести к ней курсор и нажать левую клавишу мышки. 3.2. Команды общего назначения Команды общего назначения набираются с клавиатуры. Текст их возникает в командном окне по мере набора рядом со знаком приглашения (>>). Выполня- ются они после нажатия клавиши Эти команды удобно разделить на такие группы: 1) управляющие команды и функции; 2) команды управления переменными и рабочим пространством; 3) команды работы с файлами и операционной системой; 4) команды управления командным окном; 5) команды запуска и выхода с MatLAB; 6) команды получения общей информации. Рассмотрим вкратце некоторые из этих команд и функций. Управляющие команды и функции: help - вывод на экран первых строк описания указанной программы или функции; what - вывод на экран перечня имен M-, MAT- и MEX-файлов в теку- щей папке; type - вывод на экран текста указанного М-файла; lookfor - поиск программы (функции) по указанному ключевому слову; 3.2. Команды общего назначения 156 which - вывод на экран полного пути расположения указанной функции или файла; demo - запуск программы демонстрации возможностей MatLAB; path - вывод на экран полного перечня путей поиска файлов MatLAB по умолчанию. Команды управления переменными и рабочим пространством: who - вывод на экран перечня текущих переменных; whos - расширенная форма представления перечня текущих переменных; load - загрузка в рабочее пространство значений переменных из указан- ного файла на диске; save - запись значений переменных рабочего пространства в указанный файл на диске; clear - очистка памяти ПК от переменных и функций; pack - уплотнение памяти рабочего пространства; size - определение размеров двумерного массива; length - определение длины одномерного массива; disp - вывод на экран матрицы или текста. Команды работы с файлами и операционной системой: cd - заменить текущий каталог на указанный; dir - вывести на экран листинг указанной папки; delete - уничтожить (стереть) указанный файл; getenv - вывести значение параметров окружения (среды); ! - выполнить как команду операционной системы (применяется по- сле указания команды операционной системы) unix - выполнить как команду операционной системы и вывести резуль- тат; diary - записать текст командного окна в дневник MatLAB. Команды управления командным окном: cedit - установить командную строку редактора клавиш; clc - очистить командное окно; home - перевести курсор на начало страницы; format - установить указанный формат вывода чисел на экран; echo - установить или отменить режим эхопечати текста выполняемой программы; more - установить режим постраничного вывода текста на экран команд- ного окна. 3.3. Создание М-книги 157 Команды запуска и выхода с MatLAB: quit - выйти с MatLAB; startup - запуск MatLAB через М-файл "startup"; matlabrc - запуск главного стартового M-файла. Команды получения общей информации: info - получение информации про MatLAB и фирму MathWorks, Inc.; subscribe - подписка по Internet как пользователя MatLAB; whatsnew - информация о новых особенностях, которые не вошли в доку- ментацию; version - информация о поставленной версии MatLAB; ver - информация о версиях всех программных продуктов, которые входят в поставленный комплект системы MatLAB. 3.3. Создание М-книги Очень полезным и привлекательным свойством системы MatLAB является возможность создания текстовых документов в среде редактора Word с одновре- менным проведением в нем вычислений с помощью системы MatLAB и фикси- рованием результатов вычислений (в том числе - графиков) в тексте документа Word. Благодаря этому можно создавать сложные научно-расчетные и инженер- ные текстовые документы непосредственно в редакторе Word. Средством, которое позволяет это сделать, является пакет NoteBook, вхо- дящий в систему MatLAB. Этот пакет связывается с редактором Word с помо- щью специального Word-шаблона, который содержится в системе MatLAB. Для того чтобы можно было создавать М-книги, нужно, чтобы этот шаблон, носящий имя M-book. dot, был предварительно подсоединен к редактору Word. 3.3.1. Начало новой М-книги Чтобы приступить к написанию новой М-книги, нужно: 1) запустить редактор Word; 2) выбрать в диалоговом окне Word опцию New из меню File; 3) в окне, которое появится на экране, выбрать шаблон M-book. В результате этих действий будет запущена система MatLAB, и вид глав- ного меню редактора Word несколько изменится - в нем появится новое меню Notebook. Это и будет свидетельствовать, что к Word присоединена система MatLAB. Если теперь с помощью мыши активизировать меню Notebook окна Word, на экране появится дополнительное меню (рис. 3.20). 3.3. Создание М-книги 158 Рис. 3.20 3.3.2. Написание М-книги Написание М-книги связано с набором текста, а также операторов и ко- манд MatLAB. Введение текста осуществляется по обычным правилам редактора Word. Чтобы ввести и выполнить команду MatLAB, необходимо: 1) написать текст команды в виде отдельной строки; 2) после набора строки с командой не нажимать клавишу 3) выбрать команду Define Input Cell (Определить Входную Ячейку) в ме- ню Notebook (см. рис. 3.20), или нажать клавиши 4) выбрать мышкой команду Evaluate Cell (Вычислить ячейку), или нажать комбинацию клавиш Результаты выполнения команды выводятся, синим цветом и взяты в квад- ратные скобки. Приведем пример. Пусть вы набрали в Word строку 3.3. Создание М-книги 159 A = [1 2 3; 4 5 6; 7 8 9] Тогда после нажатия [ A = [1 2 3; 4 5 6; 7 8 9] ] а после нажатия [ A = 1 2 3 4 5 6 7 8 9 ] Если желательно выполнить несколько команд MatLAB одну за другой, на- берите их несколькими строками по правилам написания текста программ, выде- лите эти строки, как это делается при копировании части текста в Word, и по- вторите вышеупомянутые действия. Например: t = 0 : pi/10:2*pi; [X,Y,Z] = cylinder(4*cos(t) + 1); mesh(X,Y,Z) Результатом будет появление трехмерного графика (рис. 3.21). Рис. 3.21 Чтобы оставить в тексте документа введенные команды и выведенные ре- зультаты, нужно: 1) поместить курсор мышки в одну из строк выполненной команды; 2) выбрать команду Undefine Cells из меню Notebook или нажать комби- нацию клавиш В результате все символы, как введенных команд, так и результатов их вы- полнения приобретут обычный для текста Word стиль, цвет и размеры, и исчезнут квадратные скобки, которые их окаймляли. 3.3. Создание М-книги 160 3.3.3. Редактирование М-книги Чтобы откорректировать существующую М-книгу или внести в ее какие-то дополнения, надо выполнить одно из следующих действий: войти в редактор Word и открыть, используя команду Open из меню File окна Word, файл М-книги, которую нужно корректировать; войти в редактор Word и выбрать нужный файл с М-книгой из перечня последних документов в нижней части нисходящего меню File; дважды "щелкнуть" мышью на документ М-книги. Редактор Word откроет документ, используя шаблон M-book, запустит сис- тему MatLAB, если она не была до этого активной, и добавит меню Notebook в окно Word. 3.3.4. Преобразование документа Word в М-книгу Чтобы превратить ранее созданный документ Word в М-книгу, необходимо сделать следующее: 1) в редакторе Word создать новую (пока пустую) М-книгу; 2) в меню Insert ("Вставка") редактора Word выбрать команду File; 3) выбрать в появившемся окне Вставка файла, файл, который нужно пре- вратить в М-книгу, и нажать клавишу "Enter". 3.3.5. Некоторые особенности использования системы MatLAB При написании М-книг следует учитывать некоторые особенности исполь- зования системы MatLab в среде редактора Word: можно пользоваться всеми возможностями системы MatLAB, доступ- ными ей в режиме калькулятора (непосредственных вычислений); нельзя пользоваться Script-файлами, то есть готовыми М-про- граммами, а также процедурами и функциями, доступными лишь при работе с Script-файлами (например, процедурами создания меню и т.п.). Последнее ограничение не является важным. Его можно обойти, если вос- пользоваться командой Bring MATLAB to Front (Вывести MatLAB на передний план) из меню Notebook. В этом случае командное окно MatLAB выйдет на экране на первый план, и в нем уже можно осуществлять любые операции MatLAB. Естественно, результа- ты выполнения этих операций уже не будут автоматически записываться в текст М-книги. Они будут возникать как обычно в соответствующих окнах MatLAB. Используя обычные операции перенесения текста и графических изображений из одного окна Windows в другое, можно их перенести в текст М-книги. 3.3.6. Изменение параметров вывода результатов В меню Notebook есть команда Notebook Options, которая позволяет уста- навливать некоторые параметры оформления результатов в М-книге по усмотре- 3.3. Создание М-книги 161 нию пользователя. Если эту команду активизировать с помощью мыши, на экране возникнет окно, представленное на рис. 3.22. Как видно, это окно позволяет устанавливать в интерактивном режиме: формат вывода чисел в Word (область Numeric Format); более или менее плотный вывод строк (та же область, переключатели Loose и Compact); размеры выведенных в окно Word графических изображений (область Figure Options); выводить или нет графические изображения, получаемые при работе MatLAB, в текст М-книги (опция Embed Figure in M-book); использовать при выводе графических изображений в М-книгу 16 цветов (опция Use 16-Color Figures), или 256 цветов. Рис. 3.22 Когда все установки сделаны, надо "нажать" кнопку "Ok" и в дальнейшем эти установки заработают. В заключение заметим, что это учебное пособие написано именно как М- книга. 3.1. Основные классы объєктов 162 4. Классы вычислительных объектов Классом в MatLAB принято называть определенную форму представления вычислительных объектов в памяти ЭВМ в совокупности с правилами (процеду- рами) их преобразования. Класс определяет тип переменной, а правила - операции и функции, которые могут быть применены к этому типу. В свою очередь, тип определяет объем памяти, которая отводится записи переменной в память ЭВМ и структуру размещения данных в этом объеме. Операции и функции, которые мо- гут быть применены к определенному типу переменных, образовывают методы этого класса. 4.1. Основные классы объектов В системе MatLAB определены шесть встроенных классов вычислительных объектов: - double - числовые массивы и матрицы действительных или комплексных чисел с плавающей запятой в формате двойной точности; - sparse - двумерные действительные или комплексные разреженные матри- цы; - char - массивы символов; - struct - массивы записей (структуры); - cell - массивы ячеек; - uint8 - массивы 8-битовых целых чисел без знаков. Класс double определяет наиболее распространенный тип переменных в системе MatLAB, с которыми оперирует большинство функций и процедур. Класс char определяет переменные, которые являются совокупностью символов (каж- дый символ занимает в памяти 16 битов). Эту совокупность часто называют строкой. Класс sparse определяет тип переменных, которые являются разрежен- ными матрицами двойной точности. Разреженная структура применяется для хра- нения матриц с незначительным количеством ненулевых элементов, что позволяет использовать лишь незначительную часть памяти, необходимой для хранения полной матрицы. Разреженные матрицы требуют применения специальных мето- дов для решения задач. Переменные класса cell (ячейки) являются совокупностью некоторых других массивов. Массивы ячеек позволяют объединить связанные данные (возможно, разных типов и размеров) в единую структуру. Объекты клас- са struct состоят из нескольких составляющих, которые называются полями, каж- дое из которых носит собственное имя. Поля сами могут содержать массивы. По- добно массивам ячеек, массивы записей объединяют связанные данные и инфор- мацию о них, однако способ обращения к элементам структуры (полям) принци- пиально иной - путем указывания имени поля через точку после имени структуры. Наконец, класс uint8 позволяет сохранять целые числа от 0 до 255 в 1/8 части па- мяти, необходимой для чисел двойной точности. Никакие математические опера- ции для этого класса данных не определены. 3.1. Основные классы объєктов 163 Каждому типу данных соответствуют собственные функции и операторы обработки, т. е. методы. Приведем некоторые из них: - класс array (обобщенный класс объектов-массивов, являющийся прароди- телем всех упомянутых встроенных классов) имеет такие методы: определение размеров (size), длины (length), размерности (ndims), объединение массивов ([a b]), транспонирование (transpose), многомерная индексация (subindex), переоп- ределение (reshape) и перестановка (permute) измерений многомерного массива; - методы класса char (строки символов) - строковые функции (strcmp, lower), автоматическое преобразование в тип double; - методы класса cell - индексация с использованием фигурных скобок {e1,...en} и разделением элементов списка запятыми; - методы класса double - поиск (find), обработка комплексных чисел (real, imag), формирование векторов, выделение строк, столбцов, подблоков массива, расширение скаляра, арифметические и логические операции, математические функции, функции от матриц; - методы класса struct - доступ к содержимому поля ( . field) (разделитель элементов списка - запятая); - в классе uint8 - единый метод - операция сохранения (чаще всего приме- няется с пакетом Image Processing Toolbox). 4.1.1. Класс символьных строк (char) Введение строк символов из клавиатуры осуществляется в апострофах. На- пример, вводя совокупность символов |