如何避免除以零错误?
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);
我正在使用 MATLAB 计算图像的幅度和相位。我使用以下公式来获得相角:
Phase_Angle = tan^-1(Y_Magnitude/X_Magnitude)
因此,如果 X_Magnitude 矩阵包含零值,将导致 NaN 没有人会喜欢那样..
我非常怀疑 tan^-1(...)
是有效的 MATLAB 代码。你可能是说 atan(...)
.
如果改为使用 atan2
,您将获得实际相位,而不是相位模 π。另外,您不必担心被零除:
Phase_Angle = atan2(Y_Magnitude, X_Magnitude);