0

我编写了以下函数来查找像素是否属于matlab.

一开始,我想测试它,好像一个集合中的一个数字属于一个向量,如下所示:

function traverse_pixels(img)
for i:1:length(img)
    c(i) = img(i)
end

但是,例如,当我运行以下命令时,我得到了最后显示的错误:

>> A = [ 34 565 456 535 34 54 5 5 4532 434 2345 234 32332434];
>> traverse_pixels(A);
??? Error: File: traverse_pixels.m Line: 2 Column: 6
Unexpected MATLAB operator.

这是为什么?我该如何解决这个问题?

谢谢。

4

2 回答 2

2

你的 for 循环的头部有一个语法错误,它应该是:

for i = 1:length(img)

此外,要检查数组是否包含您可以使用的特定值:

A = [1 2 3]
if sum(A==2)>0
    disp('there is at least one 2 in A')
end

这应该更快,因为不包含 for 循环。

于 2013-02-08T09:50:35.237 回答
2

对于 i = 1:长度(图像)

愚蠢的错误,不是:,它是=

于 2013-02-08T09:51:03.640 回答