我知道diff
计算离散导数,或者说向量的连续分量之间的差异。
不是我定义一个变量
x=-4:1/10:4;
y=diff(diff(x));
为什么我会得到1.e-15*
一排非零的向量?Matlab 通过以某种方式显示它是诚实的,在计算x=-4:1/10:4;
时它已经四舍五入了一些数字,虽然我y=(diff(x));
只执行并且即使它显示所有数字都相同,但它以某种方式表明在它的核心中它们没有存储为相同的数量(因为它四舍五入关闭 -4+0.1 或 -3.9 以外的某个数量 ???)。现在,我如何获得标准输出?当它实际上是零时,我如何得到 0,就像在这种情况下一样,而无论它可能是什么样子1*e-...
,当它实际上是非零时,我如何得到非零?
请注意,如果这是不可能的,diff(x,2)
当 diff 实际上为零时,我如何计算 real/actual 或至少准确的符号和零?并获得函数的真正离散导数,cosine
而不是一些误导性的值?
我需要使用 diff 计算拐点。