线性差值算法
点斜式:
#include<stdio.h>#define N 10
float w = 10.0;
float w0 = 0.0;
float wn = 100.0;
int adc[N+1] = {86,376,687,1021,1379,1760,2164,2592,3043,3515,4008};
float line(int x)
{
int i;
if(x<adc[0]) return(w0);
if(x>=adc[N]) return(wn);
for(i=0;i<N;i++) if(x<adc[i+1]) break;
return (w*i + (w*(x-adc[i])/(adc[i+1]-adc[i])));
}
main()
{
int x;
float y;
while(1){
printf("
输入A/D转换结果");
scanf("%d",&x);
if(x==0) break;
y = line(x);
printf("
对应温度为:%2.2f度",y);
}
}
以上是 线性差值算法 的全部内容, 来源链接: utcz.com/z/512458.html