我有三个时间序列数组 a、b、c,每个数组包含 1000 个值。它们组成一个矩阵 A。
现在,我想获取每个数组并逐点将其与其他数组相乘,这样我将得到 9 个新向量 a^2、ab、ac、ba、b^2、bc、ca、cb、cc。
完成此操作后,我想将这 9 个新数组组合成 81 个新数组。
我该怎么做呢?就像我说的,我尝试构建一个矩阵,但它并没有按照我想要的方式工作。我希望 A 被识别为包含 1000*1 数组的 1*3 矩阵。就像现在一样,它只是连接所有内容。如果 A 是一个包含数组的 1*3 矩阵,我可以构建矩阵 B = transpose(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 上真的不够好,无法知道所有细微差别,但速度和内存性能是有点问题。