R 中的标量乘法

问题描述 投票:0回答:3

我正在尝试在 R 中执行简单的标量乘法,但遇到了一些问题。

在线性代数中我会做以下事情:

scalar multiplication

这是我在 R 中实现此功能的方法:

A <- matrix(1:4, 2, byrow = TRUE)
c <- matrix(rep(3, 4), 2)
A * c

这会产生正确的输出,但是当涉及到较大的矩阵时,创建标量矩阵 c 会很麻烦。

有更好的方法吗?

r matrix
3个回答
12
投票

R
中,默认值为标量。对于矩阵乘法,请使用
%*%
t
是转置,
solve
会给出逆矩阵。以下是一些示例:

a = matrix(1:4,2,2)
3 * a
c(1:2) %*% a
c(1:2) %*% t(a)
solve(a)

这里是一个链接:R 中的矩阵代数


7
投票

使用函数

drop()
将 1x1 变量矩阵转换为“实数”标量。所以你可以写
drop(c)*A
并且不需要用值本身替换
c


0
投票

A=c(1,2,3,4) A m=矩阵(A,nrow=2,ncol=2) 米 c=3 m*c

© www.soinside.com 2019 - 2024. All rights reserved.