Министерство образования Российской Федерации ––––––– САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ О.Р.Рыкин Л.С.Чечурин ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ Основы анализа и синтеза линейных динамических систем Лабораторный практикум в среде пакета Матлаб 6.5 Санкт-Петербург Издательство СПбГПУ 2004
84
Embed
Российской Федерации ПЕТЕРБУРГСКИЙ …web.kpi.kharkov.ua/auts/wp-content/uploads/sites/67/2017/02/SCS... · 4 Пример 1.Передаточная
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Министерство образования Российской Федерации –––––––
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
О.Р.Рыкин Л.С.Чечурин
ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ
Основы анализа и синтеза линейных динамических систем
Лабораторный практикум в среде пакета Матлаб 6.5
Санкт-Петербург Издательство СПбГПУ
2004
Министерство образования Российской Федерации –––––––
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
О.Р.Рыкин Л.С.Чечурин
ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ
Основы анализа и синтеза линейных динамических систем
Лабораторный практикум в среде пакета Матлаб 6.5
Санкт-Петербург Издательство СПбГПУ
2004
УДК 62.50; 534.1 (076.5)
ББК 32.965 я73
Р 941
Рыкин О.Р., Чечурин Л.С. Теория автоматического управления. Основы
анализа и синтеза линейных динамических систем. Лабораторный практикум
в среде пакета Матлаб 6.5. СПб.: Изд-во СПбГПУ, 2004. 78с.
ISBN 5-7422-0621-6
Пособие соответствует государственному образовательному стандарту
дисциплины «Теория автоматического управления» по группе направлений
подготовки бакалавров 550000 «Технические науки» и магистров 650000
«Техника и технологии».
Рассмотрены вопросы расчета и исследования линейных динамических
систем, описываемых передаточными функциями. Главное внимание уделено
получению и закреплению практических знаний и навыков работы в среде
пакета Матлаб 6.5.
Предназначено для организации и проведения лабораторных работ по
курсу «Теория автоматического управления», изучаемому студентами
четвертого курса Института инноватики СПбГПУ специальности
«Инноватика» в рамках программ подготовки бакалавров (553800) и
магистров (658200).
Табл. 10. Ил. 34. Библиогр.: 4 назв.
Печатается по решению редакционно-издательского совета Санкт-
Петербургского государственного политехнического университета.
Значения спецификатора кривой в команде plot Тип линии Тип точки Цвет линии
- Сплошная (по умолч.) . Точка Y Желтый - - Штриховая 0 Окружность М Фиолетовый : Точечная х Крест С Голубой -. Штрих-пунктирная + Плюс R Красный * Звездочка G Зеленый S Квадрат В Синий D Ромб 1 U Белый V Треугольник (вниз) К Черный
А Треугольник (вверх) < Треугольник (влево) > Треугольник (вправо) Р Пятиугольник н Шестиугольник
Рис.1.2. Амплитудно-фазовая характеристика, построенная по командам рис.1.1 Над-пись оси Х выделена для редактирования (нажатием левой клавиши мышки (ЛКМ) на ней при нажатой кнопке на окне фигуры): возможности редактирования представляются на панели (щелчок ПКМ на объекте редактирования): string – открытие редактирования
1. Характеристики строятся в полулогарифмических координатах (ось Х
– логарифмическая, ось Y – естественная) с использованием функции
semilogx, у которой правила ввода аргументов и значений спецификатора
кривой аналогичны функции plot (см. примечания к рис.1.1 и табл.1.1).
2. В силу особенностей функции Матлаба atan(x) = arctg(x) (выдаются
значения только в диапазоне от -π/2 до π/2), функция ar(w), набирается в
виде двух выражений (см. рис.1.3).
3. Каждая характеристика набирается отдельным графиком, и ввод
заканчивается командой hold on, обеспечивающей вывод последующего
графика в то же (текущее) окно рисунка.
4. Из набранных осевых надписей Матлаб выводит только последние
(ar2 и log(w2)). Для вывода всех необходимых надписей (как показано на
рис.1.4) следует:
в окне Figure No.1 командой меню Edit/Axes Properties вызвать окно
редактора заголовка и осевых надписей (рис.1.5) (Property Editor) и ввести
необходимые тексты; кнопки Edit рядом с каждым оконцем позволяют
менять у текста тип шрифта и его параметры;
нажатием кнопки «А» и щелчком левой кнопки мышки ввести
текстовое поле (с последующим вводом текста) для пометки выбранной
кривой (стрелка вставляется нажатие кнопки со стрелкой с последующим
вычерчиванием линии левой кнопкой мышки).
8
5. Последние две строки на рис.1.3 – это сообщение Матлаба, которое
игнорируется.
Рис.1.3. Первые 6 строк – построение лог. АЧХ LР(w) по (10). Строки 8…10 и 12…15 – построение ФЧХ ar1(w1) и ar2(w2) по (11). Команда hold on обеспечивает вывод но-
вого графика на предыдущий, характеристики на рис.1.4.
Рис.1.4. Расчетные логарифмические частотные характеристики LР(w) и arР(w) – со-
гласно формулам (10) и (11), построенные командами рис.1.3.
» k=12;z=0.1;T=1; w=0.1:0.01:10; L=20.*log10(k./sqrt((2.*T.*z.*w).^2+(1-T.^2.*w.^2).^2)); semilogx(w,L,'-B'),grid on title('L=20log10(k./sqrt((2.*T.*z.*w).^2+(1-T.^2.*w.^2).^2)''ar=-
(180./pi).*atan(2.*T.*z.*w./(1-T.^2.*w.^2));k=12;z=0.1;T=1'), xlabel('log(w)'),ylabel('L') hold on w1=0.1:0.01:1; ar1=-(180./pi).*atan(2.*T.*z.*w1./(1-T.^2.*w1.^2)); semilogx(w1,ar1,'-K') xlabel('log(w1)'),ylabel('ar1') hold on w2=1:0.01:10; ar2=-180-(180./pi).*atan(2.*T.*z.*w2./(1-T.^2.*w2.^2)); semilogx(w2,ar2,'-K') xlabel('log(w2)'),ylabel('ar2') Warning: Divide by zero. Warning: Divide by zero. »
Работа 1. Частотные характеристики звеньев САУ 9
Рис.1.5. Окно редактора свойств(вызывается из меню окна фигуры командой
Edit/Axes Properties). А – вкладка для редактирования надписи оси Х; Б – вкладка для ре-
дактирования заголовка рисунка (переход к ней: вкладка Style/кнопка Properties/вкладка
Text; обратный переход к исходной вкладке производится повторным нажатием кнопки
возврата в правом верхнем углу окна)
1.3. Снятие модельных частотных характеристик звена AМД(w) и arМД(w) в инструментарии Симулинк пакета Матлаб 6.5
1.3.1. Описание модельного стенда (см. рис. 1.7) Блоки модели:
Генератор колебаний – задает входное воздействие для исследуемого звена
через панель параметров блока (вызывается двойным щелчком ЛКМ (левой
кнопки мыши) на блоке).
Ступенчатое воздействие – для исследования характеристик переходного
процесса на выходе исследуемого звена.
Передаточная функция – блок моделирования передаточной функции звена
или САУ (вместо линейного блока может быть вставлен блок,
моделирующий нелинейную САУ). Ввод W(s) производится через панель
параметров (см. рис.1.6) путем набора коэффициентов числителя и
знаменателя передаточной функции, отделяемых друг от друга пробелами.
А Б
10
Рис.1.6 (справа). Панель набора
передаточной функции САУ (через
коэффициенты ее числителя и зна-
менателя)
Рис.1.7. Окно модельного стенда «taulab1d» для измерения частотных и переходных характеристик САУ. (Приведены данные измерений и пара-метры моделирования для синусои-дального воздействия с амплитудой 1 и частотой w = 6 рад/с.)
знаменатель
числитель
Двойной щелчок ЛКМ на блоке
Команда «Simulation pa-rameters» или кн. Ctrl + E.
Характеристики блоков модели шрифт, цвет, положение
Параметры моделирования (см. ниже панель Param. taulab1d)
Кнопки пуска и останова моделирования
Двойной щел-чок ЛКМ на
Работа 1. Частотные характеристики звеньев САУ 11
Scope 1 – осциллограф для контроля процессов моделирования (верхнее окно
– вход звена, нижнее – выход). Из нижней осциллограммы видно, что
результаты измерений становятся достоверными после затухания
переходного процесса начала моделирования на 35 секунде.
1.3.2. Снятие модельных характеристик AМД(w) и arМД(w) Модельные характеристики снимаются в диапазоне частот от 0,1/Т до 10/Т
(Т – постоянная времени звена) по 5 частот в каждом диапазоне 0,1/Т÷1/Т и
1/Т ÷ 10/Т.
Правила снятия характеристик
1. В командном окне Матлаба нажатием кнопки Simulink вызовите
окно моделирования, а в нем через кнопку Открыть и «Просматриватель
папок» вызовите Симулинк-файл модельного стенда «taulab1d» из вашей
папки TAULabD (см. Приложение 2 к Методуказанию). Установите вашу
передаточную функцию в блок Передаточная функция, для чего двойным
щелчком ЛКМ вызовите панель установки параметров и введите
коэффициенты W(s) аналогично рис.1.6. Сохраните измененный файл с
именем «TAULab1D_Фамилия(ваша).mdl». В названиях файлов и папок и
предпочтительно пользоваться латиницей.
2. Установите частоту генератора колебаний ω=w=0,1/Т рад/с через его
панель параметров (рис.1.7).
3. Эту же частоту установите в блоке Fourier согласно рис.1.7 (в
(скопировав диаграмму в буфер), перейдите в Уорд–файл и вставьте
диаграмму из буфера; выделите рисунок диаграммы и нажмите кнопку
обтекания , выбрав режим обтекания Поверх текста; откорректируйте
размеры рисунка.
3. Выберите по 3 измерительных участка с наибольшими разностями на
каждом графике и пометьте их так, как показано на рис.1.12А, используя
кнопку А для ввода в нужном месте текста, а кнопку для ввода стрелки
(для коррекции введенного текста нужно выделить ЛКМ текстовый объект и
двойным щелчком ввести в него курсор коррекции).
4. Для случая близко примыкающих друг к другу кривых (как на
верхнем графике рис.1.12А) нажмите кнопку Увеличение на панели
инструментов рисунка и щелкните ЛКМ на одном из измерительных
участков: участок будет показан в увеличенном масштабе. Повторный
щелчок ЛКМ еще больше увеличит расхождение кривых. Применяя
увеличение масштаба несколько раз, добейтесь, чтобы расхождение кривых
было не менее 3-4 мм (см.рис.1.12Б).
5. Вызовите измеритель координат точек ginput (см. п.3 рис.1.11): на
рисунке появится белое перекрестие (см. рис.1.12Б). Наводя точку
перекрестья на какую-либо точку кривой и щелкнув ЛКМ, считываем во
временный буфер координаты этой точки. Так можно считать координаты
всех нужных точек на верхнем и нижнем графиках рисунка. После нажатия
клавиши <Enter> все координаты будут выведены в Командное окно, а
перекрестье исчезнет (см. п.4 рис.1.12: х – частота в рад/с, у: первые 2 точки
– амплитуды обоих кривых (расчетной и модельной ) в дБ; вторые 2 точки –
значения фаз в град).
16
6. Вызовите ваш Уорд-файл «Фамилия_RisLab_D.doc», создайте в нем
таблицу, аналогичную табл.1.2 и заполните данными столбцы для точек 1.1 и
2.1 (если съём данных получился только для этих точек), выполнив
вычисления разностей характеристик (см. п.5 на рис.1.12) и перенося данные
из Командного окна через системный буфер. Озаглавьте таблицу аналогично
табл.1.2 с учетом вашей Wз .
Рис. 1.11. Команды Матлаба, связанные с построением модельных логарифмических характеристик в окне построенной диаграммы Боде и измерением параметров точек кривых диаграммы. Пункты 1 и 2 – построения ЛАЧХ И ФЧХ, п.3 – вызов измери-теля координат, п.4 – столбцы координат точек, выдаваемых измерителем в команд-ном окне при щелчке ЛКМ на точке кривой, п.5 – расчет максимального отклонения
между расчетной и модельной характеристиками
7. Для перехода к другому измерительному участку нажмите кнопку
в окне диаграммы и щелчками ЛКМ на графике верните масштабируемый
график к исходному состоянию. Повторите п.6 для нового участка.
8. Скопируйте диаграмму с увеличенным участком графика согласно п.2
в Уорд-файл, разместите ее совместно с ранее скопированной диаграммой, и
5. Построение границ области устойчивости САУ kкр(ТВ) по данным табл.2.1
Указание в Командном окне для построения границы:
»TB=[0.5 1 3 5 9]; Kkp=[120.45 109.57 103.06 101.82 101.01]; TT=0.4:0.1:9.5; (2.6) kk=interp1(TB,Kkp,TT,'cubic'); plot(TB,Kkp,'oK',TT,kk); grid on где данные для ТВ и Ккр скопированы из табл.2.1; ТТ - точки оси ТВ для
кубической интерполяции границы (диапазон 0,4÷9,5 и шаг 0,1); kk - точки
интерполяции Ккр, вычисленные интерполятором interp1 (последний знак –
единица, а не L); оператор plot рисует два графика: взятых из табл.2.1 точек
(только сами точки без соединяющих их линий) и интерполяционной кривой
– сплошная линия; наложение их дает график границы - см. рис. 2.3А.
Рис.2.3. Область устойчивости САУ в пространстве параметров К-ТВ для Wp (2.1)
(А) и результат проверки устойчивости САУ в ее внутренней точке (Б)
Б А
Работа 2. Исследование устойчивости САУ 25
Возьмите какую-либо точку области вне границы (с целочисленными
координатами) и проверьте устойчивость в ней САУ по годографу
Найквиста. Для этого:
• указание для построения годографа в точке К=105,ТВ=1:
» k=105; TB=1; ch=k*[0.02 1]; zn=[0.03*TB TB+0.03 1 0]; Wp=tf(ch,zn); nyquist(Wp); (2.7) • проверьте, чтобы ни одна кнопка на панели фигуры не была нажата,
установите в контекстном меню режим просмотра годографа
Zoom_on_(-1, j0), увеличьте в 1-2 раза область около (-1, j0) и из
контекстного меню (вызывается ПКМ) вызовите команду проверки
2. В командной строке Матлаба введите исходные значения
оптимизируемых параметров, закончив ввод командой <Еntеr>; например,
такие: » Кр = 1, Кd = 0.1, Кi = 0.1
(Матлаб записывает их в Workspace (рабочее пространство) и использует
как начальные значения в процессе оптимизации).
3. Двойным щелчком на NCD-блоке вызовите Окно оптимизации
параметров САУ и командой его меню Options/Step_response вызовите
панель установки показателей качества переходного процесса Stер_rеsроnsе;
установите заданные вам значения соответствующих показателей,
руководствуясь их смыслом и местоположением на панели согласно рис. 3.3
и щелкните на свободном месте Окна оптимизации – отметьте перемещение
ограничительных линий.
4. Командой File/Save сохраните настройки в вашей папке под именем
OptNastrSAU_Familia(ваша): при работе с Окном оптимизации (например,
при измерении параметров оптимального переходного процесса) возможно
искажение настроек – их восстановление производится загрузкой
сохраненного файла командой File/Load из Окна оптимизации.
Примечание! При повторных вызовах панели Stер_rеsроnsе показанные
в ней настройки относятся к режиму по умолчанию и не отражают вносимые
изменения (недоработка Матлаба!); нажатие при этом кнопки Dоnе не
приведет к изменению введенных ранее значений. Чтобы узнать, какие же
значения были введены, необходимо щелкнуть ПКМ на соответствующей
данному параметру красной граничной линии: линия изменится на белую и в
оконце Редактора положения будут показаны координаты концов линии
ограничения, являющиеся одновременно и введенными параметрами.
Например, на рис.3.3 верхняя статическая погрешность была изменена с 5%
на 9%: на панельке Stер_rеsроnsе эта величина показана без изменения (5%),
Работа 3. Синтез регулятора линейной САУ 43
а в оконце редактора положения (рис.3.3В) обе у-координаты равны 1,0907,
т.е. точное значение верхней статической погрешности стало 9,07%.
5. Командой Оptimization/Parameters из Окна оптимизации вызовите
Панель ввода оптимизируемых параметров и установите в соответствующих
оконцах величины и значения согласно рис. 3.4 (параметры отделяйте друг
от друга пробелом), закончив ввод нажатием кнопки Dоnе.
Рис. 3.4. Панель ввода оптимизируемых параметров
6. Перейдите в Окно оптимизации и нажмите кнопку Start: наблюдайте
процесс оптимизации; по окончании процесса на экране окна должны быть
две кривые: белая, соответствующая исходным величинам, введенным в
Workspace из Командного окна, и зеленая, соответствующая найденным
оптимальным параметрам (см. рис.3.3А).
Примечание (возможные неисправности и их причины)
Оптимизация не начинается • Не введены Начальные настройки K в Рабочее пространство (из Командного окна – см. п. 2).
• Не введены имена настроек K в панели Оптимизационные параметры – см. п. 5.
• Интервал дискретизации K в панели Оптимизационные параметры значительно превосходит начальные настройки – уменьшите его в 5…10 раз.
• Не установлено время моделирования Stop_time – см. п.1. В качестве оптимальных Симулинк выдает начальные настройки; исходный переходный процесс сильно отличается от заданного шаблона.
44
• Измените начальные настройки K, чтобы исходный процесс лучше вписывался в шаблон.
• Уменьшите интервал дискретизации в панельке Оптимизационные параметры.
• Увеличьте время Stop_time.
7. В Командном окне введите "команду"
» Кi, Кp, Kd <Еntеr>:
Матлаб выдаст значения оптимальных параметров.
8. Откройте ваши Сессионный М- и Уорд-файлы, вставьте в них
заголовок «Дата. Оптимизация параметров САУ по переходному
процессу». Скопируйте в Уорд-файл Схему вашего стенда и окно
оптимизации с кривыми, снабдив рисунок и кривые надписями,
аналогичными рис.3.1 и 3.3 Методуказаний.
9. Создайте в Уорд-файле таблицы 3.1 и 3.2, в которые внесите данные
оптимизации (исходные и результаты) из пп.3.2.2, 3.2.6 и последующих (см.
ниже); измерение показателей переходного процесса – в п.3.3.1.
3.3. Оптимизация настроек ПИД-регулятора и параметра САУ и измерение показателей качества переходных процессов
1. Измерение показателей переходного процесса (времени – tp, tп – и
уровня -σ, σобр, ∆ст) производится посредством панельки Cоnstraint_Editor
(см. рис.3.5). Таблица 3.1.
Оптимизация посредством NCD-блока настройки ПИД-регулятора и параметров a1/a2 САУ с передаточной функцией
Приложение Вычисления в командном окне пакета Матлаб 6.5
1. Рабочее пространство Матлаба 6.5
Оно включает пять окон Рабочего стола и три других окна (см. табл.П.1).
Таблица П.1
Окно Назначение окна
1. Командное (рис.П.1, 1.2) (Command Window).
Управление всеми процессами в Матлабе.
2. Протокол команд (рис.П.1) (Command History).
Запись команд и функций из командного окна и сохра-нение их для последующих сеансов, пока пользователь не очистит весь протокол или его часть. Копирование команд и функций из записи предыдущих сессий в ко-мандное окно для работы.
3. Доступ к техдокумен-тации средств пакета (рис.П.1) (Launch Pad).
Запуск техдокументации, демонстрационных примеров и обучающей программы выбранного инструментария.
• пользовательскую настройку общих свойств Матлаба через меню
«Файл – Свойства» (рис П.4.)
62
• суперкалькуляционные вычисления в поле окна посредством
операторов и функций Матлаба,
• создание рабочих областей сеанса работы и его текстовый протокол
(«дневник сессии»).
Рис.1.2. Окно справки (Help)
Рис. П.2. Вид окна справки
Рис П.3. Вид командного окна
Просмотр папок
Окно просмотра Симулинк - библиотеки
Техописание: Help
Оконце Назначение Содержа-ние (Contents)
Содержание справочной документации по средсвам Матлаба
Термины (Indeks)
Алфавитный перечень терминов (статьи для них – в форточке просмотра) – блочный вывод по заглав-ной букве термина.
Поиск (Serch)
Поиск справочного мате-риала по 4 типам заданий.
Избранное (Favorites)
Создание и хранение Под-борки выбранных справоч-ных материалов.
Оконце просмотра выделенного доку-
мента
Добавление выделенного до-кумента в форточку Избранное
4 оконца навигатора Справки
Переход к предыдущей или к следующей Страницам
Переход к предыдущему или к следующему Документам
Приложение. Основные правила работы с Матлабом 63
Назначение команд меню “Файл”
1 Открыть: редактор/отладчик для М-файла, графическое окно для рисунка, окно новой Симулинк – модели, окно создания графического интерфейса.
2 Открыть любой файл Матлаба. 3 Закрыть командное окно. 4 Импорт данных. 5 Вызов окна сохранения МАТ-файла Рабочей области 6 Вызов окна сохранения и добавления в каталог маршру-та доступа к М-файлу.
7 Установка системных свойств Матлаба. 8 Установка настроек вывода на печать 9 Печать выделенного фрагмента
10 Вызов разрабатываемых файлов (любого или всех вме-сте)
11 Выход из Матлаба
1
2
3
4
5
6
7 8
9
10
11
Рис. П.4. Вид меню «Файл» и его команды
Внимание! Вычисления в окне носят односеансовый характер и не запоминаются: в окне не предусмотрено запоминание файла с вычислениями! В окне можно только запомнить: имена используемых переменных, их типы и масси-вы значений (в виде рабочих областей) и текстовый дневник сеанса (именуемого в Матлабе сессией). Чтобы получить возможность запоминания вычислений с результатами и их много-кратного вызова, необходимо вычисления копировать в специально создаваемый для этого М - файл окне редактора – отладчика М –файлов.
Типы данных в Матлабе – рис.П.5. Применяемые форматы числовых
данных – на рис П.6.
Рис.П.5. Типы данных ( массивов) в Матлабе 6
МАССИВ (ARRAY)
символьный ( char)
ЧИСЛОВОЙ ( NUMERIC )
ячеек ( cell )
структур ( structure )
функциональных манипуляторов
( function handle)
пользовательских классов( user class )
ява - классов ( java class )
целых чисел со знаком и без знака 8-, 16- и 32-битовых
( int8, uint8 / int16, uint16 / int32, uint32)
чисел одинарной точности ( single )
чисел двойной точности ( double )
двумерных разреженных матриц двойной точности
( sparse )
64
Свойства Матлаба как вычислительной системы установлены по
умолчанию, но их можно изменить для окон Рабочего пространства через
панель «Preferences», вызываемую через меню «Файл – Свойства». Панель
состоит из двух областей (рис.П.6): левой белого цвета с деревом
настраиваемых объектов Матлаба и правой серой с окнами ввода значений
настроечных параметров. Вид правой области меняется в зависимости от
выделенного для настройки объекта (на рис.П.6 выделенный объект –
Командное окно). Форматы устанавливаемых чисел: пример
[1] 1 Короткий (по умолчанию) с фикси-рованной точкой, 5 знаков: 0.3894 (для sin 0.4)
2 Длинный с фиксированной точкой, 15 знаков: 0.38941834230865
3 Короткий экспоненциальный, 5 зна-ков мантиссы, 2 - порядка: 3.1616е+00 (для числа π)
5 Короткий с фиксированной точкой, 6 знаков: 0.38942
6 Длинный с фиксированной точкой, 16 знаков: 0.389418342308651
7 Шестнадцатиричное число: 400921fb54442d18
8 Комерческий: 3.14 (рубли. копейки) 9 Плюс : + для положительного числа, - для отрицательного, пробел – для нуля
10 368/945 (для sin 0.4), 355/113 (для числа π), отношение двух наименьших целых чисел
11 Отсутствие пробела между строками 12 Наличие пробела между строками
Диапазон используемых в Матлабе чисел чисел: 10–308 …10+308 . Специальные
числа:
inf – бесконечность,
Pi – число π,
NaN – для результата, не представимого в виде числа, например, 0/0 или
0 . inf,
eps – число 2-52.
1
2
3
4
5
6
7
8
9
10
11
12
Рис.П.6. Панель Свойства с вводом настроек для Командного окна.
Приложение. Основные правила работы с Матлабом 65
4. Окно Редактора – Отладчика М-файлов (рис.П.7)
Рис.П.7. Окно Редактора – Отладчика
Редактор/отладчик предназначен для создания и отладки М-файлов. Он
поддерживает следующие операции от кнопок окна (Кнопка окна – слева
направо на рис.П.7 ):
• создание нового М-файла (Новый),
• открытие существующего М-файла (Открыть) ,
• сохранение М-файла на диске (Сохранить),
• удаление фрагмента (Вырезать),
• копирование фрагмента (Копировать),
• вставка фрагмента (Вставка),
• печать М-файла (Печать),
• текущая помощь (О программе),
• установить/удалить точку прерывания (при отладке М-файла) –
(Установить/Снять контрольную точку),
Имя М-файла; кнопка вывода файла в окно
Номера строк М-файла
66
• удалить все точки прерывания (при завершении отладки М-файла) –
(Снять все контрольные точки),
• пошаговую трассировку М-файла с заходом в вызываемые М-файлы
(Заходить в блоки),
• пошаговую трассировку М-файла без захода в вызываемые М-файлы
(Пошаговое выполнение),
• продолжить выполнение программы без трассировки (Продолжить),
• завершить отладку (Окончить отладку).
При написании М-файла в окне осуществляется синтаксический
контроль его программы с цветовым выделением синтаксических
объектов:
• ключевые слова языка программирования (function, for, end и
т.п.) – синий цвет;
• операторы, константы и переменные – черный цвет;
• комментарии после знака «%» – зеленый цвет;
• символьные переменные (в апострофах) – зеленый цвет;
• синтаксические ошибки – красный цвет.
М-файлы бывают двух типов: сценарии и функции.
Файл-сценарий, именуемый также Script-файлом, является просто
записью серии команд без входных и выходных параметров. Он имеет
следующую структуру. %Основной комментарий
%Дополнительный комментарий
Тело файла с любыми выражениями
Важны следующие свойства файлов-сценариев:
• они не имеют входных и выходных аргументов;
• работают с данными из рабочей области;
• в процессе выполнения не компилируются;
Приложение. Основные правила работы с Матлабом 67
• представляют собой зафиксированную в виде файла
последовательность операций, полностью аналогичную той, что
используется в сессии при работе в командном окне.
Основным комментарием является первая строка текстовых
комментариев, а дополнительным – последующие строки. Основной
комментарий выводится при выполнении команд lookfor и help
имя_каталога. Полный комментарий выводится при выполнении команды
help Имя_файла.
М-файл- функция является типичным объектом языка
программирования системы Матлаб. Одновременно он является
полноценным модулем с точки зрения структурного программирования,
поскольку содержит входные и выходные параметры и использует аппарат
локальных переменных. Структура такого модуля с одним выходным
параметром выглядит следующим образом:
function vаг = f_name(Список_параметров) %Основной комментарий %Дополнительный комментарий Тело файла с любыми выражениями vаг=выражение
М-файл функции имеет следующие свойства:
• он начинается с объявления function, после которого указывается
имя переменной var – выходного параметра, имя самой функции и
список ее входных параметров;
• функция выдает значение и может использоваться в виде
name(Список_параметров) в математических выражениях;
• все переменные, имеющиеся в теле файла-функции, являются
локальными, то есть действуют только в пределах тела функции;
68
• файл-функция является самостоятельным программным модулем,
который общается с другими модулями через свои входные и
выходные параметры;
• правила вывода комментариев те же, что у файлов-сценариев;
• файл-функция служит средством расширения системы Матлаб;
• при обнаружении файла-функции он компилируется и затем
исполняется, а созданные машинные коды хранятся в рабочей области
системы Матлаб.
Последняя конструкция vаг = выражение вводится, если требуется,
чтобы функция выдавала результат вычислений.
Приведенная форма файла-функции характерна для функции с одним
выходным параметром. Если выходных параметров больше, то они
указываются в квадратных скобках после слова function. При этом структура
модуля имеет следующий вид:
function [vаг1,vаг2,...] = f_namе(Список_параметров) %Основной комментарий %Дополнительный комментарий Тело файла с любыми выражениями var1-выражение Такая функция во многом напоминает процедуру. Ее нельзя слепо
использовать непосредственно в математических выражениях, поскольку она
выдает не единственный результат, а множество результатов – по числу
выходных параметров. Если функция, имеющая несколько выходных
параметров, входит в состав математического выражения, для вычислений в
выражении будет использован первый из выходных параметров Это
зачастую ведет к ошибкам в вычислениях. Поэтому, как отмечалось, данная
функция используется как отдельный элемент программ в виде
[varl,var2, …] = namе(Список_параметров) .
Приложение. Основные правила работы с Матлабом 69
После такого вызова выходные переменные varl, var2, … становятся
определенными и их можно использовать в последующих математических
выражениях и иных сегментах программы Если функция используется в виде
f_namе(Список_параметров), то выдается значение только для первого
выходного параметра — переменной varl.
При отладке выражений и программ в окне Редактора - отладчика СООБЩЕ-НИЯ ОБ ОШИБКАХ ВЫДАЮТСЯ В КОМАНДНОЕ ОКНО МАТЛАБА.
5. Правила вычислений в командном окне.
Работа с системой в режиме прямых вычислений носит диалоговый характер
и происходит по правилу «задал выражение – получи ответ». Пользователь
набирает на клавиатуре вычисляемое выражение, редактирует его (если
нужно) в командной строке и завершает ввод нажатием клавиши Enter. Для
указания текущего места ввода и вычисления используется символ >> на
пустой строке. В предшествующих месту ввода строках редактирование
выражений и вычисления невозможны.
Данные вводятся с помощью строчного редактора (встроенного в
Матлаб (по умолчанию) или внешнего, выбираемого пользователем). Знаком
присваивания является привычный математикам знак равенства = , а не
комбинированный знак :=, как во многих других математических системах.
Правила записи матрицы, вектора и скаляра: большими буквами
(например, А) обозначаются матрицы, малыми (а) – векторы и скаляры.
Векторные функции (выдающие значения в виде вектора) обозначаются
большими буквами ( F(x) ), скалярные функции (их значение – скаляр –
[AZ,EL,R] = Преобразование 3-мерных декартовых координат в
[X,Y] = Преобразование полярных и цилиндрических координат в
∞
∞∞ ∞
∞
Приложение. Основные правила работы с Матлабом 73
=cart2sph (X,Y,Z)
декартовых координат в сферические; углы AZ и EL – в радианах
=pol2cart(TH,R)
[X,Y,Z] =
=pol2cart(TH,R,Z)
цилиндрических координат в декартовы
[X,Y,Z] = =sph2cart(AZ,EL,R)
Преобразование сфериче-ских координат в декартовы
Для изменения формата вывода результата вычисления необходимо до
нажатия клавиши Enter установить нужный формат через меню «Файл –
Свойства» (см. рис.П.4 и П.6).
Для блокировки вывода результата некоторого выражения (ввиду
промежуточного характера) после него надо установить знак ; (точка с
запятой): если блокировка отсутствует, то Матлаб выдаст результат расчета
по части выражения до неустановленного знака и сообщение об ошибке, а
остальную часть вычисляемого выражения игнорирует (см. рис.П.8В).
Рис.П.8. Правильная запись вычисления функ-ции на одномерном векторном (А) и многомер-ном (Б) матричном массивах аргумента и непра-вильная (В)(пропуск точки с запятой перед Y)
Если не указана переменная для значения результата вычислений, то
MATLAB назначает такую переменную с именем ans.
Результат вычислений выводится в строках вывода (без знака »).
Для вычисления функции на одномерном или многомерном матричных
массивах значений аргумента необходимо выполнить действия согласно
рис.П.8.
» x=[0.5 0.7 1]; Y=sin(x) Y = 501/1045 947/1470 1327/1577