我有三個時間序列數組a,b,c,每個數組由1000個值組成。他們組成一個矩陣A.乘以彼此的向量陣列
現在,我想要採取每個數組,並逐點乘以它到每一個其他數組,所以我會得到9個新的向量a^2,ab,ac,ba,b^2,bc ,ca,cb,cc。
當我這樣做時,我想將這9個新陣列合併爲81個新陣列。
我該怎麼做?就像我說的,我試圖建立一個矩陣,但它並不像我想要的那樣工作。我希望A被識別爲1×3矩陣,並且包含1000×1陣列。現在它只是連接一切。如果A是含陣列1×3的矩陣,我可以只建立矩陣B =轉置(A)* A,其中將包括所有產品
我已經試過像
A = [[a] [b] [c]]
A = {a b c}
A = {a; b; c}
defining a, b and c as a = {1, 2, 5, 2 , 1 ...} instead of [1, 2, 5, 2 , 1 ...]
但沒有東西他們的作品。
我不在乎a,b,c,d是以列表,列數組,行數組還是單元格的形式存儲的,而且我在matlab中確實不夠好,無法知道所有的subtile差異,但速度內存性能是一個問題。
在矩陣運算符之前放置一個點「。」以使其成爲元素明確的,例如, 'a。^ 2','a。* b'。 –
對不起,但我想要數組相乘,而不是自己。也許我不清楚,但我正在尋找某種自動的方式來組合陣列。實際上,我會有三個以上的信號,可能有數百個信號,所以如果每個組合都寫出來就太乏味了。 我想按照元素的方式進行計算,但首先我希望將數組組合爲「矩陣式」。 – user1661303
理想情況下,我想有一個矩陣,其行爲與矩陣完全一樣,除了它具有數組(或列表或向量)作爲條目並且+和*被重載的情況下 如果我可以進行矩陣乘法這樣A * B的第一個條目就是a11 * b12 + a12 * b21,其中a11等於是一個向量,a11 * b12是分段相乘 – user1661303