MATLAB功能元素范围

时间:2013-01-20 22:42:34

标签: function matlab range

很抱歉这个noob问题,但我是MATLAB的初学者。我需要做以下任务,但我被困住了。 “写一个带有三个参数x,a,b的函数,其中x是一个矩阵,a和b是标量。该函数返回x中位于区间[a,b]中的元素数。”这是我到目前为止所拥有的。

function y = count(x,a,b);
for value=a:b
    length(value)
end

我需要使用以下行在命令提示符中调用该函数:

count(randn(20, 20), 0, 5)

然而,我没有得到任何接近正确答案的东西。谁能指出我正确的方向?谢谢。

1 个答案:

答案 0 :(得分:3)

由于Jonas建议nnzsum的选项比numel(find(...))快,sum最快,因此:

function y = count(x,a,b);
y = sum(x(:)>a & x(:)<b);