📄 fm_strjoin.m
字号:
function t = fm_strjoin(varargin)%FM_STRJOIN Concatenate strings.% same as STRCAT in Matlab. Used for compatibility with% GNU/Octaveif nargin < 1 disp('Error in fm_strjoin: Not enough input arguments.'); returnend% Make sure everything is a cell arraymaxsiz = [1 1];emptyIdx = [];siz = cell(1,nargin);tf = zeros(1,nargin);for i = 1:nargin if (isempty(varargin{i})) emptyIdx(i) = i; end if ischar(varargin{i}), varargin{i} = cellstr(varargin{i}); end siz{i} = size(varargin{i}); if prod(siz{i}) > prod(maxsiz), maxsiz = siz{i}; end tf(i) = iscell(varargin{i});endif ~isempty(emptyIdx) emptyIdx = find(emptyIdx); varargin(emptyIdx) = []; tf(emptyIdx) = []; siz(emptyIdx) = [];endif ~all(tf) disp('Inputs must be cell arrays or strings.') returnend% Scalar expansionfor i = 1:length(varargin) if prod(siz{i}) == 1 varargin{i} = varargin{i}(ones(maxsiz)); siz{i} = size(varargin{i}); endend%if ((numel(siz) > 1) & ~isequal(siz{:}))if ((prod(size(siz)) > 1) & ~isequal(siz{:})) disp('All the inputs must be the same size or scalars.') returnends = cell([length(varargin) maxsiz]);for i = 1:length(varargin) s(i,:) = varargin{i}(:);endt = cell(maxsiz);for i = 1:prod(maxsiz) t{i} = [s{:,i}];end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -