<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\chapter{Computacionala Metodo} 
\section{Difinoj} La \ero{bit} ({\it bi}nary digi{\it t}) estas la unueco de la informo $0$ a\u u $1$, vera a\u u nevera. La \ero{byte} estas ia fiksa numero de {\it bit} kiu formas parolon. Iu {\it byte} povas esti uzita por karakteroj (1 {\it byte}), a\u u numeroj. La numeroj povas esti interoj (longaj 4 {\it byte} a\u u mallongaj 2 {\it byte}, kun a\u u sin signo) a\u u je mova komo ({\it float} 4 {\it byte} a\u u {\it double} 8) notitaj per $s*m*2^{b-127}$: $m$antissa (16 a\u u 38 {\it bit}), $s$igno (1 {\it bit}) kaj $b$ias (tot {\it bit}). La stableco de algoritmo estas la enfero de operacionala aproksimeco sur la rezulto. Oni havas diversaj {\bf Metodoj}\obj{Direkta} sine rondigo en finita numero de pa\v soj (ekz: \homo{Gauss})\obj{Iteraktiva} vico kiu konver\v gas al la solvado fine al la elektita valoro $\epsilon&gt;||f(x) - f_\natu(x)||$ (ekz: )\obj{Unuopa Pa\v so} La vico depenas sole de la anta\u ua iterado $x_{i+1}=f(x_i)$ (ekz: \homo{Newton} pro nelinearaj sistemoj, \homo{Runge-Kutta}) \obj{Multobla Pa\v so} kiu depenas pro anta\u uaj iteradoj $x_{i+1}=f(x_i,x_{i-1},\ldots)$ (ekz: \homo{Adams-Moulton}, \homo{Adams-Bashfort})\obj{$|$--[Esplicito]}kiam $x_{i+1}$ ne dipenas de $f(x_i,\ldots)$ en la sama momento (ekz: \homo{Adams-Bashforth})\obj{$|$--[Implicito]}kiam $x_{i+1}$ dipenas de $f(x_i,\ldots)$ en la sama momento (ekz: \homo{Adams-Moulton})
\section{[Codice]} En tiu sekcio oni volas meti la [codice]n kiu estas de mi mem skribita, provita kaj utilizita en la programoj kiu mi uzas. Estas simplaj instruadoj por solvi unu dimensioj problemoj.
\subsection*{Integrado}
Reglo \homo{Simpson} 3/8
\begin{verbatim}
double Matematica::Integrazione(double a,double b){
  double Delta = (b-a)/(double)NPassi;
  double Risp = 0;
  for(int i=0;a+((double)i)*Delta&lt;b;i+=3){//+3 se si sovrappongono
    Risp += 3*3*Delta*( f(a+Delta*i)+3*f(a+Delta*(i+1))+3*f(a+Delta*(i+2))+f(a+Delta*(i+3)) )/8;
  }
  return Risp;
}
\end{verbatim}
\subsection*{Interpolado}
Minimumaj kvadratoj derivo por la lineara interpolado
\begin{verbatim}
RETTA Matematica::InterRett(double *Px,double *Py,int NMass){
  RETTA r1;
  double Mediax = 0.;
  double Mediay = 0.;
  double Scartox = 0.;
  double Scartoy = 0.;
  Uno=0;Due=0;;UnoUno=0;ZeroUno=0;ZeroDue=0;
  for(int i=0;i&lt;NMass;i++){
    Uno += Px[i];
    Due += QUAD(Px[i]);
    ZeroUno += Py[i];
    UnoUno += Px[i]*Py[i];
    ZeroDue += QUAD(Py[i]);
  }
  Mediax = Uno / (double) NMass;
  Mediay = ZeroUno / (double) NMass;
  Scartox = (Due - Uno*Uno)/(double)NMass;
  Scartoy = (ZeroDue - ZeroUno*ZeroUno)/(double)NMass;
  r1.Corr = (UnoUno - Uno*ZeroUno) / (double) NMass;
  r1.r = r1.Corr / ( sqrt(Scartox*Scartoy) );
  r1.m = (NMass*UnoUno - Uno*ZeroUno) / (NMass*Due - Uno*Uno);
  r1.ErrM = Scartoy * sqrt( Due / (NMass * (Due - Uno*Uno))); 
  r1.q = (ZeroUno - r1.m*Uno)/NMass;
  r1.ErrQ = Scartoy * sqrt( 1 / (NMass * (Due - Uno*Uno)) );
 return r1;
}
\end{verbatim}
\subsection*{Diskreta Fouriera Trasformo}
\begin{verbatim}
void Matematica::SpettroDFT(double *st,double *sw,int NMass){//N=int^2
  double Re1=0.,Im1=0.,Re2=0.,Im2=0;
  double FMass=(double)NMass/DUE_PI;
  for(int j=0;j&lt;(int)(NMass/2);j++){
    Re1=0.;Re2=0.;Im1=0.;Im2=0.;
    for(int i=0;i&lt;(int)(NMass/2)-1;i++){
      Re1+=st[2*i]*cos(DUE_PI/(double)NMass*(double)(2*i)*(double)j);
      Im1-=st[2*i]*sin(DUE_PI/(double)NMass*(double)(2*i)*(double)j);
      Re2+=st[2*i+1]*cos(DUE_PI/(double)NMass*(double)(2*i+1)*(double)j);
      Im2-=st[2*i+1]*sin(DUE_PI/(double)NMass*(double)(2*i+1)*(double)j);
    }
    sw[j]= QUAD((Re1+Re2)/(double)NMass)+QUAD((Im1+Im2)/(double)NMass);
  }
}
\end{verbatim}
\subsection*{Autokorelado}
\begin{verbatim}
void Matematica::Autocor(bool *st,double *sAutocor,int N){
  for(int i=0;i&lt;N;i++){
    sAutocor[i] = 0;
    for(int j=i,l=i;j&lt;N+i;j++,l++){
      if(j == N) l=0;
      sAutocor[i] += (double) (st[j-i]*st[l])/(double)N;
    }
  }
}
\end{verbatim}
\subsection{Memsimileco}
\begin{verbatim}
void Matematica::Autosimilarita(double *st,int NMass,double *sw,int Potenze){
  for(int j=0;j&lt;Potenze;j++){
    sw[j] = 0.;
  }
  for(int i=0;i&lt;NMass;i++){
    Temp = 1;
    for(int j=0;j&lt;Potenze;j++){
      Temp *= st[i];
      sw[j] += Temp;
    }
  }
  for(int j = 0;j&lt;Potenze;j++){
    sw[j] = log10(POS(sw[j]))/log10((double)NMass);
    //    printf("sw[%d] %f\n",j,sw[j]);
  }
}
\end{verbatim}</pre></body></html>