我正在嘗試編寫代碼來執行某些數據上的相關性,但每次迭代都要從計算中排除一個特定列。 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