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

 

E se você calcular um conjunto de pesos quadráticos na função init(), você pode obter um bom resultado. Além disso, os cálculos podem ser otimizados usando o IndicatorCounted(). Vai ficar pendurado durante os primeiros segundos quando os períodos forem longos, então que se lixe...

 
Mathemat:

E se você calcular um conjunto de pesos quadráticos na função init(), você pode obter um bom resultado. Além disso, os cálculos podem ser otimizados usando o IndicatorCounted(). Vai ficar pendurado durante os primeiros segundos quando os períodos forem longos, então que se lixe...

Eu tentei. Ele calcula uma regressão móvel usando uma matriz pronta na velocidade de um assistente comum.
O único inconveniente é que a matriz acaba sendo da dimensão A[][20] (não há estruturas na isi),
e eu tenho que lembrar o endereço numérico de uma célula como no BESM-3))))
 
Mathemat:

Assim, ficará pendurado durante os primeiros segundos durante longos períodos...

Acho que não deve haver nenhuma lentidão perceptível no primeiro cálculo. Mas, como parece agora, devemos primeiro calcular os valores de saída (parece não fazer sentido lembrá-los), depois calcular as somas reduzidas, depois calcular recursivamente seus novos valores e, finalmente, adicionar os valores de entrada. Tudo isso por três somas (soma própria, primeira e segunda derivada). Se o período for pequeno, isto seria suficiente para o cálculo completo da única soma necessária.
Em geral, tal forçamento extremo só se justifica se o algoritmo for projetado para otimização no testador, imho.
 
O interessante é que, independentemente da ordem do polinômio, o tempo de cálculo será praticamente o mesmo (se o conjunto de pesos for preparado com antecedência).
 
desenterrei meu trabalho manual - o mosto polinomial
Arquivos anexados:
 
É muito difícil dar uma explicação, Dimitri, especialmente sobre o significado dos parâmetros? O artesanato é, para dizer de forma suave, de altíssima qualidade.
 

Não é fácil:-)

Polinômio: K0*X^0+K1*X^1+K2*X^2+K3*X^3..., os coeficientes K são definidos na linha K="1/5/6/1/-20" (K0=1, K2=5...). Argument X muda dentro do intervalo de ArgumentMin para ArgumentMax e é obtida alguma curvatura, que pode ser vista em ControlMode=true, e então esta curvatura é usada como coeficiente de deslizamento.

Seria mais interessante fazer um spline, porque não é fácil obter a forma de curva desejada com este polnymode.

 
A curva é algum tipo de função de peso dos tipos k para a máquina onduladora?
 
Mathemat:
A curva é algum tipo de função de peso dos tipos k para a máquina onduladora?

Sim, é.
 

O valor da borda ( X 1, borda direita) para o polinômio cúbico construído usando MNC, para sete pontos da série, ( X 7*(-2)+ X 6*(4)+ X 5*(1)+ X 4*(-4)+ X 3*(-4)+ X 2*(8)+ X 1*(39))/42 . A linha a ser verificada é 0, 1, 8, 27, 64, 125, 216, ao substituir os seis primeiros números na fórmula, o resultado deve ser 216, pois o polinômio cúbico alinha a série constituída por cubos. Fonte, Kendall M e Stewart A.


A propósito, o mesmo polinômio cúbico para sete pontos, mas dando uma estimativa do valor por MNC para os pontos médios, ou seja

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


Geralmente, são fórmulas de interpolação, portanto, para extrapolar, por exemplo, para X 0, ou seja, para o futuro, além das séries existentes, é preciso procurar outros coeficientes na fórmula.