📄 repelem.m
字号:
function res = repelem(m, siz) % repeats elements% DESCRIPTION res = repelem(m, siz)% Repeats each element in m siz times where siz is a vector % with one element for each dimension. Much like repmat.% INPUT % m -- Matrix elements to repeat. % siz -- Number of repetitions. % OUTPUT% res -- A matrix siz times the size of m where repetitions are made % per element.% TRY % repelem(rand(2,3),[3 2]) % repelem(rand(2,3),[3])% repelem(rand(2,3),[3 2 2]) % by Magnus Almgren 98110sm = sizem(m); % the size of the source% run over dims of m or for each element of sizfor i = 1:max(ndimsm(m),length(siz)) % assume 1 if not specified if i>length(sm) sm(i) = 1; end if i>length(siz) siz(i) = 1; end % make the vector point in dimension i res{i} = flatten(repmat(1:size(m,i),[siz(i) 1]),i);end% the {:} expands the cellarray as separate argumentsres = m(index(res{:}, sm));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -