首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Libm没有三角函数

Libm没有三角函数
EN

Stack Overflow用户
提问于 2013-02-08 15:39:28
回答 5查看 425关注 0票数 3

由于缺少fp操作单元,特定嵌入式系统上的库不具有sincos等函数。

周围有没有通过查找表提供函数的库?我实际上不需要100%可靠的值。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-02-08 15:48:27

根据所需的速度和精度要求,也许您可以通过编写创建查找表的程序来创建简单查找表所需的函数。或者使用CORDIC

票数 2
EN

Stack Overflow用户

发布于 2013-02-08 17:28:11

对于没有硬件浮点的目标,一种更好的方法可能是使用定点和CORDIC算法。

Anthony Williams的fixed-point maths libraryfixed数据类型提供了标准数学库的完整模拟,通常比同一目标上的软件浮点快5倍左右。它是一个C++库,但只要您的编译器支持C++,即使您的其余代码不使用C++特定的特性,这也不是问题。在大多数情况下,要使用这个库,只需对端口代码执行的操作就是将math.h替换为fixed.hpp,并将类型关键字floatdouble替换为fixed类型。

票数 2
EN

Stack Overflow用户

发布于 2013-02-08 16:20:13

如果您的系统没有提供sin/cos函数的库,或者在内存中没有查找表,那么您可以非常容易地创建一个。

Next matlab函数将在c标头myheader.h中提供sin(x) (0,2*pi范围,2*pi/100步长):

代码语言:javascript
运行
复制
step=2*pi/100;
x=[0:step:2*pi];
y=floor(0.5 * 65535 * sin(x));

fd=fopen('myheader.h','wt');
fprintf(fd,'int16_t y[%d]={%g',length(y),y(1));
fprintf(fd,',\n %.9g',y(2:end));
fprintf(fd,'};\n');
fclose(fd);

标题看起来像这样:

代码语言:javascript
运行
复制
int16_t y[101]={0,
 2057,
 4107,
 6140,
 8149,
 10126,
 12063,
 13952,
 15786,
 17558,
 19260,
 20887,
 22431,
 23886,
 25248,
 26509,
 27667,
 28714,
 29649,
 30466,
 31164,
 31738,
 32187,
 32509,
 32703,
 32767,
 32703,
 32509,
 32187,
 31738,
 31164,
 30466,
 29649,
 28714,
 27667,
 26509,
 25248,
 23886,
 22431,
 20887,
 19260,
 17558,
 15786,
 13952,
 12063,
 10126,
 8149,
 6140,
 4107,
 2057,
 -0,
 -2057,
 -4107,
 -6140,
 -8149,
 -10126,
 -12063,
 -13952,
 -15786,
 -17558,
 -19260,
 -20887,
 -22431,
 -23886,
 -25248,
 -26509,
 -27667,
 -28714,
 -29649,
 -30466,
 -31164,
 -31738,
 -32187,
 -32509,
 -32703,
 -32768,
 -32703,
 -32509,
 -32187,
 -31738,
 -31164,
 -30466,
 -29649,
 -28714,
 -27667,
 -26509,
 -25248,
 -23886,
 -22431,
 -20887,
 -19260,
 -17558,
 -15786,
 -13952,
 -12063,
 -10126,
 -8149,
 -6140,
 -4107,
 -2057,
 -0};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14767810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档