0

我有一个 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 )

如何扫描这些数字?

4

1 回答 1

2

这是来自函数文档页面的引用eq(运算符的函数形式==):

A == B

如果一个输入是标量而另一个是非标量数组,则标量输入被视为与非标量输入数组具有相同维度的数组。换句话说,如果输入 A 是数字 100,而 B 是一个 3×5 矩阵,则 A 被视为一个 3×5 元素矩阵,每个元素都设置为 100。MATLAB 返回一个数组与非标量输入数组具有相同的维度。

这是if声明文档中的相关部分:

if expression
    statements
end

当结果为非空且包含所有非零元素(逻辑或实数)时,计算表达式为真。否则,表达式为假。

所以也许你打算使用:

if any(data == num)
    disp('number found')
end
于 2013-05-03T01:36:45.150 回答