我有一个data.txt文件,如:
123 124 125 126
我想将这些数字与num
进行比较我的代码是这样的
data= textread('data.txt','%d');
num = 125;
if num == data
b = 1;
else
b = 0;
end
但答案是0 (b = 0)
如何扫描这些数字?
摘自eq
函数(==
运算符的函数形式)的文档页:
A == B
如果一个输入是标量数组,另一个输入是非标量数组,则标量输入被视为具有相同属性的数组维度作为非标量输入数组。也就是说,如果输入A是数字100,B是一个3 × 5的矩阵,那么a就被当作100是一个3 × 5的元素矩阵,每个元素设为100。MATLAB返回与非标量输入数组具有相同维数的数组。
下面是if
语句文档中的相关部分:
if expression statements end
当结果为非空和时,求值表达式为真包含所有非零元素(逻辑或实数)。否则,表达式为false
所以也许你想用:
if any(data == num)
disp('number found')
end