我正在尝试编写代码来执行某些数据上的相关性,但每次迭代都要从计算中排除一个特定列。 A是一个1000x60x5矩阵,B是一个1000x1载体。 目前,我有MATLAB相关循环排除特定列
out(60,5)= zeros; % preallocate for loop output
for ques=1:size(A,2)
for rep=1:size(A,3)
out(ques,rep) = corr(A(:,[(1:ques-1):(ques+1:end)],rep),B(:),...
'rows','pairwise','Type','Spearman');
end
end
有没有办法我可以指定(而不是[(1:ques-1):(ques+1:end)]
)排除从计算ques
列?
你是指'[(1:ques-1):(ques + 1:end)]'还是'[(1:ques-1),(ques + 1:end)]'?前者为 – Dan 2013-05-02 13:57:01
。由于A是三维的,维度被指定为A(:,Z,rep),其中Z表示范围'1:end',但错过了'ques'。如果这有道理?我可能不会很好地解释它。 – 8eastFromThe3ast 2013-05-02 14:06:39
我认为你的意思是后者。在Matlab中比较它们:'[(1:19):(21:60)]'和'[(1:19),(21:60)]',前者很简单'1:21',后者是“1:19”和“21:60”的串接,这是我认为你的意思 – Dan 2013-05-02 14:10:45