2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 линеаризация системы ду
Сообщение14.12.2010, 08:05 
Аватара пользователя
Здравствуйте. У меня есть некоторая СДУ вида:
$x' = f(x) + g(x) u$, здесь x - вектор, f и g - векторные функции секторных аргументов, u - скаляр. Штрихом обозначено дифференцирование по времени.
Требуется свести её к следующему виду:
$z' = A z + b v$ (форма управления Бруновского)

Нашёл в книжке метод линеаризации обратной связью:
1. Для исходной системы определяется матрица управляемости Y = [g, ad_f g ... ad_{f}^{n-2} g]$
2. Вычислить $Det Y$ и проверить инвалютивность множества векторов, составленных из первых $n-1$ столбцов матрицы $Y$.
3. Если $Det Y \not = 0$ и множество $[g, ad_f g ... ad_{f}^{n-2} g]$ инвалютивно, то можно определить функцию $T_1(x)$ из соотношения:
$\bigtriangledown T_1(x) ad_f^i g = 0, i = 0, 1 .. n-2$
4. определить правило преобразования
$z = [T_1(x), T_2(x) .. T_n(x)]^T$

Вопрос такой. Получится ли линеаризовать систему, если функция $f(x) = [x_2 x_3, x_1 x_3, x_1 x_2]^T$, а функция $g(x) = [g_1, g_2, g_3]^T$? Дело в том, что у меня в голове крутится какая-то теорема о том, что если систему нельзя линеаризовать разложением в ряд Тейлора, то не получится и никаким другим.
Мои сомнения в невозможности такой линеаризации усиливаются тем обстоятельством, что в книге в качестве примера приводится такая система:
$x_1 ' = x_2$
$x_2 ' = x_3^3 + u$
$x_3 ' = x_1 + c x_3 ^ 3$
Видно, что система содержит члены первой и третьей степени, очевидно, что система линеаризуется разложением в ряд.

 
 
 
 Re: линеаризация системы ду
Сообщение14.12.2010, 11:23 
А Вы часом не путаете понятия линеаризации при помощи разложения в ряд Тейлора и линеаризации при помощи обратной связи. Это суть два разных понятия не связанных между собой.

Какова функция выхода в приведенном вами примере?

 
 
 
 Re: линеаризация системы ду
Сообщение14.12.2010, 11:43 
Найдите особые точки, разложите $f$ и $g$ в ряд Тейлора около них, проверьте ранги матриц, собственные числа и т.д.

 
 
 
 Re: линеаризация системы ду
Сообщение14.12.2010, 12:11 

(Оффтоп)

Кстати, еще один вопрос: а что за книжку Вы читаете?


А как
Gortaur в сообщении #387297 писал(а):
собственные числа и т.д.

помогают в исследовании вопроса линеаризации?

 
 
 
 Re: линеаризация системы ду
Сообщение14.12.2010, 13:26 
Аватара пользователя
Цитата:
А Вы часом не путаете понятия линеаризации при помощи разложения в ряд Тейлора и линеаризации при помощи обратной связи.
Так вот, насколько мне помнится, вне зависимости от типа линеаризации результат будет всегда один.
Полностью система выглядит так:

$x_1' = a_1 x_2 x_3 + b_1  u_1$
$x_2' = a_2 x_1 x_3 + b_2  u_2$
$x_3' = a_3 x_1 x_2 + b_3  u_3$
$x_4' = -1/2 \sqrt{1-x_4^2-x_5^2-x_6^2} x_1 - 1/2(x_2 x_6 - x_3 x_5)$
$x_5' = -1/2 \sqrt{1-x_4^2-x_5^2-x_6^2} x_2 - 1/2(x_3 x_4 - x_1 x_6)$
$x_6' = -1/2 \sqrt{1-x_4^2-x_5^2-x_6^2} x_3 - 1/2(x_1 x_5 - x_2 x_4)$

Вообще говоря, интересует стабилизация положения относительно точки $x_4 = 0, x_5 = 0, x_6 = 0$. У меня такое ощущение, что матрица Y в этой точке будет вырождена. Вечером посчитаю.

 
 
 
 Re: линеаризация системы ду
Сообщение14.12.2010, 19:23 
cupuyc в сообщении #387265 писал(а):
Получится ли линеаризовать систему, если функция $f(x) = [x_2 x_3, x_1 x_3, x_1 x_2]^T$, а функция $g(x) = [g_1, g_2, g_3]^T$?


Замечу, что наверное Вы предполагали: $g(x) = [b_1, b_2, b_3]^T$.

cupuyc в сообщении #387265 писал(а):
Дело в том, что у меня в голове крутится какая-то теорема о том, что если систему нельзя линеаризовать разложением в ряд Тейлора, то не получится и никаким другим.

Честно не слышал о такой теореме (но я и не большой спец в этой области, просто стало любопытно).

Я немного поковырялся в вашем первом примере и если верить этому: http://www.scholarpedia.org/article/Feedback_linearization, то не выполняется первое условие теоремы (второе мне проверять было лень).

(Оффтоп)

А все таки, что за книжку Вы читаете? Было бы любопытно самому полистать.

 
 
 
 Re: линеаризация системы ду
Сообщение14.12.2010, 23:39 
zuj в сообщении #387303 писал(а):

(Оффтоп)

Кстати, еще один вопрос: а что за книжку Вы читаете?


А как
Gortaur в сообщении #387297 писал(а):
собственные числа и т.д.

помогают в исследовании вопроса линеаризации?


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

Если конечно проводить линеаризацию "ну, чтобы просто была" - можно и не проверять. С другой стороны, зачем тогда брать в качестве матрицы $A$ производную функции $f$ в особой точке?

 
 
 
 Re: линеаризация системы ду
Сообщение15.12.2010, 00:30 
Аватара пользователя
Цитата:
Замечу, что наверное Вы предполагали
Имеет смысл какой буквой обозначить? Важно лишь то, что это константы.

Gortaur, Вы несколько не понимаете суть задачи. Есть некоторая система. Диффеоморфным преобразованием из этой системы получают другую, линейную систему. На основании устойчивости линейной системы можно судить об устойчивости нелинейной в силу диффеоморфности преобразования. Для того, чтобы преобразование было диффеоморфным матрица Y должна быть невырожденной. При чём здесь особые точки? Если они и есть, то они проявятся когда мы будем вычислять матрицу Y (её определитель обратится в ноль).

Буду очень благодарен, если подскажете какой ещё метод линеаризации можно попробовать. Или кто-нибудь вспомнит эту самую теорему о невозможности линеаризации. Честно говоря, у меня у самого очень смутные воспоминания по поводу этой теоремы. Вполне возможно, что меня глючит.

 
 
 
 Re: линеаризация системы ду
Сообщение15.12.2010, 09:36 
cupuyc в сообщении #387607 писал(а):
Цитата:
Замечу, что наверное Вы предполагали
Имеет смысл какой буквой обозначить? Важно лишь то, что это константы.

Нет не имеет. Главное, чтобы везде тогда было одинаково.
cupuyc в сообщении #387334 писал(а):
$x_1' = a_1 x_2 x_3 + b_1  u_1$
$x_2' = a_2 x_1 x_3 + b_2  u_2$
$x_3' = a_3 x_1 x_2 + b_3  u_3$
$x_4' = -1/2 \sqrt{1-x_4^2-x_5^2-x_6^2} x_1 - 1/2(x_2 x_6 - x_3 x_5)$
$x_5' = -1/2 \sqrt{1-x_4^2-x_5^2-x_6^2} x_2 - 1/2(x_3 x_4 - x_1 x_6)$
$x_6' = -1/2 \sqrt{1-x_4^2-x_5^2-x_6^2} x_3 - 1/2(x_1 x_5 - x_2 x_4)$


cupuyc в сообщении #387607 писал(а):
Буду очень благодарен, если подскажете какой ещё метод линеаризации можно попробовать.

Еще можно попробовать так называемый: "Model matching", где в качестве передаточной функции описывающей замкнутый контур выступает линейная "reference model". Это тоже своего рода линеаризация, но в том виде в котором ее понимаю я, те не в окресности каких то точек, а глобальная линеаризация на всем рабочем промежутке (как было замеченно выше мы преобразовываем нашу нелинейную модель к линейной форме при помощи определеного управляющего сигнала). Естесственно такой контроллер не всегда можно построить.

(Оффтоп)

Извините, не очень хорошо знаю русскую терминологию. Но думаю это не помешает найти нужную информацию по ключевым словам.


По первому методу могу посоветовать почитать A. Isidori, "Nonlinear Control systems" и H. Khalil, "Nonlinear systems". По второму методу (который я посоветовал попробовать выше) могу посоветовать работы C. Moog и Ко (он использует диференциально геометрический подход). Есть и совсем свежие результаты, использующие другие методы, но думаю для начала все-таки стоит ограничиться этим.

 
 
 
 Re: линеаризация системы ду
Сообщение10.01.2011, 10:36 
Аватара пользователя
Хочу задать ещё один вопрос по той же теме. Есть метод линеаризации обратной связью по выходу. Мне нужно, чтобы у меня 3 переменных состояния одновременно обращались в нуль, следовательно функцию выхода я выбираю следующим образом: $y = x_1^2 + x_2^2 + x_3^2$. Но при такой функции выхода я получаю вырождение в нуле. Это и понятно - производная выхода будет содержать произведения производных переменных состояния на значения самих этих переменных. Можно сделать вывод, что функция выхода вообще не должна слагаемых порядка $||x||$.. Собственно вопрос: как в данной ситуации можно избавиться от вырождения? Выбрать другую функцию выхода? Или может взять 3 функции: $y_1 = x_1$, $y_2 = x_2$, $y_3 = x_3$ и для каждой решить соответствующую задачу?

 
 
 
 Re: линеаризация системы ду
Сообщение10.01.2011, 10:59 
То есть первый Ваш вопрос такой: можно ли найти функцию $f(x_1,x_2,x_3)$ такую, что $f  = 0$ тогда и только тогда, когда $x_1=x_2=x_3=0$, но при этом градиент в этой точке был бы ненулевой?

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

 
 
 
 Re: линеаризация системы ду
Сообщение10.01.2011, 13:48 
Аватара пользователя
Gortaur, спасибо. С первым понятно.

 
 
 [ Сообщений: 12 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group