我试图使用以下几行来获取具有125个波段的光谱的导数:
dW=diff(wavelength);
dR=diff(data);
df=dR./dW;
问题在于下一步我想用数字比较它与原始光谱以及通过绘图在视觉上进行比较,但是df的大小是124但是我的原始波长是125.问题是我必须删除第一个或最后一个带?但是某些光谱分析软件的输出并没有改变尺寸。取平均乐队也不起作用,它使图表显示出疯狂的行为。
答案 0 :(得分:1)
diff
is basically:
Y = [X(2)-X(1) X(3)-X(2) ... X(m)-X(m-1)]
这意味着它必须比你的输入更短(你不能从零中减去一些东西,对吧?)。
你必须做的事情当然取决于你想做什么,但至少要改变意义"方法(保持与采样时间相关的因果关系)将在您的dW
和dR
之前加上一个任意值。
顺便说一句,如果df=dR./dW
有零,那么您的比率NaN
可能会有很多dW
(只要两个连续的数据值相同,就会发生这种情况)。