📄 mfbox_mkgrid.m
字号:
function varargout=mfbox_mkgrid(varargin)%mkgrid - generate multidimensional grid %% Copyright by Peter Gruber, Fabian J. Theis and Ingo R. Keck% Signal Processing & Information Theory group% Institute of Biophysics, University of Regensburg, Germany% Homepage: http://research.fabian.theis.name% http://www-aglang.uni-regensburg.de%% This file is free software, subject to the% GNU GENERAL PUBLIC LICENSE, see gpl.txtif (nargin>0) d = []; for i=1:nargin, d(i) = length(varargin{i}); end if (nargin==1) v = varargin{1}; if (iscell(v)) [r,s] = ndg(v); elseif (size(v,1)==1) r = {}; for i=1:size(v,2), r{i} = [1:v(i)]; end [r,s] = ndg(r); else [r,s] = ndg(v); end else [r,s] = ndg(varargin); end if (nargout==1), varargout{1} = r; elseif (nargout==2), varargout{1} = r; varargout{2} = s; else for i=1:nargout, varargout{i} = reshape(r(:,i),d); end endendreturnfunction [coords,border]=ndg(d)ld = length(d);lld = length(d{ld});coords = reshape(d{ld},[],1);border = zeros(size(coords));if (length(coords)==0), return; endborder(coords==min(coords(:))) = 1;border(coords==max(coords(:))) = 1;if (ld>1) [ocoords,oborder] = ndg(d(1:(ld-1))); border = repmat(oborder,lld,1)+reshape(repmat(border',size(ocoords,1),1),[],1); coords = [repmat(ocoords,lld,1),reshape(repmat(coords',size(ocoords,1),1),[],1)];endreturn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -