(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 0men 08 октября 2003 г. 13:21
В ответ на: Извиниюсь, все съехало не смотря на PRE... отправлено 0men 08 октября 2003 г. 13:01

знак БОЛЬШЕ заменен на ]
знак МЕНЬШЕ заменен на [


void SolveLinear
(
float * DataSnsSolve, // CO, NO, NO2, SO2
float * ResSnsSolve
)
{
signed char i;
unsigned char j;
float TempClbGas[ NUM_EQU ][ NUM_EQU ];
float TempB[ NUM_EQU ];
float Temp;

for( i=0; i[NUM_EQU; i++ )
{
for( j=0; j[NUM_EQU; j++ )
TempClbGas[ i ][ j ] = ClbData.ClbGas[ i ][ j ];
TempB[ i ] = DataSnsSolve[ i ];
}

for( i=0; i[NUM_EQU-1; i++ )
for( j=i+1; j {
TempClbGas[ j ][ i ] /= -TempClbGas[ i ][ i ];
for( unsigned char k=i+1; j[NUM_EQU; j++ )
TempClbGas[ j ][ k ] += TempClbGas[ j ][ i ]*TempClbGas[ i ][ k ];
TempB[ j ] += TempClbGas[ j ][ i ]*TempB[ i ];
}

ResSnsSolve[ NUM_EQU-1 ] = TempB[ NUM_EQU-1 ]/TempClbGas[ NUM_EQU-1 ][ NUM_EQU-1 ];
for( i=NUM_EQU-2; i]=0; i-- )
{
Temp = TempB[ i ];
for( j=i+1; j[NUM_EQU; j++ )
Temp -= ResSnsSolve[ j ]*TempClbGas[ i ][ j ];
ResSnsSolve[ i ] = Temp/TempClbGas[ i ][ i ];
}
}




Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru