我正在将一段代码从MatLab翻译成R.在MatLab中,其中一行代码是
C=A*B
其中B是矩阵,A是矩阵或标量(例如,A=1),具体取决于某些条件.这非常有效,因为矩阵*矩阵或标量*矩阵在MatLab中以相同的方式编写(直到适合矩阵乘法的维度,就是这种情况).
然而,在R中,事情变得有点复杂.这就变成了
C=A %*% B
这很好用...除非A是标量.事实上,我只是在写
1 %*% diag(5)
输出
不一致的论点
而在MatLab中,这样的问题甚至不存在.
如上所述,有没有办法在保持我所需要的灵活性的同时,将我的MatLab指令C=A*B
翻译成R?
请注意,将A设置为单位矩阵不会令人满意:有时A是标量,不能转换为矩阵.我真的需要上面描述的"原始"灵活性.