我有三个时间序列数组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