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 に答える