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

 
 
> Оганичения на линейные уравнения, Как решать?
RHnd
сообщение Jul 29 2008, 13:44
Сообщение #1


Знающий
****

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



Имеем невырожденную матрицу A 6x6. Произвольно назначаем вектор Y 6x1 так, чтоб корни полинома, образуемого этим вектором, имели действительную часть меньше r0. Требуется найти X: X*A=Y. Решал эту задачу в матлабе просто: R=[желаемые корни]; Y=poly®; X=inv(A)*Y;
Теперь появилось ограничение на вектор X - первые три компоненты (x(1), x(2), x(3)) должны быть одного знака, например, больше нуля - не принципиально. В идеале, все компоненты вектора X должны быть одного знака.
Как решать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RHnd
сообщение Jul 30 2008, 06:41
Сообщение #2


Знающий
****

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



Вариант с рэндомом был попробован в первую очередь. smile.gif Получилось, что для real(Ri)<-1 решения находится быстро, а вот для real(Ri)<-10 - решение так и не нашлось.
Кстати, похожая ситуация и просто с нахождением полинома. Т.е. генерируем рандомно коеффициенты полинома, ищем корни. Сгенерировать такой полином, чтоб все корни меньше -10 - не удалось.

Цитата(fontp @ Jul 30 2008, 10:16) *
Соответственно это задача при строгой постановке - оптимизационная задача программирования нелинейного размерности 16. Тут не до симплекса :-)

Так и есть. Только там не 5 пар корней - комплексные должны быть комплексно сопряжены, коеффициенты полинома - действительные числа.
И как подступаться к такой задаче?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 02:19
Рейтинг@Mail.ru


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