Ste*_*fin 5 size matlab matrix
假设我想找到一个矩阵的大小,但不能使用任何功能,如size,numel和length.有没有任何巧妙的方法来做到这一点?我可以想到使用循环的几个版本,例如下面的循环,但是没有循环可以做到这一点吗?
function sz = find_size(m)
sz = [0, 0]
for ii = m' %' or m(1,:) (probably faster)
sz(1) = sz(1) + 1;
end
for ii = m %' or m(:,1)'
sz(2) = sz(2) + 1;
end
end
Run Code Online (Sandbox Code Playgroud)
并且为了记录:这不是一个功课,它是出于好奇.虽然这个问题的解决方案在这种情况下永远不会有用,但它们有可能提供关于如何使用某些功能/技术的新知识.
这是一个更通用的解决方案
function sz = find_size(m)
sz = [];
m(f(end), f(end));
function r = f(e)
r=[];
sz=[sz e];
end
end
Run Code Online (Sandbox Code Playgroud)
哪一个