我要做到以下幾點:索引爲環MATLAB
創建與1:n
所有可能的排列矩陣,例如
n=4;
L=perms(1:n)';
我得到的輸出如預期的那樣 -by - 矩陣:
L =
Columns 1 through 13
4 4 4 4 4 4 3 3 3 3 3 3
3 3 2 2 1 1 4 4 2 2 1 1
2 1 3 1 2 3 2 1 4 1 2 4
1 2 1 3 3 2 1 2 1 4 4 2
Columns 14 through 24
2 2 2 2 2 1 1 1 1 1 1
3 4 4 1 1 3 3 2 2 4 4
1 3 1 4 3 2 4 3 4 2 3
4 1 3 3 4 4 2 4 3 3 2
現在我想用這個矩陣的0索引循環:
使用的第一列,我要養活我的迴路的以下指標輸入:i=4
j=3
,2
,1
。然後對於i=3
j=2
,1
。然後爲i=2
j=1
。 i=1
是空
這可能只是做了這樣的第一列:
for u=4:-1:1
for v=u-1:-1:1
,但不會對其他列工作,所以我需要做相同,但與矩陣L
,類似的條目對於i=1
列(它不工作MATLB):
u=L(1:4,1)
v=L(u:L(4,1) , 1) %// where u corresponds to L(1,1) then L(2,1) then L(3,1)
(所有列它看起來像:
for i=1:length(L)
for u=L(4*(i-1)+1:4*i)
for v=.. ?
)
這不起作用,因爲MATLAB與增量1
從取項的值,當我寫L(1,1):L(4,1)
這並不意味着從一行返回條目四號線,而是所有的數字L(1,1)
的值爲L(4,1)
(此處爲空)。
任何想法?非常感謝你提前
對於數組上的循環需要行向量,試着循環'L(1:4,1)。'(注意轉置)。 –
@AndrasDeak是的,謝謝 – Sha