Lema.
$$
\left| e^{i\,\alfa} - e^{i\,\beta} \right|^2 = \\
\left| \; \left[ \cos(\alpha) + i\,\sin(\alpha)\right] - \left[\cos(\beta) + i\,\sin(\beta) \right] \; \right|^2 = \\
\left[ \cos(\alpha) - \cos(\beta) \right)^2 + \left[ \sin(\alpha) - \sin(\beta) \right)^2 = \\
\cos^2(\alpha) - 2\cos(\alpha)\cos(\beta) + \cos^2(\beta) +
\sin^2(\alpha) - 2\sin(\alpha)\sin(\beta) + \sin^2(\beta) = \\
2 - 2\cos(\alpha\beta)
$$
Método De Mínimos Cuadrados. Dos posibilidades:
$$
\left| e^{i(\theta+2\pi/3)} - e^{i12\theta} \right|^2 +
\left| e^{i(\theta-2\pi/3)} - e^{i720\theta} \right|^2 = \mbox{mínimo}(\theta) \\
\left| e^{i(\theta-2\pi/3)} - e^{i12\theta} \right|^2 +
\left| e^{i(\theta+2\pi/3)} - e^{i720\theta} \right|^2 = \mbox{mínimo}(\theta)
$$
Lo mínimo es el más pequeño. Con el lema:
$$
2 - 2\cos(\theta+2\pi/3-12\theta) + 2 - 2\cos(\theta-2\pi/3-720\theta) = \mbox{mínimo}(\theta) \\
2 - 2\cos(\theta-2\pi/3-12\theta) + 2 - 2\cos(\theta+2\pi/3-720\theta) = \mbox{mínimo}(\theta)
$$
Algoritmo de fuerza bruta con el muestreo $\Delta\theta = 2\pi/(60\times 720)$ :
programa de klok;
función mínima(theta : doble; teken : integer) : doble;
comenzar
mínimo := 2 - 2*cos(theta+teken*2*pi/3 a 12 años*theta)
+ 2 - 2*cos(theta-teken*2*pi/3-720*theta);
end;
la función normal(theta : doble) : doble;
var
OK : boolean;
v : doble;
comenzar
v := theta;
OK := false;
mientras no ACEPTAR hacer
comenzar
OK := (0 <= v) y (v < 2*pi);
v := v 2*pi;
end;
normal := v + 2*pi;
end;
procedimiento brute_force(teken : integer);
var
k : integer;
M,min,p,w : doble;
comenzar
min := 8; w := 0;
para k := 0 a 43200-1 ¿
comenzar
p := k*2*pi/43200;
M := mínimo(p,teken);
si min > M, entonces
comenzar
w := p;
min := M;
end;
end;
Writeln('Mínimo =',min);
Writeln('H =',w,' <',w+2*pi/43200);
Writeln('M =',normal(12*w),' =',w+teken*2*pi/3);
Writeln('S =',normal(720*w),' =',w-teken*2*pi/3);
Writeln;
end;
comenzar
brute_force(+1);
brute_force(-1);
final.
De salida (en radianes):
Mínimo = 1.32888417836478 E-0004
H = 3.04690854166910 E+0000 < 3.04705398577343 E+0000
M = 5.14697596413128 E+0000 = 5.14130364406230 E+0000
S = 9.42477796078314 E-0001 = 9.52513439275905 E-0001
Mínimo = 1.32888417839328 E-0004
H = 3.23627676551049 E+0000 < 3.23642220961482 E+0000
M = 1.13620934304831 E+0000 = 1.14188166311729 E+0000
S = 5.34070751109978 E+0000 = 5.33067186790368 E+0000
La diferenciación de las funciones mínimas, resultando en dos ecuaciones:
$$
11\sin(11\theta-2\pi/3) + 719\sin(719\theta+2\pi/3) = 0 \\
11\sin(11\theta+2\pi/3) + 719\sin(719\theta-2\pi/3) = 0
$$
La solución de estos con ARCE, dando como resultado numérico de refinamiento de la anterior:
Dígitos := 50;
fsolve(11*sin(11*theta-2*Pi/3)+719*sin(719*theta+2*Pi/3)=0,theta=3.0469..3.0470);
fsolve(11*sin(11*theta+2*Pi/3)+719*sin(719*theta-2*Pi/3)=0,theta=3.2362..3.2364);
Dar (Horas de mano en radianes):
3.0469223755142191756046177765785671073381009266460
3.2362629316653673013206689899804386610562378721043
No se sabe cuál de los dos es el mejor. Parece que los mínimos son exactamente los mismos, a saber:
0.0000339325557414428099817512048046050292710528311