关于使用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就就不能再增大了,请问我哪里弄错了
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之间,所以二三象限角度先要转到一四象限,这个叫预处理
相关文章:
- 现在工程中用CORDIC多吗?(05-08)
- 请教:用 CORDIC算法如何计算arctan?(05-08)
- 请教这里有人熟悉CORDIC的吗?(05-08)
射频专业培训教程推荐