Diálogo del autor. Alexander Smirnov. - página 35

 

Y si calculas una matriz de pesos cuadráticos en la función init(), puedes obtener un buen resultado en absoluto. Además, los cálculos pueden optimizarse utilizando IndicatorCounted(). Bueno, se colgará durante los primeros segundos cuando los periodos sean largos, así que qué más da...

 
Mathemat:

Y si calculas una matriz de pesos cuadráticos en la función init(), puedes obtener un buen resultado en absoluto. Además, los cálculos pueden optimizarse utilizando IndicatorCounted(). Bueno, se colgará durante los primeros segundos cuando los periodos sean largos, así que qué más da...

Lo he probado. Calcula una regresión en movimiento utilizando una matriz lista a la velocidad de un mago ordinario.
El único inconveniente es que el array resulta ser de dimensión A[][20] (no hay estructuras en isi),
y tengo que recordar la dirección numérica de una celda como en BESM-3))
 
Mathemat:

Así que se colgará durante los primeros segundos durante periodos largos, así que qué más da...

No creo que deba haber ninguna lentitud notable en el primer cálculo. Pero, tal y como parece ahora, primero deberíamos calcular los valores salientes (parece que no tiene sentido recordarlos), luego calcular las sumas reducidas, después calcular recurrentemente sus nuevos valores y, finalmente, sumar los valores entrantes. Todo ello para tres sumas (suma propia, primera y segunda derivada). Para un periodo pequeño, esto, por el número de operaciones, se ajustaría bastante al cálculo completo de la única suma necesaria.
En general, un forzamiento tan extremo sólo se justifica si el algoritmo está diseñado para su optimización en el probador, en mi opinión.
 
Lo interesante es que, independientemente del orden del polinomio, el tiempo de cálculo será más o menos el mismo (si la matriz de pesos está preparada de antemano).
 
desenterró mi obra - el puré polinómico
Archivos adjuntos:
 
¿Es demasiado difícil dar una explicación, Dimitri, especialmente sobre el significado de los parámetros? La artesanía es, por decirlo suavemente, de muy alta calidad.
 

No es fácil:-)

Polinomio: K0*X^0+K1*X^1+K2*X^2+K3*X^3..., los coeficientes K se definen en la línea K="1/5/6/1/-20" (K0=1, K2=5...). El argumento X cambia dentro del rango de ArgumentMin a ArgumentMax y se obtiene cierta curvatura, que se puede ver en ControlMode=true, y luego esta curvatura se utiliza como coeficientes para el deslizamiento.

Sería más interesante hacer una spline, porque no es fácil conseguir la forma de curva deseada con este polnymode.

 
¿Es la curva una especie de función de peso de los tipos k para la máquina de ondulación?
 
Mathemat:
¿Es la curva una especie de función de peso de los tipos k para la máquina de ondulación?

Sí, lo es.
 

El valor de la arista ( X 1, arista derecha) para el polinomio cúbico construido mediante MNC, para siete puntos de la serie, ( X 7*(-2)+ X 6*(4)+ X 5*(1)+ X 4*(-4)+ X 3*(-4)+ X 2*(8)+ X 1*(39))/42 . La fila a comprobar es 0, 1, 8, 27, 64, 125, 216, al sustituir los seis primeros números en la fórmula, el resultado debe ser 216, porque el polinomio cúbico alinea la serie formada por cubos. Fuente, Kendall M y Stewart A.


Por cierto, el mismo polinomio cúbico para siete puntos, pero dando una estimación del valor por MNC para los puntos medios, es decir

Para X 4 será ( X 7*(-2)+ X 6*(3)+ X 5*(6)+ X 4*(7)+ X 3*(6)+ X 2*(3)+ X 1*(-2))/21

Para X3 será ( X 7*(1)+ X 6*(-4)+ X 5*(2)+ X 4*(12)+ X 3*(19)+ X 2*(16)+ X 1*(-4))/42

Para X2, será ( X 7*(4)+ X 6*(-7)+ X 5*(-4)+ X 4*(6)+ X 3*(16)+ X 2*(19)+ X 1*(8))/42


En general, se trata de fórmulas de interpolación, por lo que para extrapolar, por ejemplo, a X 0, es decir, al futuro, más allá de la serie existente, hay que buscar otros coeficientes en la fórmula.