Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用diffMatlab 函数来获取两个连续值之间的差异。并且如此处所示在此链接中的此向量 nz 中所示 nz 列 261 和 260 之间的差异为 -1342 但是当我使用此脚本时,此列之间差异的结果不会出现在结果 dnz 中。那么,如果有人可以建议为什么这不起作用?这是我的尝试:
diff
load('nz.mat'); dnz = diff(nz);
如果您键入class(nz),您会看到您的数据是unit16. 并且 MATLAB 在处理整数值时会使结果饱和,即由于0 - 1342小于零( 中的最小值uint16)它返回零:
class(nz)
unit16
0 - 1342
uint16
>> dnz=diff(nz); >> dnz(260) ans = 0
-1342如果您将其转换为可以像int16您一样容纳的课程
-1342
int16
>> dnz = diff(int16(nz)); >> dnz(260) ans = -1342