考慮有矩陣。從這個矩陣中,我從每一行中選擇相同數量的元素。讓我們說矩陣是nxn
,並從每行我m
元素(m<n
)。在Matlab中建立一個從另一個元素中挑選元素的最快方法是什麼?
我將用此選定元素構建一個mxm
矩陣。在每一行中,我都把原始矩陣中的元素(當然是相同的行索引)。
達到此目的的最佳方法是什麼?
謝謝
考慮有矩陣。從這個矩陣中,我從每一行中選擇相同數量的元素。讓我們說矩陣是nxn
,並從每行我m
元素(m<n
)。在Matlab中建立一個從另一個元素中挑選元素的最快方法是什麼?
我將用此選定元素構建一個mxm
矩陣。在每一行中,我都把原始矩陣中的元素(當然是相同的行索引)。
達到此目的的最佳方法是什麼?
謝謝
實現此目的的一種方法如下所示。定義一個數組a
玩弄...
a = randi(6,6);
b = a([1 3 5],[2 4 6])
這表明用於選擇行和列從一個矩陣到另一個使用索引向量。這取決於能夠指定要用作索引的向量。你也可以寫:
c = a(1:2:end,2:2:end)
現在,如果你告訴我們,你說「的最好方式」是什麼意思,我們也許能夠告訴你呢!
編輯
所以我再次閱讀問題,似乎由「最好的」你的意思是「最快」。我從不擔心測量這種操作的速度,我有興趣等待真正的Matlab專家,他們潛伏在這裏,提供比這更明智的答案。
當然,最快的方法是根本不構建子矩陣,而是對原始矩陣的元素進行操作。我不知道你的算法是否適合避免構建子矩陣。
我會說,如果你要傳遞所有可用的行,那麼你得到一個'mxn'矩陣。 – Zeina