我有一个n x m矩阵,并且每列都有相关的分位数(例如m = 3)
-0.0627 -0.0564 -0.0413
对于每列,我如何计算Xn + 1在每个相关分位数下面的次数,假设Xn有?
我可以使用sum(X =< -0.0627)作为第一列,但是如何模拟条件,它应该只计算前一个值是否也低于-0.0627?
如果答案太明显或问题不明确,我很抱歉,但我只是从matlab开始。
感谢!!!
答案 0 :(得分:1)
如果X是一列,您可以使用&
加入Xn和Xn + 1必须低于-0.0627的两个条件,如下所示:
Xn = X(1:end-1);
Xnplus1 = X(2:end);
sum(Xn <= -0.0627 & Xnplus1 <= -0.0627)
答案 1 :(得分:1)
如果我理解正确:
data = [ -1 -1 0
-2 -2 0
0 -3 -1
-2 0 0 ];
quant = [-0.0627 -0.0564 -0.0413];
R = bsxfun(@lt, data, quant);
result = sum(R(1:end-1,:) & R(2:end,:));
这会在我的示例中给出结果[1 2 0]
。