Ipotesi basate su Fourier - pagina 10

 

Questo è il mio codice C, datato 03.1995 (che confusione polverosa nel mezzanino!) Se non è stato cancellato, deve funzionare.


int Invert (double * t)
/*---------------------------------------------------------*
 *   Вычисление обратной матрицы путем ее перевода   	   *
 *   к треугольному виду  с последующим умножением 	   *
 *      на преобразованную единичную матрицу.        	   *
 *   Обратная матрица распологается на месте исходной.	   *
 *   Требуется <buf> область размерности t[1..NM*NM] 	   *
 *---------------------------------------------------------*
 *  t[0] =  NM  - размерность матрицы.               	   *
 *  t[1..NM*NM] - исходная (обратная) матрица по столбцам. *
 *  e[1..NM*NM] - элементы единичной матрицы.       	   *
 *  ВОЗВРАТ :  0 - OK                           	   *
 *---------------------------------------------------------*/
{   int    js, jk, jj, jp, n= t[0];
    double a1, a2, * e=(double *) buf;
//  -----------  Заполнение Е матрицы  -----------
    for ( jk = 1; jk <= n; jk++) {
       jp = n*( jk-1);
       for ( js = 1; js <= n; js++) {
	  e[ js+ jp] = t[ js+ jp];  t[ js+ jp] = 0.0; }
       t[ jk+ jp] = 1.0; }
// ----------------  Проход по столбцам ----------
    for ( jk = 1; jk < n; jk++) {
//  ---------------  Обнуление столбца  ----------
       a1 = e[( jp = n*( jk-1))+ jk];  //  Диагональный элемент
       for ( js = jk+1; js <= n; js++) {
	    a2 = e[ jp+ js]/ a1;   e[ jp+ js] = 0.0;
	    for ( jj = jk+1; jj <= n; jj++)
	       e[ n*( jj-1)+ js] -= a2* e[ n*( jj-1)+ jk];
	    for ( jj = 1; jj <= n; jj++)
	       t[ n*( jj-1)+ js] -= a2* t[ n*( jj-1)+ jk]; }
    } //  END for (JK)
//  -------  Определение обратной матрицы  -------
    for ( js = n; js > 0; js--)
       for ( jk = 1; jk <= n; jk++) {
	  for ( a1 = 0.0, jj = js+1; jj <= n; jj++)
	     a1 += e[ n*( jj-1)+ js]* t[ n*( jk-1)+ jj];
	  t[ n*( jk-1)+ js] = ( t[ n*( jk-1)+ js]- a1)/ e[ n*( js-1)+ js]; }
    return 0;
}
/**********************************************************************/
 
Mathemat >> :

Certo, è un metodo lento. Mi chiedo come hai ottenuto qualcosa per una matrice 100x100.

>> Mi associo. Anch'io sono un po' sorpreso.

(premurosamente) mostra l'alta efficienza del compilatore MQL4.

 

a Mathemat, AlexEro

Colleghi, non siate schizzinosi, il primo algoritmo che abbiamo visto è stato implementato. Lo accelereremo, lo approfondiremo e lo miglioreremo.

 
grasn >> :

PS: Una correzione. Se 1:1 e la riga di ingresso è quotata, è piuttosto strano. Se l'immagine è fissa, allora è già molto strano.

Sì, 1 a 1. Ho trovato un refuso. Ecco il risultato.


Ahimè, è ancora molto lontano da una previsione affidabile...

 
grasn >> :

a Mathemat, AlexEro

Colleghi, non siate schizzinosi, il primo algoritmo che abbiamo visto è stato implementato. Lo accelereremo, lo approfondiremo e lo miglioreremo.



Davvero, collega?! Non ce la prendiamo con te! Dove l'hai visto? Stiamo solo sottolineando il rastrellamento che noi stessi abbiamo colpito molto tempo fa. E vi mostriamo come aggirarli. Preferisci non dire nulla?

 

a equantis

Vi ho avvertito nella pagina precedente a grandi lettere. Si possono passare anni e anni e non trovare nessuna soluzione accettabile, oppure si può capire tutto in 10 minuti. Ma raccomando ancora di lasciarlo per il dessert :o).


a AlexEro

Ti sto solo ricordando che fino a quel momento non c'era nessuna biblioteca, tranne il lavoro di Ilnur:o)

 
grasn >>:А я предупреждал на прошлой странице крупными буквами. Можно годы потрать, но не найти приемлемого решения, а можно и за 10 мин во всем разобраться. Все же рекомендую оставить на десерт :о)

Proprio così, vale la pena tenere...

Per chiudere la questione vorrei mostrare un'immagine con risultati tipici:

Blu - prezzo

Rosso - previsione con trasformazione del coseno con inizio a 0

viola - la stessa curva, ma calcolata dal punto di partenza della previsione (100)

Verde - semplice previsione basata sulla curva dei prezzi (ho usato la funzione built-in predict)

 
grasn >> :

a AlexEro

Sto solo ricordando che fino a questo momento non c'era nessuna biblioteca, tranne il lavoro di Ilnur :o)

non l'hai avuto....

 
AlexEro >> :

non l'hai avuto....

Viene da chiedersi: e tu dove sei stato? :о))))))