【发布时间】:2016-10-06 08:42:27
【问题描述】:
谁能帮我矢量化移动斜率计算。我试图消除 for 循环,但我不知道该怎么做。
>> pv = [18 19 20 20.5 20.75 21 21.05 21.07 21.07]'; %% price vector
>> slen = 3; %% slope length
function [slope] = slope(pv , slen)
svec = (1:1:slen)';
coef = [];
slope = zeros(size(pv));
for i = slen+1 : size(pv,1)
X = [ones(slen,1) svec];
y = pv( (i - (slen-1)) : i );
a = X\y;
slope(i,1) = a(2);
end
>> slp = slope(pv,3)
slp =
0
0
0
0.75
0.375
0.25
0.15
0.035
0.01
谢谢
【问题讨论】:
-
是的,抱歉,它是 slen(坡度长度)。我在发布之前重命名了变量并错过了它。我会编辑它。 tks
标签: matlab regression vectorization