美文网首页
2.5.4 矩阵运算

2.5.4 矩阵运算

作者: Andrew_bao | 来源:发表于2017-05-18 10:17 被阅读0次

2.5.4 矩阵运算

1.转置运算 t()

A<-matrix(1:6, nrow = 2);A
t(A)

2.求方阵的行列式 det()

B<-matrix(1:4,ncol=2);B
det(B)

3.向量的内积 %*%

例如:

x<-1:5;x
y<-21:5;y
x%
%y

1.内积

crossprod()是内积运算函数(表示交叉乘积)

表示t(x)%*%y

内积为crossprod(x,x)

crossprod(x,y)

2.外积

tcrossprod(x,y)是外积函数,x与y的外积.

表示x%*%t(y)

4.向量的外积(叉积)

x,y是n维向量,则x %o% y表示x与y作外积

x<-1:5;y<-2*1:5
x%o%y

outer()是外积运算函数,outer(x,y)计算向量x与y的外积,等价于x%o%y

outer()一般格式如下:

outer(X, Y, FUN = "*", ...)

x,y矩阵或向量,fun是做外积运算函数,缺省值为乘法运算.

outer()在绘制三维曲面非诚使用,它可以生成一个X,Y的网格

具体看3.3.1

5.矩阵的乘法

矩阵A,B有相同的维数,则A*B表示矩阵中对应的元素的乘积

A%%B表示通常意义下的两个矩阵的乘积

例:

A<-array(1:9,dim = (c(3,3)))
B<-array(9:1,dim = (c(3,3)))
C<-A%*%B;C

又上可以知道二次型-表示----x%%A%%x

6.生成对角阵和矩阵去对角运算

diag(v)依赖于变量

v-向量。diag(v)表示以v的元素为对角线元素的对角阵

M-矩阵.diag(v)表示以取M矩阵对角线上的元素向量

例:

v<-c(1,4,5);v
diag(v)

获取以v为对角元素的矩阵

M<-array(1:9,dim=c(3,3));M
diag(M)

获取矩阵M的对角元素

7.解线性方程组和求矩阵的逆矩阵

求Ax=b,其命令形式为solve(A,b),求矩阵A的逆

例如:

A<-t(array(c(1:8,10),dim=c(3,3)))
b<-c(1,1,1)
x<-solve(A,b);x

B<-solve(A);B

8,求矩阵特征值和特征向量

函数eigen(Sm)是求矩阵对称矩阵Sm的特征值和特征向量

结果有列表的形式保存

A<-t(array(c(1:8,10),dim=c(3,3)))
Sm<-crossprod(A,A)
ev<-eigen(Sm);ev

9.矩阵的奇异值分解

函数svd(A)是对矩阵A作奇异值分解,即A = UDV T ,其中U,V正交矩阵

D为对角阵,也就是矩阵A的奇异值。

svd(A)的返回值也是列表。

svd(A)$d表示矩阵A的奇异值,即矩阵D的对角线上的元素

svd(A)$u对应的是正交矩阵U,

svd(A)$v对应的是正交矩阵V

例如:

svdA<-svd(A);svdA
attach(svdA)
A1<-svdA$u
A2<-diag(svdA$d)
A3<-svdA$v
A1 %% A2 %% A3

10.求矩阵的行列式的值

det(A)是求矩阵A的行列式值

det(A)

11.最小拟合与QRs分解

函数lsfit()的返回值是最小二乘拟合的结果

命令如下:lsfit.sol<-lsfit(X,y)

最小二乘拟合结果,其中y是观测向量,X是社即矩阵。

x<-c(0.0,0.2,0.4,0.6,0.8)
y<-c(0.9,1.9,2.8,3.3,4.2)
lsfit.sol<-lsfit(x,y);lsfit.sol

coefficient是拟合系数,#residuals是拟合残差

ls.diag()给出拟合的进一步统计数据信息

最小二乘拟全密切关系的函数是QR分解函数qr()

还有相关函数看qr()文档、

x<-c(0.0,0.2,0.4,0.6,0.8)
X<-matrix(c(rep(1,5),x),ncol = 2);X
Xplus<-qr(X);Xplus

QR分解函数qr()输入的设计矩阵需要加1为元素的列,其返回值为列表.

$qr矩阵的上三角阵是QR分解中得到的R矩阵,下三角矩阵是QR分解的得到的正交阵Q的部分信息

$qraux--Q的附加信息

注意:这两个结果与函数lsfit()得到的结果相同。

可用QR分解的到的结果计算最小二乘的系数

b<-qr.coef(Xplus,y);b

注意:与函数lsfit()得到的结果相同。

为什么使用这种方法计算?

因为用QR分解在计算最小二乘拟合时,其计算误差比一般方法要小

通过QR分解得到最小二乘的拟合值和残差值

fit<-qr.fitted(Xplus,y);fit
res<-qr.resid(Xplus,y);res

相关文章

  • 2.5.4 矩阵运算

    2.5.4 矩阵运算 1.转置运算 t() A<-matrix(1:6, nrow = 2);At(A) 2.求方...

  • Matrix与坐标转换

    1、矩阵的运算 1.1、矩阵的加减运算 比如矩阵A= B= 则A+B= 矩阵的加减运算,表示 运算性质 满足交换律...

  • matlab基础语法

    matlab中主要是矩阵运算 矩阵赋值 矩阵运算 控制流程 绘图

  • NumPy基础之矩阵的运算

    矩阵运算 矩阵运算包括矩阵的加法、减法、乘法(相乘与点乘)、矩阵的转置等,接下来详细讲解矩阵运算。 矩阵的加减法,...

  • 3.6 矩阵运算

    3.6.1 矩阵运算规则 矩阵的加减法运算规则与数组相同,即元素运算,其结果返回新的矩阵。倍乘数运算也是矩阵内元素...

  • 第三节矩阵运算

    1矩阵运算 2矩阵运算 3向量和矩阵的运算 4矩阵的逆 逆矩阵与原矩阵相乘得到单位矩阵,对角线全为1,其他元素为0...

  • Numpy中的矩阵运算+聚合操作+arg运算(2019.1.17

    Numpy中的矩阵运算 1.矩阵与数值之间的运算,矩阵与数值之间的算术运算,是矩阵里面的元素与数值进行运算 2.矩...

  • 认识Numpy—矩阵

    本节主要介绍如何创建矩阵、矩阵的四则运算、矩阵的转置、矩阵的逆、数组的比较及运算。

  • 矩阵的运算及其运算规则

    一、矩阵的加法与减法1、运算规则设矩阵 2、 运算性质 (假设运算都是可行的)满足交换律和结合律交换律 二、矩阵与...

  • Octave教程(三)

    矩阵运算 其中,“.”表示元素位运算。 如何求转置矩阵 一些有用的函数 其中,flipud()实现矩阵的上下翻转。

网友评论

      本文标题:2.5.4 矩阵运算

      本文链接:https://www.haomeiwen.com/subject/uhfsxxtx.html