ron*_*oni 5 arrays optimization matlab
我想生成一个这样的数组:
a = [1 1 2 2 3 3 4 4 5 5 6 6 ....]
%% or something like this
a = [1 1 1 .. ktimes 2 2 2 ... ktimes .....]
Run Code Online (Sandbox Code Playgroud)
这可以通过MATLAB中的单行代码完成吗?我相信有几个答案.请不要循环.
随着reshape和repmat
reshape(repmat([1:6],k,1),1,[])
Run Code Online (Sandbox Code Playgroud)
随着bsxfun-
reshape(bsxfun(@plus,[1:6],zeros(k,1)),1,[])
Run Code Online (Sandbox Code Playgroud)
在大众的需求有floor-
floor(1:1/k:6+(k-1)/k)
Run Code Online (Sandbox Code Playgroud)
让n = 6;与k = 2;.以下是一些替代方案:
kron(1:n,ones(1,k))
Run Code Online (Sandbox Code Playgroud)
要么
ceil(1/k:1/k:n)
Run Code Online (Sandbox Code Playgroud)
要么
double(uint64(1:n*k)/k)
Run Code Online (Sandbox Code Playgroud)