2

通常, == 运算符不适合测试“数字”相等性,但应该执行类似abs(a - b) < eps. 但是,当我想找到数组中最大元素的位置时,假设max将返回元素不变是否可以保存?可以吗

[row, col] = find(a == max(a(:));
4

1 回答 1

3

是的。

max只比较两个值,不对它们做任何可能改变它们值的操作。

这是 a 的典型 C++ 实现max

template <class T>
T max(T a, T b) {
    return a>b ? a : b; 
}

如您所见,此函数将返回与or完全相同的值。ab

Matlab 只是添加了矩阵形式,花哨的格式化包装器等,但它的内核将遵循与上面示例相同的原则。

所以是的,在这里使用相等是可以的。

于 2012-12-04T11:46:37.473 回答