Поиск:

Ответ в темуСоздание новой темы Создание опроса
> матричное уравнение 
:(
    Опции темы
mrgloom
Дата 24.7.2012, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



есть матричное уравнение, все матрицы 3х3, надо найти M, А и B известны. 
Цитата

A*M=M*B

пните в нужную сторону 
PM MAIL   Вверх
Pavia
Дата 24.7.2012, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



A*M-M*B=0
Далее решаем систему уравнений

C*D=0
D=(m00,m01,m02,m10,m11,m12,m20,m21,m22);
PM MAIL   Вверх
mrgloom
Дата 25.7.2012, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



а С чему равно?
PM MAIL   Вверх
W4FhLF
Дата 5.8.2012, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



Pavia, далеко не всё так просто. Вообще по виду уравнение не имеет решений в общем случае, кроме тривиального М = 0. 

Может это поможет: http://en.wikipedia.org/wiki/Sylvester_equation

Хотя форма другая всё-таки. 

Это сообщение отредактировал(а) W4FhLF - 5.8.2012, 20:20


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
entrix
Дата 6.8.2012, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.4.2010

Репутация: нет
Всего: нет



Смотрите GNU Octave, там есть соответствующая функция syl:

Solve the Sylvester equation

          A X + X B + C = 0
using standard lapack subroutines. For example:

          syl ([1, 2; 3, 4], [5, 6; 7, 8], [9, 10; 11, 12])
               ⇒ [ -0.50000, -0.66667; -0.66667, -0.50000 ]


http://www.gnu.org/software/octave/doc/int...#index-syl-2110
PM MAIL   Вверх
mrgloom
Дата 6.8.2012, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



похоже, то что нужно.
попробую в Mathematica.
PM MAIL   Вверх
mrgloom
Дата 6.8.2012, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



попробовал в Mathematica выдало все нули, ну т.е. тривиальное решение.

может что то сделал не правильно?

мне всё таки надо наверно сперва доказать, что существует решение отличное от тривиального.


PM MAIL   Вверх
maxim1000
Дата 6.8.2012, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



это обычное однородное линейное уравнение, как и сказал Pavia

так что можно просто построить матрицу (9*9) и посмотреть на её определитель



--------------------
qqq
PM WWW   Вверх
mrgloom
Дата 6.8.2012, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



вы походу перепутали 
A*X=B*X
и 
A*X=X*B

тут Х так просто не выразить

Это сообщение отредактировал(а) mrgloom - 6.8.2012, 12:52
PM MAIL   Вверх
W4FhLF
Дата 6.8.2012, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



maxim1000, умножение матриц операция не коммутативная.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
mrgloom
Дата 6.8.2012, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



http://math.stackexchange.com/questions/17...vester-equation


проверяю на существование не тривиального решения
через первый критерий
Цитата
NullSpace[KroneckerProduct[IdentityMatrix[3],A]-KronekerProduct[B,IdentityMatrix[3]]]

выдает {}
матрицы задавал как 
Цитата
A={{a11,a12,a13},{a21,a22,a23},{a31,a32,a33}}
B={{b11,b12,b13},{b21,b22,b23},{b31,b32,b33}}

так же пробовал
Цитата
A={{a11,a12,a13},{a21,a22,a23},{0,0,1}}
B={{b11,b12,b13},{b21,b22,b23},{b31,b32,1}}


хотелось бы узнать как по матрице A
Цитата
A={{a11,a12,a13},{a21,a22,a23},{0,0,1}}

можно найти хотя бы 1 матрицу B  которая будет удовлетворять вышеописанному условию?
 
так же пробовал через другое эквивалентное условие.
Цитата
Resultant[Det[A-x IdentityMatrix[3]],Det[-B-x IdentityMatrix[3]],x] =0

хотя возможно оно выглядит так 
Цитата
Resultant[Det[A-x IdentityMatrix[3]],Det[B-x IdentityMatrix[3]],x]=0

вопрос опять же остается, 
хотелось бы узнать как по матрице A
Цитата
A={{a11,a12,a13},{a21,a22,a23},{0,0,1}}

можно найти хотя бы 1 матрицу B которая будет удовлетворять вышеописанному условию?
PM MAIL   Вверх
maxim1000
Дата 6.8.2012, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(W4FhLF @  6.8.2012,  13:34 Найти цитируемый пост)
maxim1000, умножение матриц операция не коммутативная. 

а этого и не нужно
просто записать каждый коеэффициент левого произведения и каждый коэффициент правого произведения, ну и приравнять

9 уравнений
9 неизвестных
все уравнения линейные

тот факт, что произведение некоммутативно, приведёт разве что к тому, что формулы будут разные и разные наборы неизвестных будут слева и справа, но для СЛАУ это не так важно


--------------------
qqq
PM WWW   Вверх
mrgloom
Дата 7.8.2012, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



дело в том, что эти 9 уравнений не решить как обычную СЛАУ.
т.к.  хотя бы для примера
AX-XB
первая строчка зависит от x11,x12,x13,x21,x31
AX
первая строчка зависит от x11,x21,x31


возможно 
AX-XB=0
как то и переписывается в виде типа  
P*X=C
но как построить матрицы P,C ?
PM MAIL   Вверх
maxim1000
Дата 7.8.2012, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(mrgloom @  7.8.2012,  09:34 Найти цитируемый пост)
дело в том, что эти 9 уравнений не решить как обычную СЛАУ.
т.к.  хотя бы для примера
AX-XB
первая строчка зависит от x11,x12,x13,x21,x31
AX
первая строчка зависит от x11,x21,x31

да почему???
даже если в каждом уравнении будут участвовать все 9 неизвестных, менее линейной система не станет

на всякий случай уточню, систему будет представлена уже матрицей 9*9 (т.к. 9 неищвестных и 9 уравнений)

Это сообщение отредактировал(а) maxim1000 - 7.8.2012, 10:06


--------------------
qqq
PM WWW   Вверх
mrgloom
Дата 7.8.2012, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



да, я кажется понял.

вместо системы 3х3*3х3 получаем 9х9*1х9
A*X-X*B=new_A*new_Xr=0
я это вручную сделал, а вот как записать формулу для матрицы 9х9 в общем виде?
потом загнал  в LeastSquares и получил опять тривиальное решение =0.
PM MAIL   Вверх
maxim1000
Дата 7.8.2012, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(mrgloom @  7.8.2012,  10:53 Найти цитируемый пост)
я это вручную сделал, а вот как записать формулу для матрицы 9х9 в общем виде?

так вручную в коде и записать, 9 уравнений - не так уж и много
ну и в процессе можно обнаружить какую-нибудь закономерность, может, код сократится


Цитата(mrgloom @  7.8.2012,  10:53 Найти цитируемый пост)
потом загнал  в LeastSquares и получил опять тривиальное решение =0. 

зачастую под решением СЛАУ подразумевается нахождение конкретного вектора
здесь задача решить однородную систему, если есть какие-то нетривиальные решения, то их есть целое линейное подпространство, надо какие-нибудь специализированные методы смотреть


--------------------
qqq
PM WWW   Вверх
mrgloom
Дата 8.8.2012, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата

ну и в процессе можно обнаружить какую-нибудь закономерность

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

там проблема в том, что не тривиальное решение существует только когда, выполняется условие, которое зависит от матриц А,В.
Матрицу А я могу варьировать(но там есть некоторые ограничения), а матрица В неким образом всё таки зависит от матрицы А.
и матрица В определена с погрешностью.

так вот непонятно можно ли подобрать матрицу А таким образом, чтобы у уравнения АХ=ХВ существовало отличное от тривиальное решение? 
PM MAIL   Вверх
maxim1000
Дата 8.8.2012, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



для существования нетривиального решения матрицы 9*9 должна быть вырождена
так что можно определитель приравнять нулю

хотя, конечно, аналитически с формулой определителя 9*9 работать неудобно, но можно попробовать как-то численно...


--------------------
qqq
PM WWW   Вверх
mrgloom
Дата 8.8.2012, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



и что получится полином 9 степени от 18 параметров?  и как его решать?
PM MAIL   Вверх
maxim1000
Дата 8.8.2012, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(mrgloom @  8.8.2012,  14:10 Найти цитируемый пост)
и что получится полином 9 степени от 18 параметров?

насколько я понимаю, B предполагается известной, нужно найти A
тогда будет полином от 9 параметров (элементы B будут просто числами)
честно говоря, на вскидку, алгоритм нахождения нулей этого полинома я не предложу, но, возможно, что-то и есть...

кроме того, наверное, на A есть какие-то ограничения, иначе можно просто взять A=B, тогда единичная матрица в качестве X вполне себе подходит на роль нетривиального решения


--------------------
qqq
PM WWW   Вверх
mrgloom
Дата 9.8.2012, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата

Solve[(m31 x1 + m32 y1 + 1) u1 == (m11 x1 + m12 y1 + m13) &&
  (m31 x1 + m32 y1 + 1) v1 == (m21 x1 + m22 y1 + m23) &&
  (m31 x2 + m32 y2 + 1) u2 == (m11 x2 + m12 y2 + m13) &&
  (m31 x2 + m32 y2 + 1) v2 == (m21 x2 + m22 y2 + m23) &&
  (m31 x3 + m32 y3 + 1) u3 == (m11 x3 + m12 y3 + m13) &&
  (m31 x3 + m32 y3 + 1) v3 == (m21 x3 + m22 y3 + m23) &&
  (m31 x4 + m32 y4 + 1) u4 == (m11 x4 + m12 y4 + m13) &&
  (m31 x4 + m32 y4 + 1) v4 == (m21 x4 + m22 y4 + m23) &&
  (m31 x5 + m32 y5 + 1) u5 == (m11 x5 + m12 y5 + m13) &&
  (m31 x5 + m32 y5 + 1) v5 == (m21 x5 + m22 y5 + m23) &&
  (m31 x6 + m32 y6 + 1) u6 == (m11 x6 + m12 y6 + m13) &&
  (m31 x6 + m32 y6 + 1) v6 == (m21 x6 + m22 y6 + m23) &&
  (m31 x7 + m32 y7 + 1) u7 == (m11 x7 + m12 y7 + m13) &&
  (m31 x7 + m32 y7 + 1) v7 == (m21 x7 + m22 y7 + m23) &&
  (m31 x8 + m32 y8 + 1) u8 == (m11 x8 + m12 y8 + m13) &&
  (m31 x8 + m32 y8 + 1) v8 == (m21 x8 + m22 y8 + m23) &&
  (m31 x9 + m32 y9 + 1) u9 == (m11 x9 + m12 y9 + m13) &&
  (m31 x9 + m32 y9 + 1) v9 == (m21 x9 + m22 y9 + m23) &&
  (m31 x10 + m32 y10 + 1) u10 == (m11 x10 + m12 y10 + m13) &&
  (m31 x10 + m32 y10 + 1) v10 == (m21 x10 + m22 y10 + m23) &&
  dx == x2 - x1 &&
  dy == y2 - y1 &&
  dx == x4 - x3 &&
  dy == y4 - y3 &&
  dx == x6 - x5 &&
  dy == y6 - y5 &&
  dx == x8 - x7 &&
  dy == y8 - y7 &&
  dx == x10 - x9 &&
  dy == y10 - y9
 , {dx, dy, m11, m12, m13, m21, m22, m23, m31, m32,
   x1, x2, x3, x4, x5, x6, x7, x8, x9, x10,
   y1, y2, y3, y4, y5, y6, y7, y8, y9, y10}]


а такую систему можно как AX=B представить?
PM MAIL   Вверх
mrgloom
Дата 10.8.2012, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



что если поставить задачу так.
я знаю координаты точек u,v после преобразования, а до преобразования x,y не знаю, но знаю что расстояние между точками сохраняется.

пример имею 5 одних и тех же четырехугольников до и после
user posted image
user posted image

возможно ли имея такую информацию найти неизвестное преобразование?
PM MAIL   Вверх
maxim1000
Дата 10.8.2012, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Судя по картинкам, у меня складывается впечатление, что это не афинное преобразование.
Больше похоже на вот это вот.

Подозреваю, что там нужны несколько другие методы...


--------------------
qqq
PM WWW   Вверх
mrgloom
Дата 10.8.2012, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



ну да перспективное, но ни задаются одной формулой
у афинного просто последняя строка 0 0 1 
PM MAIL   Вверх
baldina
Дата 10.8.2012, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



Цитата(maxim1000 @  10.8.2012,  10:39 Найти цитируемый пост)
Судя по картинкам, у меня складывается впечатление, что это не афинное преобразование.
...
Подозреваю, что там нужны несколько другие методы... 

перейдите к размерности на 1 больше, получите аффинное.

Цитата(mrgloom @  10.8.2012,  10:24 Найти цитируемый пост)
расстояние между точками сохраняется

судя по рисунку, это не так. может, имеется в виду соотношение расстояний? (и это естественно, т.к. в данном случае имеем только поворот в 3D)

Добавлено через 6 минут и 43 секунды
Цитата(mrgloom @  10.8.2012,  10:24 Найти цитируемый пост)
я знаю координаты точек u,v после преобразования, а до преобразования x,y не знаю

что еще известно?

PM MAIL   Вверх
mrgloom
Дата 10.8.2012, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата(baldina @  10.8.2012,  14:04 Найти цитируемый пост)
судя по рисунку, это не так. может, имеется в виду соотношение расстояний? (и это естественно, т.к. в данном случае имеем только поворот в 3D)

вы наверно не поняли,  я знаю что расстояния между точками до преобразования были одинаковые, а после они конечно разные ибо искажение.
пример было 2  одинаковых по длине отрезка но с разными координатами х1,у1,х2,у2 и х3,у3,х4,у4  (этих координат я не знаю) , но знаю что длины отрезков одинаковые, а так же знаю какие координаты точек после преобразования соответствуют точкам отрезков. 



Это сообщение отредактировал(а) mrgloom - 10.8.2012, 14:58
PM MAIL   Вверх
mrgloom
Дата 10.8.2012, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет




попробовал решить с числами, не смог дождаться результата.

Цитата

Clear[x1]; Clear[x2]; Clear[x3]; Clear[x4]; Clear[x5]; Clear[x6]; \
Clear[x7]; Clear[x8]; Clear[x9]; Clear[x10]
Clear[y1]; Clear[y2]; Clear[y3]; Clear[y4]; Clear[y5]; Clear[y6]; \
Clear[y7]; Clear[y8]; Clear[y9]; Clear[y10];
u1 = 60.5 ; u2 = 71; u3 = 172; u4 = 178; u5 = 21.5; u6 = 35.9; u7 = \
130; u8 = 139; u9 = 148; u10 = 157;
v1 = 102; v2 = 62.9; v3 = 80.4; v4 = 37.1; v5 = 250; v6 = 197; v7 = \
186; v8 = 133; v9 = 243; v10 = 183;
NSolve[u1 == (m13 + m11 x1 + m12 y1)/(1 + m31 x1 + m32 y1) &&
  v1 == (m23 + m21 x1 + m22 y1)/(1 + m31 x1 + m32 y1) &&
  u2 == (m13 + m11 x2 + m12 y2)/(1 + m31 x2 + m32 y2) &&
  v2 == (m23 + m21 x2 + m22 y2)/(1 + m31 x2 + m32 y2) &&
  u3 == (m13 + m11 x3 + m12 y3)/(1 + m31 x3 + m32 y3) &&
  v3 == (m23 + m21 x3 + m22 y3)/(1 + m31 x3 + m32 y3) &&
  u4 == (m13 + m11 x4 + m12 y4)/(1 + m31 x4 + m32 y4) &&
  v4 == (m23 + m21 x4 + m22 y4)/(1 + m31 x4 + m32 y4) &&
  u5 == (m13 + m11 x5 + m12 y5)/(1 + m31 x5 + m32 y5) &&
  v5 == (m23 + m21 x5 + m22 y5)/(1 + m31 x5 + m32 y5) &&
  u6 == (m13 + m11 x6 + m12 y6)/(1 + m31 x6 + m32 y6) &&
  v6 == (m23 + m21 x6 + m22 y6)/(1 + m31 x6 + m32 y6) &&
  u7 == (m13 + m11 x7 + m12 y7)/(1 + m31 x7 + m32 y7) &&
  v7 == (m23 + m21 x7 + m22 y7)/(1 + m31 x7 + m32 y7) &&
  u8 == (m13 + m11 x8 + m12 y8)/(1 + m31 x8 + m32 y8) &&
  v8 == (m23 + m21 x8 + m22 y8)/(1 + m31 x8 + m32 y8) &&
  u9 == (m13 + m11 x9 + m12 y9)/(1 + m31 x9 + m32 y9) &&
  v9 == (m23 + m21 x9 + m22 y9)/(1 + m31 x9 + m32 y9) &&
  u10 == (m13 + m11 x10 + m12 y10)/(1 + m31 x10 + m32 y10) &&
  v10 == (m23 + m21 x10 + m22 y10)/(1 + m31 x10 + m32 y10) &&
  dx == x2 - x1 && dx == x4 - x3 && dx == x6 - x5 && dx == x8 - x7 &&
  dx == x10 - x9 && dy == y2 - y1 && dy == y4 - y3 && dy == y6 - y5 &&
  dy == y8 - y7 && dy == y10 - y9
 , {dx, dy, m11, m12, m13, m21, m22, m23, m31, m32,
  x1, x2, x3, x4, x5, x6, x7, x8, x9, x10,
  y1, y2, y3, y4, y5, y6, y7, y8, y9, y10}]



попробовал переписать без деления, тоже самое.
Цитата

Clear[x1]; Clear[x2]; Clear[x3]; Clear[x4]; Clear[x5]; Clear[x6]; \
Clear[x7]; Clear[x8]; Clear[x9]; Clear[x10]
Clear[y1]; Clear[y2]; Clear[y3]; Clear[y4]; Clear[y5]; Clear[y6]; \
Clear[y7]; Clear[y8]; Clear[y9]; Clear[y10];
u1 = 60.5 ; u2 = 71; u3 = 172; u4 = 178; u5 = 21.5; u6 = 35.9; u7 = \
130; u8 = 139; u9 = 148; u10 = 157;
v1 = 102; v2 = 62.9; v3 = 80.4; v4 = 37.1; v5 = 250; v6 = 197; v7 = \
186; v8 = 133; v9 = 243; v10 = 183;
NSolve[u1 (1 + m31 x1 + m32 y1) == (m13 + m11 x1 + m12 y1) &&
  v1 (1 + m31 x1 + m32 y1) == (m23 + m21 x1 + m22 y1) &&
  u2 (1 + m31 x2 + m32 y2) == (m13 + m11 x2 + m12 y2) &&
  v2 (1 + m31 x2 + m32 y2) == (m23 + m21 x2 + m22 y2) &&
  u3 (1 + m31 x3 + m32 y3) == (m13 + m11 x3 + m12 y3) &&
  v3 (1 + m31 x3 + m32 y3) == (m23 + m21 x3 + m22 y3) &&
  u4 (1 + m31 x4 + m32 y4) == (m13 + m11 x4 + m12 y4) &&
  v4 (1 + m31 x4 + m32 y4) == (m23 + m21 x4 + m22 y4) &&
  u5 (1 + m31 x5 + m32 y5) == (m13 + m11 x5 + m12 y5) &&
  v5 (1 + m31 x5 + m32 y5) == (m23 + m21 x5 + m22 y5) &&
  u6 (1 + m31 x6 + m32 y6) == (m13 + m11 x6 + m12 y6) &&
  v6 (1 + m31 x6 + m32 y6) == (m23 + m21 x6 + m22 y6) &&
  u7 (1 + m31 x7 + m32 y7) == (m13 + m11 x7 + m12 y7) &&
  v7 (1 + m31 x7 + m32 y7) == (m23 + m21 x7 + m22 y7) &&
  u8 (1 + m31 x8 + m32 y8) == (m13 + m11 x8 + m12 y8) &&
  v8 (1 + m31 x8 + m32 y8) == (m23 + m21 x8 + m22 y8) &&
  u9 (1 + m31 x9 + m32 y9) == (m13 + m11 x9 + m12 y9) &&
  v9 (1 + m31 x9 + m32 y9) == (m23 + m21 x9 + m22 y9) &&
  u10 (1 + m31 x10 + m32 y10) == (m13 + m11 x10 + m12 y10) &&
  v10 (1 + m31 x10 + m32 y10) == (m23 + m21 x10 + m22 y10) &&
  dx == x2 - x1 && dx == x4 - x3 && dx == x6 - x5 && dx == x8 - x7 &&
  dx == x10 - x9 && dy == y2 - y1 && dy == y4 - y3 && dy == y6 - y5 &&
  dy == y8 - y7 && dy == y10 - y9
 , {dx, dy, m11, m12, m13, m21, m22, m23, m31, m32,
  x1, x2, x3, x4, x5, x6, x7, x8, x9, x10,
  y1, y2, y3, y4, y5, y6, y7, y8, y9, y10}]



попробовал для афинных преобразований m31=m32=0
(убрал 2 переменные и убрал 2 уравнения)
получил почему, то что не решений
Цитата

Clear[x1]; Clear[x2]; Clear[x3]; Clear[x4]; Clear[x5]; Clear[x6]; \
Clear[x7]; Clear[x8]; Clear[x9]; Clear[x10]
Clear[y1]; Clear[y2]; Clear[y3]; Clear[y4]; Clear[y5]; Clear[y6]; \
Clear[y7]; Clear[y8]; Clear[y9]; Clear[y10];
u1 = 60.5 ; u2 = 71; u3 = 172; u4 = 178; u5 = 21.5; u6 = 35.9; u7 = \
130; u8 = 139; u9 = 148; u10 = 157;
v1 = 102; v2 = 62.9; v3 = 80.4; v4 = 37.1; v5 = 250; v6 = 197; v7 = \
186; v8 = 133; v9 = 243; v10 = 183;
m32 = 0; m31 = 0;
NSolve[u1 (1 + m31 x1 + m32 y1) == (m13 + m11 x1 + m12 y1) &&
  v1 (1 + m31 x1 + m32 y1) == (m23 + m21 x1 + m22 y1) &&
  u2 (1 + m31 x2 + m32 y2) == (m13 + m11 x2 + m12 y2) &&
  v2 (1 + m31 x2 + m32 y2) == (m23 + m21 x2 + m22 y2) &&
  u3 (1 + m31 x3 + m32 y3) == (m13 + m11 x3 + m12 y3) &&
  v3 (1 + m31 x3 + m32 y3) == (m23 + m21 x3 + m22 y3) &&
  u4 (1 + m31 x4 + m32 y4) == (m13 + m11 x4 + m12 y4) &&
  v4 (1 + m31 x4 + m32 y4) == (m23 + m21 x4 + m22 y4) &&
  u5 (1 + m31 x5 + m32 y5) == (m13 + m11 x5 + m12 y5) &&
  v5 (1 + m31 x5 + m32 y5) == (m23 + m21 x5 + m22 y5) &&
  u6 (1 + m31 x6 + m32 y6) == (m13 + m11 x6 + m12 y6) &&
  v6 (1 + m31 x6 + m32 y6) == (m23 + m21 x6 + m22 y6) &&
  u7 (1 + m31 x7 + m32 y7) == (m13 + m11 x7 + m12 y7) &&
  v7 (1 + m31 x7 + m32 y7) == (m23 + m21 x7 + m22 y7) &&
  u8 (1 + m31 x8 + m32 y8) == (m13 + m11 x8 + m12 y8) &&
  v8 (1 + m31 x8 + m32 y8) == (m23 + m21 x8 + m22 y8) &&
  u9 (1 + m31 x9 + m32 y9) == (m13 + m11 x9 + m12 y9) &&
  v9 (1 + m31 x9 + m32 y9) == (m23 + m21 x9 + m22 y9) &&
  u10 (1 + m31 x10 + m32 y10) == (m13 + m11 x10 + m12 y10) &&
  v10 (1 + m31 x10 + m32 y10) == (m23 + m21 x10 + m22 y10) &&
  dx == x2 - x1 && dx == x4 - x3 && dx == x6 - x5 && dx == x8 - x7 &&
  dx == x10 - x9 && dy == y2 - y1 && dy == y4 - y3 && dy == y6 - y5
 , {dx, dy, m11, m12, m13, m21, m22, m23,
  x1, x2, x3, x4, x5, x6, x7, x8, x9, x10,
  y1, y2, y3, y4, y5, y6, y7, y8, y9, y10}]

PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1114 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.