del*_*nce 3 matlab matrix division
我正在使用matlab,我有两个矩阵:
G =
1 1 1 1
1 1 1 1
Run Code Online (Sandbox Code Playgroud)
和第二个:
m =
4 4 4 4
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
我想要这个结果:
x =
1/4 1/4 1/4 1/4
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
到目前为止我做的是:
x = G ./ m
Run Code Online (Sandbox Code Playgroud)
但它返回:
x =
1/4 1/4 1/4 1/4
NaN NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
如果除以零,如何通过设置默认值"0"来避免将div除以零?
您可以将NaNs转换回零:
x = G ./ m;
x(isnan(x))=0; % thanks to comment by @nkjt
Run Code Online (Sandbox Code Playgroud)
或者,如果您还要在矩阵m
中保存要保存的NaN,则可以执行以下操作:
x(m==0)=0;
Run Code Online (Sandbox Code Playgroud)