2016-07-29 3 views
1

Я хочу создать многомерные массивы, которые повторяют вектор вдоль других измерений. Например. для векторов-строк a и b я могу создать A, который имеет A(:,n,m,k)=a для всех n, m, k и аналогично B, который имеет B(n,:,m,k) для всех n, m, k следующим образом:MATLAB: повторить вектор строки в нескольких измерениях

A=repmat(a', [1 length(b) length(c) length(d)]); B=repmat(b, [length(a) 1 length(c) length(d)]);

Как я могу сделать эквивалент для C и D? То есть такой, что C (n, m,:, k) = c, где c - вектор строки.

ответ

1

решаемые это сам, можно использовать функцию переставлять, например .:

B=repmat(b, [length(x) 1 length(a) length(c)]); B=permute(B,[1 3 2 4]);