如何解决为什么表达式的值没有以数字格式显示?
代码:
Ak=1.2;
fk=0.0123;
jK=0.321;
alphaK=-0.01;
T=1;
#Signal
#xi=1.2*cos(0,0123*2*pi*(i-1)+0.321)*eps(–0.01*i);
for i=1:4
x(i)=Ak*cos(fk*2*pi*(i-1)+jK)*eps(alphaK*i);
end
结果采用这种格式
x = 1.9753e-18
x = 1.9753e-18 3.8375e-18
x = 1.9753e-18 3.8375e-18 3.7013e-18
x = 1.9753e-18 3.8375e-18 3.7013e-18 7.0863e-18
但正确的结果是这样的:
如何更改格式以获得正确的显示?
解决方法
替换
x(i)=Ak*cos(fk*2*pi*(i-1)+jK)*eps(alphaK*i);
与
x(i)=Ak*cos(fk*2*pi*(i-1)+jK)*exp(alphaK*i);
你会得到一个非常接近预期的结果
x =
1.12737 1.08417 1.03531 0.98119
eps 不是指数函数
octave:3> eps
ans = 2.2204e-16
octave:4> eps(x)
ans =
2.2204e-16 2.2204e-16 2.2204e-16 1.1102e-16
octave:5> exp(x)
ans =
3.0875 2.9570 2.8160 2.6676
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。