通常,==运算符不适合测试“数字”相等,但应该更像abs(a - b) < eps
。但是,当我想找到数组中最大元素的位置时,是否可以假设max
将返回元素不变?可以吗
[row, col] = find(a == max(a(:));
答案 0 :(得分:3)
是
max
仅比较两个值,并且不会对它们执行任何可能更改其值的操作。
这是max
的典型C ++实现:
template <class T>
T max(T a, T b) {
return a>b ? a : b;
}
如您所见,此函数将返回完全与a
或b
相同的值。
Matlab只是添加了矩阵形式,花式格式化包装器等,但它的内核将遵循与上述示例相同的原则。
所以是的,可以在这里使用相等。