冷月丨灵风 发表于 2014-5-24 08:57:09

Energia里怎么使用指数函数pow(有变量)?

本帖最后由 冷月丨灵风 于 2014-5-24 10:10 编辑

最近做了个小东西,最后的算法需要用到指数函数pow(),现在发现在energia里,pow(0.5,0.5)可以正常执行(没有变量)一旦加上变量pow(x,1.4),就提示undefined reference to `pow'   collect2: ld returned 1 exit status
不知道怎么解决。求大神帮忙啊~

用到pow的原因是MQ131臭氧传感器的电阻比和浓度关系,我拟合成了指数关系,手册和网络上都说是线性关系。这是手册http://www.docin.com/p-604113623.html,我总觉手册里面有问题,那个灵敏度特性的纵坐标应该是RS/R0,而且他的坐标都经过压缩的。目测不是线性,而是指数型的,我拟合的方程是y = 1.8611*x^(-1.141),X是电阻比,y是浓度(ppb)。因为我读取的传感器的输出电压,转换为0-1023,所以输出电压和浓度的关系是y = 1.8611*((1024/x-1)/5)^(-1.141),X是输出电压(0-1023),y是浓度ppb。

刚才想着用x^y=e^(ln(x)*y)方法绕过去,发现energia连exp和log都不认。尝试着加过math.h,energia库里的math.h好像有问题,不太对,自己添加库函数又不太会。

shenhaiyu 发表于 2014-5-26 10:22:03

你别放在定义里计算试试呢

shenhaiyu 发表于 2014-5-26 10:22:19

我很少在变量声明的时候进行运算。

冷月丨灵风 发表于 2014-5-26 14:59:41

shenhaiyu 发表于 2014-5-26 10:22 static/image/common/back.gif
我很少在变量声明的时候进行运算。

试过了,还是不行,2改成3就报错。可能他认为pow(x,2)就是等于x*x,其他都不认。

shenhaiyu 发表于 2014-5-27 10:47:28

哦。。。为什么不用 Arduino IDE
页: [1]
查看完整版本: Energia里怎么使用指数函数pow(有变量)?