Главная » Просмотр файлов » Mоделирование процессов и систем в Matlab

Mоделирование процессов и систем в Matlab (966709), страница 30

Файл №966709 Mоделирование процессов и систем в Matlab (Моделирование процессов и систем в Matlab) 30 страницаMоделирование процессов и систем в Matlab (966709) страница 302013-10-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 30)

Метод Ф вр! ау автоматически вызывается каждый раз, когда исполняемый оператор не заканчиваегся точкой с запятой. Для многих классов метод сй зр1 ву просто выводит на экран имя переменной, а затем использует преобразователь сдаг, чтобы вывести на экран символьное изображение объекта. Для рассматриваемого случая он может иметь такой вид: дтпседоп сдзр!ву(р) 1 Р(т.тдОИ/015Р(АУ завоя нв зхрвн ро1(птвв-ооаехтв 015р("); сдзр(Г ',(ярославе(1),' - ',савг(р).':']): слвр("); т Зввервение РО(ЛИОИ/015Р(АУ Проверим эффективность работы трех созданных М-файлов на простом примере. Сформируем вектор коэффициентов полинома »'т' (000-123400-6-5-7] У " 0 0 0 -1 2 3 4 0 0 -6 -5 -7 Создадим на его основе ро1употп-объект и сразу выведем его символьное изображение на экран.

Для этого достаточно не поставить символ в;» после обращения к функции ро1 упсп~ » Ро11 ро)упав(У) Ро11 - -1*х"8 + 2»х"7 + 3»х"6 + 4"х"5 - 6"х"2 — 5 х - 7: Создадим теперь ро1упош-объект по заданным его корням и значению старшего коэффициента. » Ро12 ро!утке((1 2 3 4 5].-5) Ро12 - -5»х"5+ 75»х"4 - 425»х"3 + 1125»х"2 - 1370"х+ 600: Проверим корни созданною полинома, используя процедуру гоо15 (см. далее). » гооез(Ро12) ВП5 5.0000 4.0000 3.0000 2.0000 1.0000 Как свидетельствует результат, все созданные М-файлы работают нормально. 158 Методы класса В системе МАТ1.АВ существует возможность создавать процедуры, которые могут быть выполнены не только стандартным путем (посредством обращения к имени процедуры), но и более простым способом — с использованием знаков арифметических действий, операций сравнения, скобок и т.

п. Так, в предыдущем разделе мы имели возможность убедиться, что процедура ей яр)ау выполняется не только при явном обращении вида г(тзр!ау(х), но и неявно, если некоторый оператор формирует величину х, а после этого оператора отсутствует символ «;». Поэтому если в любом новом классе объектов присутствует М-файл с именем б(зр(ау, он будет выполняться во всех случаях, когда очередной оператор, создающий объект этого класса, не заканчивается точкой с запятой. Приведем перечень имен таких М-файлов, предусмотренных системой МАТЮКАВ, с указанием оператора их неявного вызова (табл. 4.2).

таблица 4.2. Операторные функции Имл М-файла Условное Особенности применения название Оператор вызова Добавление знака «+» ОРгнз(а) Один аргумент. Результат относится к тому же классу. что и аргумент Один аргумент. Результат относится к тому же классу, что и аргумент Два аргумента. Результат относится к тому же классу, что и аргуиенты Два аргумента. Результат относится к тому же классу, что и аргументы Олпппз(а) Добавление знака «-» р(О5(аЬ) пп пц5(а,Ь) внвез(аЬ) Сложение а+Ь Вычитание а — Ь Умножение а*Ь впйчЫе(а,Ь) Правоеделение Левое деление Степень длЬ а.*Ь Умножение поэлементное Правое деление поэлементное а./Ь Левое деление поэлементное а лЬ Степень поэлеиентная (Ь(а.Ь) Два аргумента.

Результат — логическая величина Меньше а«Ь гпЫМбе(а,Ь) в ромег(а,Ь) Ввез(а.Ь) пггтЫе(аЬ) ЫгчЫе(аЬ) ромег(аЬ) Урок 4 ° Объектно-ориентированное программирование Два аргумента. Результат относится к тону же классу, что и аргументы Два аргумента Результат относится к тону же классу, что и аргументы Два аргумента. Результат относитсв к тому же классу, что и аргументы Два аргуиента.

Результат относится к тому же классу, что и аргументы Два аргумента. Результат относится к тому же классу, что и аргументы Два аргумента. Результат относится к тому же классу, что и аргументы Два аргумента. Результат относитсв к тому же классу, что и аргументы Два аргуиента. Результат относится к тому же классу, что и аргументы 159 Пример создания класса ро(упош Имл МчФайла Условное название Особенности применения Оператор вызова дг(а.Ь) Два аргумента. Результат — логическая величина Больше а>Ь (е(а,Ь) Два аргумента. Результат — логическая величина Меньше или равно Больше или равно Равно а -Ь Два аргумента. Результат — логическая величина де(а,Ь) аъ-Ь ед(а,Ь) а Ь Два аргумента.

Результат — логическав величина с(гапэроэе(а) Транспонирование А' Один аргунент. Результат относится к тону же классу, что и аргумент Один аргумент. Результат — относится к тому же классу, что и аргуиент Два или три аргумента. Результат-вектор относится к тому же классу, что и аргуиенты Один аргумент. Реэультат— изображение на экране символьного представления аргумента Два или более аргументов.

Результат— вектор-строка из аргументов Два или более аргументов. Результат— вектор-столбец из аргументов (гапэроэе(а) а.' Транспонирование а:д:Ь а:Ь со(оп(ал(Ь) со(оп(аЬ) Формирование вектора гдэр(ау(а) Вывести в команднои окне Вывод на экран (а Ь) Объединение а строку Объединение в столбец Индексная ссылка Ьогзса((а,Ь,...) чег\саг(аЬ....) (а: Ь) а(51...

5п) 5РЬэге((дэ) а(51,...5п) Ь эиЬэаэдп(а.,э,Ь) Индексное выражение Индекс подмассива 5РЬ5(паек(а,Ь) Ь(а) Хнгкг(пп Г Р105(Р)д) $ РОьТНОИ/Рь(Б Словенке пслиноков г - р + и Р Ро)уплв(Р): П - РР1Угсм(п): Перечисленные в таблице процедуры в МАТТ.АВ могут быль переопределены под теми же именами во всех новообразованных подкаталогах классов. После этого обычные операторы арифметических действий и операций сравнения могут применяться и при оперировании объектами новых классов. Смысл зтнх операций будет определяться содержимым соответствующих М-файлов в подкаталогах классов. Исходя из вышесказанного можно сделать вывод, что М-файлов с названиями, приведенными в табл.

4.2, может быть много. МАТЮКАВ различает их по типу аргументов, указанных в перечне входных параметров. Создадим, например, операцию (метод) сложения полиномов, используя операторную процедуру р) цэ. Текст соответствующего М-файла для подкаталога (шРО- ПНОМ приведен ниже.

160 Урон 4 ° Объехтно-ориентированное прогрвииирование К - о,п - Р.п: г - ро17пах([кетов(1. 1) р. с) + [тегов(1.-1) О.с])г т Завериение Р6ЛИОИЛЧ.ОБ Сначала процедура переводит оба аргумента в класс ро1 упав. Это нужно для того, чтобы метод работал и тогда, когда один из аргументов задан как вектор, или когда в качестве аргумента используется выражение типа р+г, где р — ро1упош-объект, а г — число.

Затем процедура дополняет нулями векторы коэффициентов полиномов-слагаемых, если в этом возникает необходимость (при неодинаковых порядках полиномов). Фактически сложение сводится к сложению этих исправленных векторов коэффициентов. Заключительной операцией является создание по полученному вектору полинама суммы нового ро!упош-объекта с помошью конструктора полиномов. Проиллюстрируем работу этого метода на примере. Введем вектор коэффициентов первого полинома » 91 [ 2 -3 0 5): и создадим из него полинам-объект: » Р1 - ро)упав(91) Р1 " 2'"х"3 - 3"х"2 + 6 Образуем таким же образом второй полинам: »92 [200900-3+5): » Р2 - ро1)пвв(92) Р2 - 2'"х"7 + 9"?~"4 — 3"х + 5 Сложим зти полиномы: »Р1+Р2 В результате получим: апв = 2"х"7 + 9«х"4 + 2"х"3 - З«х"2 - 3»х + 11 Аналогичные результаты получаются и в случае, если один из аргументов «оши- бочно» представлен вектором: » Р1 + 92 апв " 2"х"7 + 9«х"4 + 2"х"3 - З*х"2 - 3»х + 11 » К( + Р2 апв - 2 х"7 + 9«х"4 + 2Чгз - 3»х"2 - 3'х + 11 Однако если оба аргумента представлены векторами„система сразу же отреаги- рует на это, обнаружив ошибку: » 91+ 92 ??? [ггог ов)п9 > + На1Г(Х ГДВЕПВ(пп» ХВВ( аОГЕЕ В этом случае система уже использует не М-файл р[июш из подкаталога ЙРОЕт'- ИОИ, а аналогичную встроенную процедуру для векторов.

Эта процедура осушествляет сложение векторов лишь при условии, что длина их одинакова. Поэтому и возникает ошибка. Пример создании класса ро1упатп Аналогичной является процедура вычитания ро1упопт-объектов: (цпс$1оп Г ш(пцв(р.о) $ РОЕННОИ/М(Н05 Вычитание полиноиов г - р — о р - ро1упош(р): ц - ро1упош(О): К - О.п - р.п.

г - ро1упош(Едегоз(1.к) р. с) - Светов(1/-$) О.с]); $ Завершение РОПНОИ/И(Н05 Проверим работу атой процедуры на примере: »Р1-Р2 апв - -2»х"7 - 9 х"4 + 2'"х"3 - 3"х"2 + 3 х . 1: Создадим еще несколько методов класса ро1упов. О бои01е — по заданному полиному определяет вектор его коэффициентов и порядок: (посв)оп (ч,п) - боцб)е(р) $ РОЕЙИ)М/09)В(Š— преобразование ро1упош-обьекта в вектор его коэффициентов $ ч - ООСВЕЕ(р) превратит полинон-обьект "р" в вектор "ч", $ содершашид коэффициенты полинона. Располотенные в порядке уменьшения $ степени аргунента $ Обрашение (ч,п! - ООСВьЕ(р) позволяет получить такие $ значение "п" порядка этого полинона.

Н - р.с: и - р и; $ Завершение РО(тц)Н/ООСВЕЕ О ОИ Р'à — создает ро1упопт-объект„являющийся производной от заданного поли- нома: бцпс11оп О - сМ(т(р) $ РОПНОМ/01РГ форнирует ро1упои-производнуш "р" $ от заданного полннона "р" р * ро)з ош(р); б - р.п: Ц - ро1)пош(р.с(1: б).*(б : -1: 1)): $ Завершение РВЛИОИ/01РЕ О и$1шез — создает ро1упот-объект, являтощийся произведением двух заданных полиномов: гцпсстоп Г ятс(яев(р.ц) $ РОПЦ)И/МТ1ИЕ5 Произведение полинонов: г - р"о р " (р): О - ро1упов(О): г - ро!упоп(сопч(р.с.о.с)): $ завершение РОпи)м/мт1ие5 О игсй и'п1е — создает два ро! увы-объекта, один из которых является частным от деления первого из указанных полиномов на второй, а второй — остатком такого деления: тцпсС!оп гет = вгб(н(бе(р.ц) $ РОПМОИ/МНО)Н!ОЕ Деление попинонов: г - р/О р ро1упош(р): т) ро1упош(О): (гг.го] - бесопн(р.с.ц.с).- ыг Урок 4 ° Объектно-ориентированное програннирование гез(1» - ро1упсв(гг): гез(2» - ро1упов<го): $ Заверяение И)ЕТ)ЕИ/НВО191ОЕ О гоотз — создает вектор корней заданного полиномж Тнпс(10п г ггюгз(Р) Х ИМ.УМОМ/ВООТБ вычисляет вектор корней полинона "р" р = ро1)тхю(р): г - гоозз(р.с).

-Х Завервюние И)ЕТК(ХВ/йСОТВ О ро1уча1 — вычисляет вектор значений заданного полинома по заданному вектору значений его аргумента: ГОПОФ1оп у - ро1уча1(р.х) 3 РСИК(И/РСЕууй. вичисляет значение полинона р" Х по заланноиу значению аргунента "х" р ро1упск(р); у О: Тот а - р.с ,у - у.нх + а.- епб Х Завершение РОСТИ)Н/РСЕУУЛЕ О р1 от — строит график зависимости значений заданного полинома в диапазоне значений его аргумента, который содержит все его корни: унтсвтоп р1ОС(р) т И)ЕТН(Н/РЕОТ - построение графика полинона "р" р - ро1упсв(р); г яах(аЬз(го015(р.с))): х <-1.1:6.01:1.1)яг: у - ро1уча1(р.с.х): р1омх.у): Ог10: гтс1е(спаг(р)); х1аЬО1('Х'); Х Завервение И)ЕУИОИ/РЕОТ О г01 лОе(р.

хг) осуществляет деление полинома р на число хг: Топо(1оп г - гб1чгфе(р.хг) 3 ИХЛИОМ/Ю1Ч1ОŠ— правое веление гюлинона на число: 3 г - р/хг р - ро1угов(р): г.с - р.с/хг; г = ро1упсю(г.с): $ Завервение РОСТИ)Н/Ю!у)ОЕ Проверим действие некоторых из созданных методов: » Ро1 ро1упсв((1 2 3 4 51) Ро1 - х 4 + 2"х 3 + 3"х"2 + анх + 5; » ч ггюзз(РО1) ч 0.2878 + 1.41611 0.2878 - 1,41511 -1.2878 + 0.85791 -1.2878 - 0.85791 » р1ОС(РО1) Результат представлен на рис. 4.2.

Вопросы для саиопроверки 1бЗ Рис.4.2. Результат выполнения процедуры р1ог для ро1упое-обьенза Чтобы получить перечень всех созданных методов класса, следует воспользоваться командой песпо4з <иня класса>. Например: Иетиоез тог с1азв ро1улои: слаг Оззр1ау излив па1еез озтт Оплоте игезтзое р1ос р1из ро1ута1 гоосз ро1упов го!тзее Теперь мы имеем удобный вычислительный аппарат для работы с полиномами. Развивая его далыпе, можно создать новый класс более сложных объектов — класс рациональных передаточных функций, которые являются конструкцией в виде дроби, числителем и знаменателем которой являются полиномы. Для этого класса также можно определить важные для инженера операции сложения передаточных функций (которое соответствует параллельному соединению звеньев с заданными передаточными функциями), умножения (ему соответствует последовательное соединение звеньев) и многие другие, отвечающие определенным типам соединений звеньев.

Характеристики

Тип файла
DJVU-файл
Размер
13,98 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее