读书人

R-矩阵演算

发布时间: 2012-12-22 12:05:05 作者: rapoo

R-矩阵运算

> array(c(10,20,30,40),dim=c(2,2))->a
> a
???? [,1] [,2]
[1,]?? 10?? 30
[2,]?? 20?? 40

行列式
> det(a)
[1] -200

转置运算
> t(a)
???? [,1] [,2]
[1,]?? 10?? 20
[2,]?? 30?? 40


向量内积(点乘)? a.b=x1*y1+x2*y2???? 其中a(x1,x2)? b(y1,y2)?? 结果是标量? 一个数值

> x<-1:2
> y<-3:4
> x %*% y
???? [,1]
[1,]?? 11

上面是向量的,矩阵的结果是:

> a
???? [,1] [,2]
[1,]?? 10?? 30
[2,]?? 20?? 40
> b
???? [,1] [,2]
[1,]? 100? 300
[2,]? 200? 400
> a %*% b
????? [,1]? [,2]
[1,]? 7000 15000
[2,] 10000 22000
>

上面是矩阵相乘,它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有定义。一般单指矩阵乘积时,指的便是一般矩阵乘积。若Am×n矩阵,Bn×p矩阵,则他们的乘积AB(有时记做A B)会是一个m×p矩阵。其乘积矩阵的元素如下面式子得出:

R-矩阵演算

左边的图表示出要如何计算AB的(1,2)和(3,3)元素,当A是个4×2矩阵和B是个2×3矩阵时。分别来自两个矩阵的元素都依箭头方向而两两配对,把每一对中的两个元素相乘,再把这些乘积加总起来,最后得到的值即为箭头相交位置的值。

R-矩阵演算R-矩阵演算

下面这个是矩阵每个元素的乘法

> a*b
???? [,1]? [,2]
[1,] 1000? 9000
[2,] 4000 16000
>

向量外积(叉乘)? a×b=|a|*|b|*sin<a,b>??????? 结果是一个向量(矢量)

?

向量的外积是矩阵的克罗内克积的特殊情况。

给定 R-矩阵演算 列向量 R-矩阵演算R-矩阵演算 行向量 R-矩阵演算,它们的外积 R-矩阵演算 被定义为 R-矩阵演算 矩阵 R-矩阵演算,结果出自

R-矩阵演算

这里的张量积就是向量的乘法。

使用坐标:

R-矩阵演算

> x %o% y
???? [,1] [,2]
[1,]??? 3??? 4
[2,]??? 6??? 8
> x
[1] 1 2
> y
[1] 3 4
>

> a %o% b
, , 1, 1

???? [,1] [,2]
[1,] 1000 3000
[2,] 2000 4000

, , 2, 1

???? [,1] [,2]
[1,] 2000 6000
[2,] 4000 8000

, , 1, 2

???? [,1]? [,2]
[1,] 3000? 9000
[2,] 6000 12000

, , 2, 2

???? [,1]? [,2]
[1,] 4000 12000
[2,] 8000 16000

>

?

读书人网 >编程

热点推荐