我有一个简单的问题,例如使用for循环从向量创建矩阵
A = [1:101];
matrix = [1 2 3 4 ... 50;
51 52 53 54 ... 100;
101 1 2 4 ... 49;
50 51 52 53 ... 100]
有人可以告诉我该怎么做吗?非常感谢
我假设除A
您之外还有行数和列数matrix
作为输入,即
A = 1:101;
nRows = 4;
nCols = 50;
试试这个:
% initialize
matrix = zeros(nCols, nRows); % create it transposed because we'll have to transpose it later because MATLAB is column-major
%figure out how many times we will have to repeat A
nRepeat = ceil(numel(matrix)/numel(A));
% Tile A
A_tiled = repmat(A, 1, nRepeat);
%fill in matrix
matrix(1:end) = A_tiled(1:numel(matrix));
%Finally, transpose
matrix = matrix';
哪个返回
matrix = [1 2 3 4 ... 50;
51 52 53 54 ... 100;
101 1 2 4 ... 49;
50 51 52 53 ... 99]
越近越好
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句