реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Годограф в MATLAB
Diusha
сообщение Aug 8 2013, 05:49
Сообщение #1


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Система задана в Симулинке блоками с дифурами (не передаточными функциями). Возможно ли в матлабе нарисовать годограф для такой системы? (Насколько я понял, nyquist рисует годограф для системы, заданной передаточной ф-ей, но это не мой случай).
Нужно все это для того, чтобы посмотреть, при каких коэффициентах есть или нет устойчивости (критерий Найквиста).
Если с годографом никак, может есть альтернативный способ решения задачи?
Go to the top of the page
 
+Quote Post
RHnd
сообщение Aug 8 2013, 05:53
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



А система вообще линейная? Много блоков с дифурами?
Go to the top of the page
 
+Quote Post
Diusha
сообщение Aug 8 2013, 06:09
Сообщение #3


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Система линейная.
Блоков дифуров сейчас 6, в дальнейшем м.б. больше. А разве это на что-то влияет? Ведь одно и то же нарисовать можно по-разному. Эту же систему я сначала нарисовал в виде 3-х блоков, потом для удобства каждый разбил на 2
Go to the top of the page
 
+Quote Post
RHnd
сообщение Aug 8 2013, 06:27
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Вопрос был в том, не проще ли переписать систему в аналитическом виде в матлабе, минуя симулинк.

Вам может помочь Tools - Control Design - Linear Analysis. Там выбрать тип графика и сделать линеаризацию. Предварительно на схеме надо через контекстное меню выбрать входную и выходную точки линеаризации.
Но мне кажется, это сомнительный вариант для заданной аналитически системы. Я не очень представляю процесс анализа. Вводить набор параметров, строить годограф, анализировать, вводить новый набор параметров, так?
Go to the top of the page
 
+Quote Post
Diusha
сообщение Aug 8 2013, 06:44
Сообщение #5


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Боюсь, что не проще. Хотелось бы не "одноразово" проверить, а наладить механизм для тестирования многих подобных систем (а задавать иным способом, кроме ДУ, проблематично).
Более того, в данном случае я не представляю, как это сделать (если я правильно понял, что "в аналитическом виде" - это задать передаточной ф-ей как отношение полиномов)

Про Control Design - Linear Analysis пока не очень понял. Посмотрю.

Цитата(RHnd @ Aug 8 2013, 09:27) *
Я не очень представляю процесс анализа. Вводить набор параметров, строить годограф, анализировать, вводить новый набор параметров, так?

Видимо, так. Только по одному параметру менять. Конечно, в идеале бы получить ответ в виде области в пространстве параметров. Но я уж об этом и не мечтаю. Хотя бы так...
Go to the top of the page
 
+Quote Post
RHnd
сообщение Aug 8 2013, 07:03
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Я имел ввиду в виде линейной системы в матлабе. Не обязательно в виде передаточной функции, вполне сойдет и в виде пространства состояний (state space). Если ваша система линейная, то то, что вы записываете в дифуры, должно элементарно переноситься в матрицы. А затем, когда у вас есть объект системы в матлабе, с ним можно уже много чего делать, в том числе и более эффективно анализировать устойчивость.

Но, видимо, у вас не очень много опыта работы с матлабом вообще и с Control Systems Toolbox в частности. Киньте сюда текст двух ваших последовательных блоков дифур, я вам запишу в матричном виде, а дальше по аналгии разберетесь.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Aug 8 2013, 07:30
Сообщение #7


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(RHnd @ Aug 8 2013, 10:03) *
Но, видимо, у вас не очень много опыта работы с матлабом вообще и с Control Systems Toolbox в частности.

Это Вы очень точно подметили! sm.gif

Текст двух последовательных блоков дифур:

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-м блоке
Go to the top of the page
 
+Quote Post
RHnd
сообщение Aug 8 2013, 08:09
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 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 больше нигде не встречается, то для этого параметра это единственное условие. И далее такими же рассуждениями по всем линейным блокам.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Aug 8 2013, 11:24
Сообщение #9


Вечный студент
****

Группа: Участник
Сообщений: 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 покурить
Go to the top of the page
 
+Quote Post
RHnd
сообщение Aug 8 2013, 11:47
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



С нелинейными системами есть нюанс - при подаче на вход синусоидального сигнала совершенно не обязательно вы на выходе увидите синусоидальный сигнал. Далее, даже если вы и увидите что-то похожее, то отношение преобразований (Фурье) выходного и входного сигнлов на заданной частоте зависит не только от параметров системы, но и от самого входного сигнала. Соответственно, говорить о частотных характеристиках системы самой по себе особого смысла нет, можно говорить о них только для какой-то определенной группы входных сигналов.

Вам надо определиться, что за входные сигналы могут быть у этой системы, какой формы, каких амплитуд. И тогда анализировать поведение вашей нелинейной системы. Возможно, линеаризовать вокргу какой-то рабочей точки. Но это все такие материи, где желательно разбираться в вопросе. Кстати, частотные методы анализа устойчивости в явном виде на нелинейные системы не переносятся. И вообще с анализом нелинейных систем все несколько сложнее.

Посмотрите, что я писал раньше - про Tools -> Control Design -> Linear Analysis. Симулинк умеет сам лианризовывать модели. Но, предполагаю, он так же попросит от вас задать тип входного сигнала или еще как-то описать рабочую точку.

А какая была вообще исходная задача? Может, ее можно решить проще?
Go to the top of the page
 
+Quote Post
Diusha
сообщение Aug 9 2013, 06:39
Сообщение #11


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(RHnd @ Aug 8 2013, 14:47) *
Вам надо определиться, что за входные сигналы могут быть у этой системы, какой формы, каких амплитуд. И тогда анализировать поведение вашей нелинейной системы.

C точки зрения устойчивости с этим определяться не надо. Мне надо выяснить, при каких параметрах система после прекращения конечного воздействия вернется в стабильное состояние, а при каких – нет.

Цитата(RHnd @ Aug 8 2013, 14:47) *
Посмотрите, что я писал раньше - про Tools -> Control Design -> Linear Analysis. Симулинк умеет сам лианризовывать модели.

Спасибо, с этим поразбираюсь. Правда не уверен, что здесь линеаризация пройдет. А разве в матлабе нет какого-нибудь нелинейного тула? Кажется, где-то когда-то натыкался. Сейчас не нахожу. Видимо, приснилось wink.gif

Цитата(RHnd @ Aug 8 2013, 14:47) *
А какая была вообще исходная задача? Может, ее можно решить проще?

Задача биологическая. Проще – не значит лучше. Я видел, как подобные задачи решают – методом притягивания за уши с помощью функции Хилла (биологи ее очень любят). В других моделях тоже вижу недостатки.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Aug 9 2013, 19:10
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Да, действительно. Я так увлекся вопросом о частотных характеристиках, что забыл об исходной задаче. sm.gif

Если вас интересует только поведение систем в отсутствие входного сигнала, то положите u=0 и получите в первом блоке линейную систему.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Aug 11 2013, 16:52
Сообщение #13


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Не-не-не! В этом U вся соль! U это только вход одного из блоков (коих много), а не всей системы. Возможно, из модели что-то и можно выкинуть, но только не U
Go to the top of the page
 
+Quote Post
RHnd
сообщение Aug 11 2013, 22:05
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Тогда вы имеете нелинейную систему, поведение которой надо анализировать. Это не самая тривиальная, в общем случае, задача.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Aug 12 2013, 11:14
Сообщение #15


Вечный студент
****

Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262



Цитата(RHnd @ Aug 12 2013, 01:05) *
Тогда вы имеете нелинейную систему, поведение которой надо анализировать.

Cобсно, в этом и вопрс wink.gif
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 11:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01513 секунд с 7
ELECTRONIX ©2004-2016