queria um analize de voces
- Código: Selecionar todos
unsigned char Tabela1[]={0,5,10,15,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200};
float p9[22]={0.3,0.9,1.25,1.65,2.2,3.3,3.7,4.20,4.60,4.95,5.30,5.60,5.95,6.30,6.65,7.00,7.35,7.70,8.05,8.40,8.40};
unsigned char x,y,valorlido,TabSup,TabInf;
float ff2,PontSup,PontInf;
char varfloat[15];
valorlido=25;//simuala o valor lido = 25
y=0;
// varre a tabela1 em busca do intervalod de valores
for(x=1;x<=22;x++)
{
if((valorlido>tabela1[y])&&(valorlido<tabela1[++y]))
{
PontSup=p9[y]; // ler o ponto alto da tabela p9
TabSup=tabela1[y]; // ler o ponto alto da tabela 1
y--;
PontInf=p9[y];
TabInf=tabela1[y];
break;
}
}
// formula
subtrai o valor lido do valor inferior tabela 1
tabela 1 p9
5 0.3
10 0.9
15 1.25
20 1.65
30 2.2
o valor lido = 25 esta entre 20 e 30
salva o valor superior da tabela1 e P9
PontSup=p9[y]; // 2.2
TabSup=tabela1[y]; // 30
salva o valor inferior da tabela1 e P9
PontInf=p9[y]; //1.65
TabInf=tabela1[y]; //20
calculo
ff2=(((PontInf+(valorlido-TabInf))*(PontSup-PontInf))/(TabSup-TabInf));
FloatToStr(ff2, varfloat);
T6963C_write_text(varfloat,5, 5, T6963C_ROM_MODE_XOR);
veja ai onde estou errando, aformula ja revisei toda é esta mesmo , ta montada no excel e la bate certo
era pra dar 1.925 ta dando 7.91999e-1