|
Годограф в MATLAB |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 41)
|
Aug 8 2013, 06:44
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Боюсь, что не проще. Хотелось бы не "одноразово" проверить, а наладить механизм для тестирования многих подобных систем (а задавать иным способом, кроме ДУ, проблематично). Более того, в данном случае я не представляю, как это сделать (если я правильно понял, что "в аналитическом виде" - это задать передаточной ф-ей как отношение полиномов) Про Control Design - Linear Analysis пока не очень понял. Посмотрю. Цитата(RHnd @ Aug 8 2013, 09:27)  Я не очень представляю процесс анализа. Вводить набор параметров, строить годограф, анализировать, вводить новый набор параметров, так? Видимо, так. Только по одному параметру менять. Конечно, в идеале бы получить ответ в виде области в пространстве параметров. Но я уж об этом и не мечтаю. Хотя бы так...
|
|
|
|
|
Aug 8 2013, 07:03
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Я имел ввиду в виде линейной системы в матлабе. Не обязательно в виде передаточной функции, вполне сойдет и в виде пространства состояний (state space). Если ваша система линейная, то то, что вы записываете в дифуры, должно элементарно переноситься в матрицы. А затем, когда у вас есть объект системы в матлабе, с ним можно уже много чего делать, в том числе и более эффективно анализировать устойчивость.
Но, видимо, у вас не очень много опыта работы с матлабом вообще и с Control Systems Toolbox в частности. Киньте сюда текст двух ваших последовательных блоков дифур, я вам запишу в матричном виде, а дальше по аналгии разберетесь.
|
|
|
|
|
Aug 8 2013, 07:30
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Цитата(RHnd @ Aug 8 2013, 10:03)  Но, видимо, у вас не очень много опыта работы с матлабом вообще и с Control Systems Toolbox в частности. Это Вы очень точно подметили!  Текст двух последовательных блоков дифур: 1) dx/dt= -(kP+kI*u(1))*x(1)+k_I*(D0-x(1)-x(2))+(k_P+kR)*x(2) kP*x(1)-(k_P+kR)*x(2) x0=0, 0 y=wR*kR*x(2) 2) dx/dt= u(1)-(kRX+k30)*x(1)+k_30*x(2)+kQ*x(3) k30*x(1)-(k_30+k50)*x(2)+k_50*x(3) k50*x(2)-(k_50+kQ)*x(3) wQ*kQ*x(3)-kQX*x(4) x0=0, 0, 0, 0 y=x(4) По-моему, главная сложность в произведении u(1)*x(1) в 1-м блоке
|
|
|
|
|
Aug 8 2013, 08:09
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Так подождите. Я же первый вопрос задал - линейная ли система? Если я правильно понимаю что у вас написано, а я вижу произведение входного сигнала на состояние, то система нелинейная. Для нее годограф может и не существовать. Да и понятие устойчивости для нелинейных систем существенно сложнее. UPD1:На всякий случай напишу для второго блока. Имеем: dx1/dt = a11*x(1) + a12*x(2) + a13*x(3) + 0*x(4) + u(1) dx2/dt = a21*x(1) + a22*x(2) + a23*x(3) + 0*x(4) dx3/dt = 0*x(1) + a32*x(2) + a33*x(3) + 0*x(4) dx4/dt = 0*x(1) + 0*x(2) + a43*x(3) + a44*x(4) y=x(4) В матричном виде: dx/dt = Ax+Bu; y=Cx+Du; Код a11=-(kRX+k30); a12=k_30; a13=kQ; a21=k30; a22=-(k_30+k50); a23=k_50; a32=k50; a33=-(k_50+kQ); a43=wQ*kQ; a44=-kQX; A=[a11 a12 a13 0; a21 a22 a23 0; 0 a32 a33 0; 0 0 a43 a44]; B=[1; 0; 0; 0]; C=[0 0 0 1]; D=0;
model=ss(A,B,C,D); Все, теперь в переменной model - ваша система. Ее можно преобразовать к передаточной функции tf(model), можно проверить устойчивость isstable(model), можно построить частотные характеристики bode(model). UPD2:Последовательное соединение получается произведением элементов, параллельно - суммированием. При однонаправленном (нет обратных связей) соединении линейных систем общая система устойчива если устойчива каждая подсистема, т.е. если можно изолировать наборы параметров в отдельных подсистемах, то проще проверять отдельно устойчивость этих подсистем. Например, в рассмотренной выше подсистеме состояние x(4) можно выделить в отдельную подсистему, где на входе x(3) на выходе y=x(4). Условие устойчивости этой отдельной подсистемы kQX>0. Так как kQX больше нигде не встречается, то для этого параметра это единственное условие. И далее такими же рассуждениями по всем линейным блокам.
|
|
|
|
|
Aug 8 2013, 11:24
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Спасибо! Много ценного! Цитата(RHnd @ Aug 8 2013, 11:09)  Я же первый вопрос задал - линейная ли система? … произведение входного сигнала на состояние, то система нелинейная. Да, действительно. Я просто специально задавал вопрос математику (профессору), линейна ли такая система ДУ и поверил ему, что линейна. Цитата(RHnd @ Aug 8 2013, 11:09)  Для нее годограф может и не существовать. Насколько я понимаю, существование годографа <=> существование передаточной функции (меняем s на iw и получаем из одного другое). То биш, для нелинейных не существует ПФ? Казалось бы, ее можно получить, по крайней мере, эмпирически как отношение преобразования Лапласа выхода к преобразованию Лапласа входа. Цитата(RHnd @ Aug 8 2013, 11:09)  Да и понятие устойчивости для нелинейных систем существенно сложнее. Все же как с ней быть? С линейными кусками понятно. А у меня, как выяснилось, нелинейная штуковина, да еще и с обратной связью. Посоветуйте хотя бы, какой tool покурить
|
|
|
|
|
Aug 8 2013, 11:47
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
С нелинейными системами есть нюанс - при подаче на вход синусоидального сигнала совершенно не обязательно вы на выходе увидите синусоидальный сигнал. Далее, даже если вы и увидите что-то похожее, то отношение преобразований (Фурье) выходного и входного сигнлов на заданной частоте зависит не только от параметров системы, но и от самого входного сигнала. Соответственно, говорить о частотных характеристиках системы самой по себе особого смысла нет, можно говорить о них только для какой-то определенной группы входных сигналов.
Вам надо определиться, что за входные сигналы могут быть у этой системы, какой формы, каких амплитуд. И тогда анализировать поведение вашей нелинейной системы. Возможно, линеаризовать вокргу какой-то рабочей точки. Но это все такие материи, где желательно разбираться в вопросе. Кстати, частотные методы анализа устойчивости в явном виде на нелинейные системы не переносятся. И вообще с анализом нелинейных систем все несколько сложнее.
Посмотрите, что я писал раньше - про Tools -> Control Design -> Linear Analysis. Симулинк умеет сам лианризовывать модели. Но, предполагаю, он так же попросит от вас задать тип входного сигнала или еще как-то описать рабочую точку.
А какая была вообще исходная задача? Может, ее можно решить проще?
|
|
|
|
|
Aug 9 2013, 06:39
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Цитата(RHnd @ Aug 8 2013, 14:47)  Вам надо определиться, что за входные сигналы могут быть у этой системы, какой формы, каких амплитуд. И тогда анализировать поведение вашей нелинейной системы. C точки зрения устойчивости с этим определяться не надо. Мне надо выяснить, при каких параметрах система после прекращения конечного воздействия вернется в стабильное состояние, а при каких – нет. Цитата(RHnd @ Aug 8 2013, 14:47)  Посмотрите, что я писал раньше - про Tools -> Control Design -> Linear Analysis. Симулинк умеет сам лианризовывать модели. Спасибо, с этим поразбираюсь. Правда не уверен, что здесь линеаризация пройдет. А разве в матлабе нет какого-нибудь нелинейного тула? Кажется, где-то когда-то натыкался. Сейчас не нахожу. Видимо, приснилось Цитата(RHnd @ Aug 8 2013, 14:47)  А какая была вообще исходная задача? Может, ее можно решить проще? Задача биологическая. Проще – не значит лучше. Я видел, как подобные задачи решают – методом притягивания за уши с помощью функции Хилла (биологи ее очень любят). В других моделях тоже вижу недостатки.
|
|
|
|
|
Aug 13 2013, 08:13
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Да, изначально сформулированный вопрос был про годограф. Годограф нужен был для исследования устойчивости, задача именно в этом. Вы указали, что для нелинейной годограф не обязан существовать. Остается искать другие пути. Линеаризация вряд ли подойдет: нужна рабочая точка, а ее взять негде, это не электронная схема, где в любое место можно ткнуть осциллографом. Цитата(RHnd @ Aug 13 2013, 08:56)  Сказать что-то про вашу нелинейную систему, увидев только кусок, нельзя. Что там до этого произведения сигналов? Что после? На данный момент нужно исследовать систему из 3-х одинаковых (на данный момент) пар блоков, которые я выкладывал. Эти 3 пары друг за дружкой замкнуты в кольцо. Вся система входа не имеет (на данный момент). Вход введен искусственно: колцо в 1 месте разорвано, в разрыв ставлю сумматор, который складывает "кольцевой" сигнал с внешним. На внешний вход подаю короткий импульс, а дальше - 0. Это нужно только для того, чтобы вывести систему из установившегося состояния. Далее, если она устойчива, то вернется; нет - нет. Известно, что реальная система неустойчива (начинает генетить). Пытаюсь подобрать такие коэффициентты, чтобы модель вела себя так же. Т.е., меняю константы и смотрю на график. А она (система), зараза, все осается устойчивой. Итого, исходный вопрос про годограф теперь трансформируется в такой (про годограф забыли): есть ли возможность в матлабе получить ответ на вопрос об устойчивости для нелинейной системы в виде "да/нет" (наподобие isstable - для линейной)? Тогда бы я мог все константы загнать в циклы и с нек. дискретностью в нек. пределах для них построить области. Или каким-нибудь другим путем?
|
|
|
|
|
Aug 13 2013, 11:29
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
1) То, что я описал в первом пункте, должно делаться автоматически. Можно из скрипта задать значения парамтрам модели (doc set_param), можно из скрпита запустить модель (doc sim), можно проанализировать результаты. Это самая субъективная часть - вам надо запрограмировать какие-то формальные критерии определения устойчивости по результатм моделирования. 2) -- 3) Я не вижу связи между знаком ОС и числом положений равновесия.  У вас нелинейная система. Почему вы считаете, что у нее одно положение равновесия? Вы это анализировали, или вам так просто кажется?
|
|
|
|
|
Aug 13 2013, 16:33
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
1) ОК. Тогда по критерию. В голову приходит только такое: отступить значительное время t и смотреть, изменился ли выход в течение интервала t...t+∆t больше, чем на ∆y. Или существует лучший способ? 3) Цитата(RHnd @ Aug 13 2013, 15:58)  Звучит крайне неубедительно. Система реализует монотонно убывающую функцию y=f(x) (для установившихся состояний). Закольцовываем ее и получаем уравнение f(x)=x. Для монотонно убывающей неотрицательной функции, определенной на положительной полуоси (в моем случае это так), решение существует и единственно. Ну для наглядности можно нарисовать график произвольной монотонно убывающей функции и провести линию под 45º через начало координат. Цитата(RHnd @ Aug 13 2013, 15:58)  И что значит - неважно? Это значит, что для проверки устойчивости по указанному алгоритму без разницы, сколько положений равновесия; важно, придет ли система в одно из них или будет осциллировать. Цитата(RHnd @ Aug 13 2013, 15:58)  Для нелинейных систем понятие устойчивости определяется не для системы вообще, а для некоторой окрестности конкретной точки равновесия. Не вижу препятствий для определения устойчивости вообще. Может быть правильней сказать так: «для нелинейных систем, в отличие от линейных, существует также и понятие устойчивости для некоторой окрестности конкретной точки равновесия (при неустойчивой в целом системе)»? Возможно, ошибаюсь. На всякий случай напомню, что у меня задача не добиться устойчивости (что требуется почти всем почти всегда), а добиться неустойчивости, т.е. чтобы система дрыгалась и не свалилась в точку равновесия.
|
|
|
|
|
Aug 13 2013, 16:52
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
1) Это не знаю, тут вам надо самом у смотреть на графики и думать, как отличать дрыгающуюся от не дрыгающейся.  3) Вы, как я понимаю, ищите какой-то предельный цикл. Или какой-то другой аттрактор. Но таких предельных циклов может существовать несколько. Часть из них может быть устойчивой, часть нет. Соответственно, при одних и тех же параметрах из одних начальных усовий система будет осциллировать, а из других - нет. Чтобы определить, так ли это и возможно ли это для вашей системы, ее надо анализировать. Нет для нелинейных систем понятия устойчивости вообще. Есть понятие устойчивости положения равновесия (какого-то аттрактора, инварианта). Ваша задача, как я ее читаю, не "добиться неустойчивости", а найти некий аттрактор, если он есть, и определить область его притяжения. Вряд ли вас устроит уход траекторий на бесконечность.
|
|
|
|
|
Aug 16 2013, 06:32
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
По физическому смыслу все константы здесь (и переменные тоже) неотрицательны. Кстати, по поводу этого: Цитата(RHnd @ Aug 13 2013, 19:52)  Нет для нелинейных систем понятия устойчивости вообще. Есть понятие устойчивости положения равновесия (какого-то аттрактора, инварианта). Вот наткнулся случайно: Цитата ... Система должна иметь нелинейные характеристики, быть глобально устойчивой, ... Конечно, не боги википедию пишут, но большинству научных статей доверять можно. Из приведенной цитаты следует, что все-таки такое понятие существует.
|
|
|
|
|
Aug 16 2013, 07:49
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Это упрощенная формулировка, которая обозначает, что у системы единственное положение равновесия, которое глобально устойчиво (для любых начальных условий). У линейных систем существует единственное положение равновесия. Поэтому про них и говорят про усточивость вообще, не уточняя, что она относится к этому положению. Я посмотрел предложение из той статьи, на которую вы ссылаетесь. Там написано "Система должна иметь нелинейные характеристики, быть глобально устойчивой, но иметь хотя бы одну неустойчивую точку равновесия колебательного типа". Это, мягко говоря, неправда. Глобально устойчивая система имеет единственное положение равновесия и никаких других неустойчивых. Кроме того, нет понятия точки равновесия колебательного типа, если там колебания, то это не точка.
|
|
|
|
|
Sep 18 2013, 03:12
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Все-таки система линейная! (когда разомкнута, т.е., без обр. связи) Конечно, назвать можно как угодно, но называется это именно так. Можно заглянуть в любой справочник по ДУ, хоть в ту же википедию.
P.S. Я говорю в данном случае про систему ДУ. Я могу, конечно, допустить, что для физической системы общепринятая терминология (линейная / нелин.) может отличаться от терминологии для системы ДУ, которыми описывается физическая система (слово "система" здесь употреблено в двух разных смыслах). Я этот вопрос не вентилировал. Но все-таки кажется, что терминология д.б. согласованной.
|
|
|
|
|
Sep 18 2013, 07:50
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Diusha @ Sep 18 2013, 06:12)  Все-таки система линейная! (когда разомкнута, т.е., без обр. связи)
P.S. Я говорю в данном случае про систему ДУ. Замыкание обратной связью не делает линейную систему нелинейной. Предположим, у вас есть система линейная по состоянию, но нелинейная по входу. Тогда замкнутая станет нелинейной по состоянию. Но говорить про исходную систему, что она линейная - некорректно, она линейна только по состоянию. И если вы последовательно соедините два таких блока, то получите нелинейную по состоянию систему. Приведите здесь систему ДУ от входа до выхода.
|
|
|
|
|
Sep 19 2013, 01:37
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Похоже, действительно, имеет место то, что я написал в пээсе (P.S.) – разная терминология. И понятие линейности в дифурном смысле, похоже, соответсвует (или близко) линейности по состоянию («по состоянию», «по входу» – пока я не копал точных определений, но думаю, что по названию и контексту догадался правильно, о чем идет речь). Цитата(RHnd @ Sep 18 2013, 10:50)  И если вы последовательно соедините два таких блока, то получите нелинейную по состоянию систему. Приведите здесь систему ДУ от входа до выхода. Выписывать все лень; я и так догадываюсь, на что Вы намекаете – получится произведение x(i)*x(j), а это есть (формально) нелинейность (и в дифурной терминологии и по состоянию). Но x(i) и x(j) не «переплетены», в отличие от остальных х-ов. Поэтому при решении такой системы ДУ (на бумаге) она естественным образом развалится обратно на 2 линейные. Т.е. решаться это будет методами, прописанными для линейных систем ДУ.
|
|
|
|
|
Sep 22 2013, 02:42
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Вот, например. Другого определения я не встречал. Еще раз: обращаем внимание на то, в каком смысле употребляется слово «система». Это очень многогранное слово. Есть система взглядов, политическая система, система обозначений… Это всё разные значения одного и того же слова. Есть то, что я назвал выше физической системой (не знаю, правильно ли; возможно это как-то иначе называется) – какой-то объект (или совокупность объектов), реально существующий или могущий существовать и живущий по физическим законам. Это еще одно значение слова «система». Я же сейчас говорю про систему_дифференциальных_уравнений (еще одно значение слова «система», отличное от всех предыдущих). В теории ДУ нет понятия «по состоянию»
|
|
|
|
|
Sep 22 2013, 11:01
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Вы знаете, у природы есть одно замечательное свойство - ей, собственно, глубоко плевать на ту систему обозначений, которую вы себе выбрали. Кончено, вы можете взять исходную систему дифур, выделить из неё какие-то малые подсистемы и заявить, что они линейные, а все то, что нелинейное, это просто какие-то входные функции времени, - собственно это вы и делаете, пытаясь впихнуть ваши уравнения в приведенное вами определение линейной системы ДУ. Ваше право. Но как только вы соедините эти подсистемы между собой, все эти доводы станут ничтожны. А причина проста - исходная система нелинейна, как бы вы не фантазировали.
|
|
|
|
|
Sep 23 2013, 14:36
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Цитата(RHnd @ Sep 22 2013, 14:01)  Вы знаете, у природы есть одно замечательное свойство - ей, собственно, глубоко плевать на ту систему обозначений, которую вы себе выбрали. Вы считаете, что к Вам это не может относится?  Цитата(RHnd @ Sep 22 2013, 14:01)  А причина проста - исходная система нелинейна,. В каком смысле здесь употреблено слово «система»? Мне кажется, что Вы упорно игнорируете то, что я пишу про различие понятий, стоящих за одним и тем же словом. Если я непонятно формулирую, укажите на это, я попробую перефразировать. Итого: какая система нелинейна: физическая или ДУ? Если физическая, то укажите, где я это оспаривал. Если система ДУ, то покажите определение линейной системы ДУ, под которое моя система ДУ не попадает. Только, чур, из заслуживающих доверие источников; при желании можно найти и то, что 2*2=5. Цитата(RHnd @ Sep 22 2013, 14:01)  … пытаясь впихнуть ваши уравнения в приведенное вами определение линейной системы ДУ … как бы вы не фантазировали Я ничего не фантазирую и не впихиваю. Я просто вижу определение и вижу систему ДУ, в точности под него подходящую. И обратите внимание, я из определений не делаю никаких выводов о способах анализа, а Вы все время мне это приписываете.
|
|
|
|
|
Sep 26 2013, 07:28
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Наша беседа пошла по кругу. Давайте вернемся к истокам - какая постановка задачи? Ведь задачи классифицировать систему, как правило, не стоИт, - не будем на этом зацикливаться. Все, что нужно от классификации, - определить, какие свойства и какой инструментарий, относящийся к конкретной классификации, может быть использован для решения задачи. Как мне подсказали, ваша система называется билинейной: http://www.springer.com/mathematics/applic...8-1-4020-9612-9
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|