找回密码
 注册
查看: 11220|回复: 2

R语言中矩阵的乘法运算

[复制链接]
发表于 2011-1-22 21:13:57 | 显示全部楼层 |阅读模式
矩阵相乘
操作符%*% 用于矩阵相乘。n ×1 或者1 ×n 矩阵在情况允许的时候可以作为一
个长度为n 的向量处理。反之,向量若出现在矩阵相乘的表达式中会被自动转换成与
矩阵对应的行或者列向量(有时候比较含糊,后面会有所论述)。
如果A 和B 是大小一样的方阵,那么
> A * B
将是一个对应元素乘积的矩阵,而
> A %*% B
则是一个矩阵积。如果x 是一个向量,那么
> x %*% A %*% x
一个二次型(quadratic form)3。
函数crossprod() 可以完成\矢积"(crossproduct)运算,也就是说crossprod(X,
y) 和t(X) %*% y 等价,但是在运算上更为高效。如果crossprod() 第二个参数忽略
了,它将默认和第一个参数一样,即第一个参数和自己进行运算。
函数diag() 的含义依赖于它的参数。当v 是一个向量时,diag(v)返回以该向
量元素为对角元素的对角矩阵。当M 是一个矩阵时,diag(M) 返回M的对角元素。
这和Matlab 中diag() 的用法完全一致。不过有点混乱的是,如果k 是单个值4,那
么diag(k) 的结果就是k ×k 的方阵!
回复

使用道具 举报

发表于 2012-6-20 11:08:10 | 显示全部楼层
非常感谢,很有帮助.
回复 支持 反对

使用道具 举报

发表于 2012-8-22 08:46:42 | 显示全部楼层
受教了,多谢楼主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 12:22 , Processed in 0.027204 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表