Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
di = dd;
for( zz=1; zz /****************************************************/ for( ii=1; ii <= MAXIMAL; ii++ ) for( ii=1; ii < MAXIMAL; ii++ ) { Ff[ii] = 0.00; } for( kk=1; kk <= (MAXIMAL-1); kk++ ) for( jj=MAXIMAL; jj>=(MAXIMAL-kk); jj-- ) Rr = TimePoint; Ss = Ff[1]; return (Ss);
dd *= di;
}/*for*/
return( dd);
}/*powr*/
/****************************************************/
float Polynom(float TimePoint)
{
unsigned char ii,kk,jj,ll,mm,qq;
float Aa[ MAXIMAL+2 ], Ff[ MAXIMAL+2 ], Yyz[ MAXIMAL+2 ], Xxz[ MAXIMAL+2 ];
float Rr,Pp,Ww,Ss;
Aa[1] = 1.00;
{
Yyz[ ii ] = Yy[ ii ];
Xxz[ ii ] = Xx[ ii ];
}/*for*/
Ff[MAXIMAL] = Yyz[1];
{
for( ii=1; ii <= (MAXIMAL-kk); ii++ )
{
Yyz[ii] = (Yyz[ii+1]-Yyz[ii])/(Xxz[ii+kk]-Xxz[ii]);
}/*for ii*/
Rr = 1.000;
if( kk & 0x01 ) { Rr = (-1.000); }
Pp = 1.000;
for( jj=1; jj<=kk; jj++ ) { Pp *= Xxz[jj]; }
Aa[kk+1] = Rr * Pp;
if( kk != 1 )
{
for( ll=1; ll<=kk; ll++ )
{
Ww = 0.00;
for( mm=1; mm<=ll; mm++ )
{
Rr = 1.000;
if( kk & 0x01 ) { Rr = (-1.000); }
Ss = 0.000;
for( qq=1; qq<=kk; qq++ )
{
Ss = Ss+(Rr*(powr((1.0000/Xxz[qq]),mm) ));
}/*for*/
Ww = Ww + ((-Rr)*Aa[kk+1+mm-ll]*Ss);
}/*for mm*/
Aa[kk+1-ll] = Ww / (float)(ll);
}/*for ll*/
}/*if(kk!=1)*/
{
Ff[jj] = Ff[jj] + Aa[jj+kk+1-MAXIMAL] * Yyz[1];
}/*for jj*/
}/*for kk*/
for( ii=1; ii<=(MAXIMAL-1); ii++)
{
Ss = (Ss*Rr) + Ff[ii+1];
}/*for*/
}/*Polynom*/
/****************************************************/
Ответы