官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > 关于使用cordic计算e^x的问题

关于使用cordic计算e^x的问题

01-01
function out = myexp(theta);
n = 8;
k = 1;
for i = 1:n
    k = k * sqrt(1 - 1/(4^i));    
end
x = 1/k;
y = 0;
z = theta;
for i = 1:n
    di = sign(z);
    x = x + di y / (2^i);
    y = y + di x / (2^i);
    z = z - di atanh(1/(2^i));
end
out = x + y;
求高手帮我看下代码,当输入的theta最大值大到1.5左右时,结果e^x就就不能再增大了,请问我哪里弄错了

atan范围在-pi/2到pi/2之间,所以二三象限角度先要转到一四象限,这个叫预处理

Top