Matlab逐元素除以零

丹尼

我有两个矩阵,比如X = [1 2; 3 4; 5 6]并且Y = [0 1; -1 1; 1 1]。我想按元素进行除法X./Y,但是我需要一种忽略Y中所有零的方法。

我尝试使用类似:

非零= find(Y〜= 0); X(非零)./ Y(非零);

但是这样做会使结果成为列向量,因此我需要结果矩阵的形状与X(或Y)相同,并且零,其中Y为零。因此,对于这种情况,我期望的结果是[0 2; -3 4; 5 6]。

我也尝试了这里提出的建议(右阵列除法:忽略零除法),但是再次执行此操作将结果强制为列向量。

谢谢

迪卡卡

用这个 -

out = X./Y      %// Perform the elementwise division
out(Y==0)=0     %// Select the positions where Y is zero and 
                %// set those positions in the output to zero

输出-

X =
     1     2
     3     4
     5     6
Y =
     0     1
    -1     1
     1     1
out =
     0     2
    -3     4
     5     6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章