0
Day              price1          price2

2/2/2000         10                15

3/2/2000         12                18

4/2/2000         14                19

对于每个值(价格 1 和价格 2),我想为每一列计算不同的 = 现在 - 过去(line2-line1)。

为了做到这一点,使用表格是正确的,有什么例子吗?

我有的

file = xlsread('example.xls');

y = length(price);

for i=1:y;
  difprice1 = line(i+1)-line(i)
  difprice2 = line(i+1)-line(i)

end
4

2 回答 2

0

就像是:

for i = 1:length(price1)-1
    Diff(i,1) = price1(i+1)-price1(i);
    Diff(i,2) = price2(i+1)-price2(i);
end

or more efficiently:

Diff(:,1) = price1(2:end)-price1(1:end-1);
Diff(:,2) = price2(2:end)-price2(1:end-1);
....
Diff(:,N) = priceN(2:end)-priceN(1:end-1);

当然,价格向量都必须具有相同的长度。

于 2013-01-10T19:30:14.767 回答
0

如果您的价格存储在具有连续天数和不同产品/价格的mxn矩阵 A 中,您可以通过 简单地获得每日变化。mnA(2:end, :) - A(1:end-1, :)

该计算采用所有“第二天”价格的矩阵,并逐个元素地减去所有“今天”价格的矩阵,从而得出整个时间窗口内的所有价格变化。

A = xlsread('example.xls');
dA = A(2:end, :) - A(1:end-1, :)

现在dA(:, 2:end)包含您要求的所有数字。

于 2013-01-10T19:31:01.117 回答