Mоделирование процессов и систем в Matlab (966709), страница 28
Текст из файла (страница 28)
Р2,... ). Урюк 4 ° Объектно-ориентированное програииированне Такое представление позволяет вычислять функцию при заданных значениях аргумента х и параметров Р), Р2, ... путем обращения к ней в естественной форме, например: Е(0.6.-0 Б.З). Классу 1п11пе соответствует подкаталог 91йПйЕ каталога ТООЬВОХ/МАТ(АВ/Н)йН3й. В нем содержатся следующие М-файлы: О конструктор !п1)пе; О методы класса агдпанез, 0!яр, Гогны1а, пвгд1п, чессог12е, сас, 0!Зр1ау, Ьогтсас, пагдои(, чегссат, сйаг, Геча1, виЬзгеГ. Конструктор!пйпе. Эта процедура создает шИпе-объект, то есть функцию, заданную в символьном виде, что позволяет обращаться к ней как к обычному математическому объекту. Существует несколько форм обращения к процедуре. Обращение вида Г тп11пе('<иатеиатичесхое вьрвжение>') позволяет получить символьное представление заданного математического выражения как функции.
Аргумент функции определяется автоматически путем поиска в составе выражения символа, отличного от 1 и З. Если такой символ не найден, в качестве аргумента применяется символ х. При наличии в выражении нескольких символов, как аргумент используется символ, расположенный в алфавите ближе всего к х, в первую очередь — один из следующих за ннм в алфавите. » Г(Н) 1п11пе('ня»втп(ои'Г + ерв)') Г(й) )п1 !пе (чпсг!Оп: ГОИ)(С) - аи<в1п(от С + еря) При обращении к конструктору таким образом: Г=тп1)пе('<иатеиатическое выражение>', 'иия1', 'ния2' „...) формируется функция, имеющая заданные в параметрах 'иия)', 'иия2'.... обозначения аргументов. » ГОИ2 !п)!пе('сов(в)тв)»сов(ьевв) + 1п(в)тв)"в!п(Ьетв)»сов(внииа)'.'в)тв'.'Ьегв'.'дапеа') Ец!2 !п1 !пе топо(!оп: НН2(в)та.Ьегв.данта) - соя(в1(а)*соя(Ьета) + в!п(а)та)>втп(вега)'"соя(дапвпа) Наконец, при обращении вида Г=(п)1пе('<натеиатичесиое вырвжение>',п) создается функция, которая имеет один аргумент х и и параметров с заданными именами Р1„ Р2, ..., Рп.
То есть в выражении, кроме некоторых заданных чисел, должны содержаться только аргумент х и параметры Р1, Р2, ..., Рп. Например: » Гопз !импе('Р) + Р2<х + РЗ>х"2'.3) Гопз !импе гоп<с!оп: Ечпз(х,р).Р2,РЗ) - Р) + Р2"х + РЗ"х2 Получение формулы функции. Это можно сделать с помощью любой из двух процедур класса тп11пе — сйвг(Г) или Гогяы)в(Е).
Обе процедуры производят преобразование шйпе-объекта в символьный массив — строку, содержащую запись формулы функции. я в) спвг(ГОИ2) в) - сов(а)тв)"соя(Ьегв) + в!п(в)та)»я!п(Ье(а)<сов(допив) Производные классы 149 » з2 тогзв)а(НЩ2] з2 - соз(а)та)»соз(Ье(а) + з1п(а)га)»ззп(Ьета)»соз(дапаа) » зз Гогпи)а(ГипЗ) зз - Р) + Р2 х + РЗ х"г Вывод на экран.
Процедуры ())зр(Г) и ()(зр)ау(Г) осуществляют вывод на экран заданного объекта )п! ! пе (Г). » С!зр(Гвпз) 1и! !пе Гипс(!ап: Гипз(х.Р1.Р2.РЗ) Р1 + Р2»х+ РЗ»х 2 » аз ар)ау(Гвпз] Гппз1п! !пе тпгст)оп: Гопз(х.Р1,Р2.РЗ) Р1 + Р2"х - РЗ*х2 Формы вывода этих процедур отличаются незначительно. Основное их различие состоит в том, что процедура ()! зр! ау работает и при неявном обращении, то есть если имя процедуры не указывается, в командной строке записано лишь имя 1п1ще-объекта. » Гвпз Гппз1п)1пе Гппст(ап: Гипз(х,Р1.РЗ,РЗ) Р1 + Р2»х + РЗ»х2 Получение имен аргументов шйпе-объекта. Это дейсгвие осуществляется по- средством процедуры агдпавез(Г).
» агдпазаз(ГЬН1) апз - 'Ь' » агдпамз[ГЬйа) апз - 'а)га 'Ьега' 'яивя » агуавез(Гааз) апз - 'х' 'Р1' 'Р2' 'РЗ' Векторизация функций. Часто бывает необходимо преобразовать выражение функции, которая записана для аргументов-чисел, с тем чтобы вычисление можно было осуществлять и тогда, когда аргументами являются векторы.
Для этого в исходном выражении функции надо вставить символ точки перед каждым знаком арифметической операции. Это делается с помощью процедуры тесСог(ге. Если аргументом данной процедуры является символьное выражение, процедура формирует другое символьное выражение с указанными изменениями. В случае, когда аргументом является (пйпе-объект, процедура создает новый объект этого класса, в формуле которого произведены такие изменения. Приведем примеры. » 5 спаг(Гипз) з Р1 + Р2»х + РЗ"х"2 » зв тесгогаге(з) зх Р1 + Р2."х + РЗ."х."2 150 Урок 4 ° 06ьехтно-ориентированное программирование » ЕопЗч - чессог(ае(ЕопЗ) ЕопЗч )п))пе Гчпсстоп: Еопзч(х.Р1.Р2.РЗ) - Р1 + Р2."х + РЗ."х.
2 Вычисление Ыше-объекта. Чтобы вычислить значения функции, представлен- ной как ш)(пе-объект, по заданным значениям аргументов и параметров, доста- точно после имени Ыше-объекта указать в скобках значения аргументов и пара- метров функции. »ч О:0.2:1 » ЕЗ ЕопЗч(ч, 2. 3. 4) ч 0 0.2000 0 4000 ЕЗ 2.0000 2.7600 3,8400 0.6000 0.8000 1.0000 5.2400 6.9600 9.0000 Вычисление значения функции, заданной М-файлом. Для программирования сложных вычислительных алгоритмов наиболее важной процедурой класса т и) т пе является функция Теча). С ее помощью можно производить вычисления по общим для функций определенной структуры алгоритмам.
В данном случае алгоритмы удобно строить общими для всего класса таких функций, при этом конкретный внд функции будет определяться отдельной процедурой в виде М-функции. Имя М-файла должно быть в структуре общего алгоритма одной нз переменных, чтобы, изменяя его конкретное значение, можно было применять алгоритм для любых функций той же структуры. В таком случае говорит, что функция является внешней (ех(егпа1) по отношению к алгоритму.
Таким образом, процедура Теча) позволяет использовать внешние функции при программировании в среде МАТТ АВ. Общий внд обращения к процедуре и примеры ее использования приведены в разделе аПроцедура геча1» урока 2. Классы пакета Соп1то1 Буй1ееп Тоо1Ьох Пакет прикладных программ (ППП) Сопгго1 Буз(еш Тоо1Ьох (сокращенно — Сопсго1) сосредоточен в подкаталоге СОКТйО(. каталога ТООЬВВХ системы МАТ1.АВ. Основными вычислительными обьектэми этого ППП являются следующие. О Родительский объект (класс) ~Т1 — (Ешеэг Тяпе-Тпчапапг Буэ(еш — линейные, инвариантные во времени системы); в литературе, написанной на русском языке, за этими системами закрепилось название линейных стационарявтх систем (ЛСС); О Дочерние обьекты (классы), то есть производные от класса (.Т1, которые соответствуют трем разным представлениям ЛСС: ТГ-объект (Тгапэ(ег РппсС(оп— передаточная функция), ХРК-объект (2его-Ро1е-Сюп — нули-полюсы-коэффициент передачи) и ББ-объект (Б(а(е Брасе — пространство состояния).
Объект 1Т1, как наиболее общий, содержит информацию, не зависящую от конкретного представления и типа ЛСС (непрерывное или дискретное). Дочерние объекты определяются конкретной формой представления ЛСС, то есть зависят от модели представления. Обьект класса ТЕ характеризуется векторами коэффициентов полиномов числителя и знаменателя рациональной передаточной функции. Объект класса 2РК характеризуется векторами„которые содержат значения Производные классы нулей, полюсов передаточной функции системы н коэффициента передачи системы. Наконец, обьект класса 55 определяется четырьмя матрицами, опнсываюпгими динамическую систему в пространстве состояний.
В табл. 4.1 представлены основные атрибуты этих классов и их содержимое; приняты такие обозначения: )Ч[), )ч['т' и ]ЧХ вЂ” число входов (вектор ц), выходов (вектор у) и переменных состояния (вектор х) ЛСС соответственно; ОМ (3150)— одномерная система (имеет один вход и один выход); ММ (М1МО) — многомерная система (имеет несколько входов и выходов). Таблица 4.1. Атрибуты (поля) СТТ-объектов Атрибут Описание Специфические атрибуты передаточных функций (ТЕ-объектов) йцш Чиогиглель.
Вектор-строка — для ОМ-систем; массив ячеек из векторов-строк размером йуна — для ИИ-систем. Например: ([1 О] 1; 3 [1 2 3]) Оеп Зноменаглель. Вектор-строка — длл ОИ-систен; массив ячеек из векторов-строк размером йтхйц — для ММ-систем. Например:, запись сг(( 5: [1-5 6]). ([1-1]г [1 1 0])) определяет систему с одним входом и двумя выходами: [-5г'(з - 1)] [(зз — 5з + 6)/(за+ з)] УапаЫе Имя (тип) переменной (лз перечня). Возножные варианты: ь р, х з"(-1) или ц. По умолчанию принимается з (для непрерывных переменных) и г (для дискретных). Имя переменной вливет на отображение и создает дискретную ПФ для дискретных сигналов Специфические атрибуты 7РК-объектов 7 Нули.
Вектор-строка — для ОИ-систем; массив ячеек из векторов-строк размером йтхй0 — длл ММ-систем Р Полюсы. Вектор-строка — для ОМ-систем: массив ячеек иэ векторов-строк размером йтхй0 — для ММ-систеи К Коэффпциенглы передачи. Число — для ОИ-систем; матрица размером йтхйц — для ИИ-систен уапаЫе Имя (тип) переменной (иэ перечня). То же, что и для ТЕ-объектов (см. выше) Специфические атрибуты 55-объектов (моделей пространства состояния) а,Ь.с.д Матрицы А, В. С, О.
соответствующие уравнениям в пространстве состояния: Едх/61 Ах+ Вц; у Сх+ Оо Е Матрица Е для систен пространства состояния. По умолчанию Е - еуе(згзе(А)). 51атейаюе Имл переменной соаполнил (необязательное). Массив ячеек из прок размером йдх1(используйте символы "длв состояний беэ ииени). Например: ('розгйоп'г те[ос!1у) Атрибуты.
общие дпя всех СТ1-моделей Тз Дискреглло времени (в секундах). Положительный скаляр (период дискретизации): Тз - -1 — дпя дискретных систем с неустановленной частотой дискретизации; Тз Π— для непрерывных систеи продолженле р 152 Урок 4 ° Объектно-ориентированное программирование Таблица 4.5 (продолжение) Атрибут Описание Задержки вюдоа (а секундах). Вектор ареиени задержек входов размерои 1хй(). Устаноаление Тб мак скаляра определяет единую задержку длл всех входов.