微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么表达式的值没有以数字格式显示?

如何解决为什么表达式的值没有以数字格式显示?

我有一个表达式(信号),我想使用循环获得某些结果。 原配方

enter image description here

代码

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

但正确的结果是这样的:

enter image description here

如何更改格式以获得正确的显示

解决方法

替换

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 举报,一经查实,本站将立刻删除。