假设我想找到一个矩阵的大小,但是不能使用任何函数,例如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
出于记录:这不是一项作业,是出于好奇。尽管此问题的解决方案在这种情况下永远不会有用,但有可能在如何使用某些功能/技术方面提供了新的知识。
最佳答案
这是一个更通用的解决方案
function sz = find_size(m)
sz = [];
m(f(end), f(end));
function r = f(e)
r=[];
sz=[sz e];
end
end
哪一个
关于matlab - 查找矩阵的大小,而无需在MATLAB中使用 `size`,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19280117/