二阶差分图

时间:2017-04-22 18:19:22

标签: matlab

我正在开展一个项目,我需要计算数据系列的二阶差分图。数据向量是x(n),我需要计算以下值以在图表上绘图:

X(n) = x(n+1)- x(n)-----Equation(1)
Y(n) = x(n+2) - x(n-1)-------Equation(2)

然后X(n)对Y(n)的图将是我的SODP。 如何计算第一个方程的x(n + 1)和MATLAB中第二个方程的x(n + 2)。我尝试使用以下代码来计算x(n + 1)的值:

X = zeros(1,N);
% Assume the first element is A1
X(1) = A1;
for n = 1:(N-1)
if rem(n,2) == 0
% even case
An = A0;
else
% odd case
An = A1;
end
% step to increment X(n) to X(n+1)
X(n+1) = An*X(n)
end

但是我得到了与输出相同的x(n)数据。 我感谢对此问题的任何意见。 提前谢谢大家。

1 个答案:

答案 0 :(得分:1)

x=rand(1E4,1); %example vector
X=x(2:end)-x(1:end-1); %x(n+1)-x(n)
Y=[nan;x(3:end)-x(1:end-2)]; %x(n+2)-x(n-1)
plot(X,Y,'.')

Y的计算如下:

Y(1)= nan(不能计算x(1-1),x(0)不存在)

Y(2)= x(3)-x(1)

Y(3)= x(4)-x(2)