|
Годограф в MATLAB |
|
|
|
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)  А какая была вообще исходная задача? Может, ее можно решить проще? Задача биологическая. Проще – не значит лучше. Я видел, как подобные задачи решают – методом притягивания за уши с помощью функции Хилла (биологи ее очень любят). В других моделях тоже вижу недостатки.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|