我不明白为什么我的列表会比我需要的更多两个零。
这是我的代码:
x=(0:0.01:12);
a=3;
y=cos(2*pi*2*x);
hold on
liste_A(1:1:72)=0;
for k=0:1:72
for z=0:0.01:12
vergleich = fix(100*k*1/6)/100;
if(vergleich == z)
liste_A(k+1)=z;
end
end
end
bla=(0:1/6:12)
stem(bla,liste_A)
通常我的列表应继续使用值0.83,但我保留零。看到这张图片:
答案 0 :(得分:0)
您正在看到有限的精确效果。如果运行修改后的代码,您将看到比较的两个值与k = 5的情况不相等。
hold on
output_precision(18)
liste_A(1:1:72)=0;
for k=0:1:72
for z=0:0.01:12
vergleich = fix(100*k*1/6)/100;
if (abs(vergleich-z)<1e-15)
liste_A(k+1)=z;
if (k==5)
fix(100*k*1/6)/100
z
end
end
end
end
bla=(0:1/6:12)
stem(bla,liste_A)