Matlab max会引入舍入误差吗?

Matlab max会引入舍入误差吗?,matlab,max,precision,Matlab,Max,Precision,一般来说,==运算符不适合测试“数值”相等性,但应该做类似于abs(a-b) max >: template <class T> T max(T a, T b) { return a>b ? a : b; } 模板 T最大值(T a,T b){ 返回a>b?a:b; } 如您所见,此函数将返回与a或b完全相同的值 Matlab只是添加了矩阵形式、奇特的格式包装等,但其内核将遵循与上述示例相同的原则 所以,是的,在这里使用相等是可以的。谢谢,我也喜欢带模板的C;-

一般来说,==运算符不适合测试“数值”相等性,但应该做类似于
abs(a-b)
的事情。但是,当我想查找数组中最大元素的位置时,假设
max
将返回未更改的元素是否可以保存?可以吗

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

max
仅比较两个值,不对它们执行任何可能更改其值的操作

这是一个典型的C++实现,代码< > max >:

template <class T>
T max(T a, T b) {
    return a>b ? a : b; 
}
模板
T最大值(T a,T b){
返回a>b?a:b;
}
如您所见,此函数将返回与
a
b
完全相同的值

Matlab只是添加了矩阵形式、奇特的格式包装等,但其内核将遵循与上述示例相同的原则


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

谢谢,我也喜欢带模板的C;-)@Psirus:是的,我把C++称为“C风格”,因为它是在“C”语言族中(如Python、java、……)。但是,好了,编辑以防止与纯粹主义者无意义的讨论:这是C++!讨论结束!:)