如何避免除以零错误?

How to avoid dividing by zero error?

我正在使用 MATLAB 计算图像的幅度和相位。我使用以下公式来获得相角:

Phase_Angle = tan^-1(Y_Magnitude/X_Magnitude)

因此,如果 X_Magnitude 矩阵包含零值,将导致 NaN 没有人会喜欢那样..

我非常怀疑 tan^-1(...) 是有效的 MATLAB 代码。你可能是说 atan(...).

如果改为使用 atan2,您将获得实际相位,而不是相位模 π。另外,您不必担心被零除:

Phase_Angle = atan2(Y_Magnitude, X_Magnitude);