相同的公式,但在Matlab和Excel中有不同的结果

我有一个公式:

800/(0.3*F6)*((20/SQRT(3.14*E6*A6^3))*EXP(-(40-F6*A6)^2/4*F6*A6)) A6 = 1 E6 = 1 F6 = 1 

Excel中的答案是4.1592E + 169,但是Matlab报告的答案是2.1780e-161。

我在这里想念什么?

谢谢。

这是由于在Excel中的运算符优先级,其中-2^2 = (-2)^2 = 4 ,而在MATLAB中为-2^2 = -(2^2) = -4

因此,Excel中的-(40-F6*A6)^2(-(40-F6*A6))^2 ,在MATLAB中是-((40-F6*A6)^2)

MATLAB中的操作顺序是不同的。 MATLAB的计算就像在Excel公式中有额外的圆括号一样:

Excel: EXP(-(40-F6*A6)^2/4*F6*A6))

Excel匹配MATLAB: EXP(-((40-F6*A6)^2/4*F6*A6)))

MATLAB来匹配Excel: exp((-(40-F6*A6))^2/4*F6*A6)

也就是说, MATLAB的运算符优先级 mpower^ )高于括号内的所有值。 因此,它将在否定之前执行^操作,除非将其放在括号内。