MATLAB: создать большую матрицу, повторяя элементы вектора, с увеличением шага для каждого столбца
В MATLAB у меня есть вектор x длины n, где n обычно равно O (10), и я хотел бы построить высокую матрицу A размера [n ^ m, m], где m снова равно 0 (10). Матрица имеет своеобразный вид: если n = 4 и m = 6, пусть
x=[x1; x2; x3; x4]
тогда А
x1 x1 x1 x1 x1 x1
x2 x1 x1 x1 x1 x1
x3 x1 x1 x1 x1 x1
x4 x1 x1 x1 x1 x1
x1 x2 x1 x1 x1 x1
x2 x2 x1 x1 x1 x1
x3 x2 x1 x1 x1 x1
x4 x2 x1 x1 x1 x1
x1 x3 x2 x1 x1 x1
. .
. .
. .
x4 x4 x4 x4 x4 x4
На практике каждый столбец получается путем повторения элементов x с увеличением шага для каждого столбца. Как я могу это сделать? Если возможно, я бы предпочел эффективное (векторизованное) решение, потому что, как вы можете видеть, количество строк в A экспоненциально увеличивается с m. Спасибо большое,
Sergio
РЕДАКТИРОВАТЬ: ой, извините! Я забыл, что мне также нужно построить вектор V размером [n ^ m, 1], основанный на векторе w, имеющем одинаковую длину x
w=[w1; w2; w3; w4]
V является
w1^6
w2*w1^5
w3*w1^5
.
.
.
w4^6
Надеюсь, дрянная графика достаточно ясна. В любом случае, V является вектором столбца длины n ^ m. Угадайте, я мог бы создать матрицу B из w, точно так же, как создать матрицу A из x, а затем использовать prod (B, 2)?