Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
通常, == 运算符不适合测试“数字”相等性,但应该执行类似abs(a - b) < eps. 但是,当我想找到数组中最大元素的位置时,假设max将返回元素不变是否可以保存?可以吗
abs(a - b) < eps
max
[row, col] = find(a == max(a(:));
是的。
max只比较两个值,不对它们做任何可能改变它们值的操作。
这是 a 的典型 C++ 实现max:
template <class T> T max(T a, T b) { return a>b ? a : b; }
如您所见,此函数将返回与or完全相同的值。ab
a
b
Matlab 只是添加了矩阵形式,花哨的格式化包装器等,但它的内核将遵循与上面示例相同的原则。
所以是的,在这里使用相等是可以的。