1

很抱歉这个菜鸟问题,但我是 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)

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

4

1 回答 1

3

正如乔纳斯所建议的那样nnz,并且sum是比numel(find(...)),更快sum的选择,因此:

function y = count(x,a,b);
y = sum(x(:)>a & x(:)<b);
于 2013-01-20T23:20:02.017 回答