Day price1 price2
2/2/2000 10 15
3/2/2000 12 18
4/2/2000 14 19
对于每个值(价格1和价格2),我想为每列计算不同的= now-past(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
答案 0 :(得分: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);
当然,价格向量都必须具有相同的长度。
答案 1 :(得分:0)
如果您的价格存储在m
x n
矩阵A中且连续m
天和n
个不同的产品/价格,您可以获得日常更改只需A(2:end, :) - A(1:end-1, :)
。
此计算采用所有“次日”价格的矩阵,并逐个元素地减去所有“今天”价格的矩阵,从而导致所有价格在整个时间窗口内发生变化。
A = xlsread('example.xls');
dA = A(2:end, :) - A(1:end-1, :)
现在dA(:, 2:end)
包含您要求的所有数字。