[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 556

 
MetaDriver:

alsu, поправь если наглючил.

sX = x0 + x1rn

dX = x0 - x1rn

sX+dX = x0+x1rn+x0-x1rn = 2*x0

после нормировки получаем снова x0

)))

 
alsu:

sX = x0 + x1rn

dX = x0 - x1rn

sX+dX = x0+x1rn+x0-x1rn = 2*x0

после нормировки получаем снова x0

)))

Ну да, пропустил в промежутке нормирование суммы и разности.

sX = x0 + x1rn

dX = x0 - x1rn

sX->sXn; dX-> dXn;

sXn+dXn = x0+x1rn+x0-x1rn = 2*x0 = X1

после нормировки (деления на корень из 2) получаем x1 = то что надо. :)

 
MetaDriver:

......... Чуть посложнее, так просто не получится. Нужно после получения xi вектора на каждом шаге, сначала его "складывать-вычитать-нормировать" со следующим входным и т.д. до исчерпания входных векторов. Как-то так.

Вроде правильно. Есть вырожденный случай - когда на каком-то из шагов получаем вектор равный сонаправленный следующему. Маловероятен, но есть. Тогда просто повторяем процесс сначала и псё.
 
Svinotavr:
MetaDriver, alsu, извините, за то, что помешал обсуждать "набор ортогональных векторов".

На колени !!!

;)

 
MetaDriver:

Ну да, пропустил в промежутке нормирование суммы и разности.

sX = x0 + x1rn

dX = x0 - x1rn

sX->sXn; dX-> dXn;

sXn+dXn = x0+x1rn+x0-x1rn = 2*x0 = X1

после нормировки (деления на корень из 2) получаем x1 = то что надо. :)

все равно не получается

Пример

x0 = (1/sqrt(2), 1/sqrt(2)), x1rn = (-1/sqrt(2), 1/(sqrt(2))

sX = (0, sqrt(2)), sXn = (0,1)

dX = x1rn-x0 = (sqrt(2), 0), dXn = (1,0)

sXn+dXn = (1,1) - этот вектор не ортогонален ни x0, ни x1

хотя оба изначально были ортогональны))) но можно привести пример и без этого

сплю уже))) все получается, конечно)))

 
alsu:

все равно не получается

Пример

x0 = (1/sqrt(2), 1/sqrt(2)), x1rn = (-1/sqrt(2), 1/(sqrt(2))

sX = (0, sqrt(2)), sXn = (0,1)

dX = x1rn-x0 = (sqrt(2), 0), dXn = (1,0)

sXn+dXn = (1,1) - этот вектор не ортогонален ни x0, ни x1

хотя оба изначально были ортогональны))) но можно привести пример и без этого

неправда. ещё как ортогонален. :) результат после нормирования равен первому вектору, а, как ты верно заметил - он ортогонален второму. :)

ладно, спи уже. )))

 
MetaDriver:

неправда. ещё как ортогонален. :) результат после нормирования равен первому вектору, а, как ты верно заметил - он ортогонален второму. :)

ладно, спи уже. )))


Нихрена все равно не получается, те как раз получились, потому что я изначально взял пару ортогональных:

Пример

x1rn = (0.6, 0.8), x0 = (1, 0)

рисунок приблизительный, но все видно


 
т.е. нормированные сумма и разность ортогональны друг другу, но в общем случае не будут направлены к начальным векторам под 45 градусов, а значит их сумма не будет им ортогональна.
 
alsu:

Нихрена все равно не получается, те как раз получились, потому что я изначально взял пару ортогональных:

Пример

x1rn = (0.6, 0.8), x0 = (1, 0)

рисунок приблизительный, но все видно

Тэкс. Похоже ты прав. Решение таки близко, но формулу нужно править.

После вычисления sX и dX, нужно их не нормировать, а обменять их модули. т.е. вычисляем |sX| и |dX|,

и затем трансформируем sXtr = sX*|dX|/|sX| ; dXtr = dX*|sX|/|dX|

Тогда потом их уже можно сложить и отнормировать с правильным результатом на выходе.

Не? Опять ???

 
MetaDriver:

После вычисления sX и dX, нужно их не нормировать, а обменять их модули. т.е. вычисляем |sX| и |dX|,

и затем трансформируем sXtr = sX*|dX|/|sX| ; dXtr = dX*|sX|/|dX|

Тогда потом их уже можно сложить и отнормировать с правильным результатом на выходе.

Как-то так:

Здесь a=x0, b=x1rn