极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6858|回复: 4

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

[复制链接]
发表于 2014-5-24 08:57:09 | 显示全部楼层 |阅读模式
本帖最后由 冷月丨灵风 于 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好像有问题,不太对,自己添加库函数又不太会。
QQ图片20140524100815.jpg
回复

使用道具 举报

发表于 2014-5-26 10:22:03 | 显示全部楼层
你别放在定义里计算试试呢
回复 支持 反对

使用道具 举报

发表于 2014-5-26 10:22:19 | 显示全部楼层
我很少在变量声明的时候进行运算。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-26 14:59:41 | 显示全部楼层
shenhaiyu 发表于 2014-5-26 10:22
我很少在变量声明的时候进行运算。

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

使用道具 举报

发表于 2014-5-27 10:47:28 | 显示全部楼层
哦。。。为什么不用 Arduino IDE

点评

老师推荐用Energia。。。现在用着用着发现Energia里的库不全,有的还有问题。。。  发表于 2014-5-27 20:36
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-4-20 19:04 , Processed in 0.050425 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表