Quiero calcular y(n)=32677Sin(45/1024•n), dónde yes un número entero y nvaría de 0 a 2048. ¿Cómo puedo hacer este proceso más rápido y con mayor precisión? Ahora quiero mostrarle una respuesta de referencia: desde Sin(a+b)=Sin(a)Cos(b)+Cos(a)Sin(b)
And Cos(a+b)=Cos(a)Cos(b)-Sin(a)Cos(b). Entonces puedo almacenar Sin(45/1024•1)y solo. Cos(45/1024•1)Luego use esta fórmula:
Sin(45/1024•2)=Sin(45/1024•1+45/1024•1),
Cos(45/1024•2)=Cos(45/1024•1+45/1024•1),
Sin(45/1024•n)=Sin(45/1024•(n-1)+45/1024•1),
Cos(45/1024•n)=Cos(45/1024•(n-1)+45/1024•1), De esta manera tal vez más rápido sin almacenar gran variedad.
sin(x)dónde xestá en grados. Si ese es el caso, debe tener en cuenta que el argumento de las funciones trigonométricas generalmente está en radianes. El argumento está en radianes en C ++, que es cómo se etiqueta esta pregunta.