r语言安装ipsolve_R语言矩阵操作之矩阵运算

1.转置运算

对于矩阵A,函数t(A)表示矩阵A的转置,如:

> A=matrix(1:6,nrow=2);

> A;

[,1] [,2] [,3]

[1,]    1    3    5

[2,]    2    4    6

> t(A);

[,1] [,2]

[1,]    1    2

[2,]    3    4

[3,]    5    6

2.求方阵的行列式

函数det()是求矩阵行列式的值,如

> det(matrix(1:4,ncol=2));

[1] -2

3.向量的内积

对于n维向量x,可以看成nxl阶矩阵或lxn阶矩阵。若x与y是相同

维数的向量,则x%*%Y表示x与y作内积.例如,

>x=1:5; Y=2*1:5

>x%*%y

[,1]

[1,]110

函数crossprod()是内积运算函数(表示交叉乘积),crossprod(x,y)计算向量x与y的内积,即t(x) %*% y'。crossprod(x)表示x与x的内积.

类似地,tcrossprod(x,y)表示’x%*%t(Y)’,即x与y的外积,也称为叉积。tcrossprod(x)表示x与x作外积.如:

> x=1:5; y=2*1:5;

> crossprod(x);

[,1]

[1,]   55

> crossprod(x,y);

[,1]

[1,]  110

> tcrossprod(x);

[,1] [,2] [,3] [,4] [,5]

[1,]    1    2    3    4    5

[2,]    2    4    6    8   10

[3,]    3    6    9   12   15

[4,]    4    8   12   16   20

[5,]    5   10   15   20   25

> tcrossprod(x,y);

[,1] [,2] [,3] [,4] [,5]

[1,]    2    4    6    8   10

[2,]    4    8   12   16   20

[3,]    6   12   18   24   30

[4,]    8   16   24   32   40

[5,]   10   20   30   40   50

4.向量的外积(叉积)

设x和y是n维向量,则x%o%y表示x与y作外积.例如

> x%o%y;

[,1] [,2] [,3] [,4] [,5]

[1,]    2    4    6    8   10

[2,]    4    8   12   16   20

[3,]    6   12   18   24   30

[4,]    8   16   24   32   40

[5,]   10   20   30   40   50

outer()是更为强大的外积运算函数,outer(x,y)计算向量二与y的外积,它等价于x %o%y

函数。outer()的一般调用格式为

outer(x,y,fun=”*”)

其中x, y矩阵(或向量),fun是作外积运算函数,缺省值为乘法运算。函数outer()在绘制三维曲面时非常有用,它可生成一个x和y的网格。

5.矩阵的乘法

设A和B为两个矩阵,通常意义下的矩阵乘法是通过A%*%B来完成,crossprod(A,B)表示的是

t(A)%*%B,而tcrossprod(A,B)表示的是A%*%t(B)。最后我们通过运算知道x%*%A%*%x为二次型。

例子:

> A=array(1:9,dim=(c(3,3)))

> B=array(9:1,dim=(c(3,3)))

> A%*%B;

[,1] [,2] [,3]

[1,]   90   54   18

[2,]  114   69   24

[3,]  138   84   30

> crossprod(A,B)==t(A)%*%B;

[,1] [,2] [,3]

[1,] TRUE TRUE TRUE

[2,] TRUE TRUE TRUE

[3,] TRUE TRUE TRUE

> tcrossprod(A,B)==A%*%t(B);

[,1] [,2] [,3]

[1,] TRUE TRUE TRUE

[2,] TRUE TRUE TRUE

[3,] TRUE TRUE TRUE

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

函数diag()依赖于它的变量,当v是一个向量时,diag(v)表示以v的元素为对角线元素的对角阵.当M是一个矩阵时,则diag(M)表示的是取M对角线上的元素的向量.如

> v=c(1,4,5);

> diag(v);

[,1] [,2] [,3]

[1,]    1    0    0

[2,]    0    4    0

[3,]    0    0    5

> M=array(1:9,dim=c(3,3));

> diag(M);

[1] 1 5 9

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

若求解线性方程组Ax=b,其命令形式为solve(A,b),求矩阵A的逆,其命令形式为solve(A).设矩阵A=t(array(c(1:8,10),dim=c(3,3))),b

> A=t(array(c(1:8,10),dim=c(3,3)));

> b=c(1,1,1);

> x=solve(A,b);

> x;

[1] -1.000000e+00  1.000000e+00  3.806634e-16

> solve(A);

[,1]      [,2] [,3]

[1,] -0.6666667 -1.333333    1

[2,] -0.6666667  3.666667   -2

[3,]  1.0000000 -2.000000    1

8.求矩阵的特征值与特征向量

函数eigen(Sm)是求对称矩阵Sm的特征值与特征向量,其命令形式为:ev=eigen(Sm),则ev存放着对称矩阵Sm特征值和特征向量,是由列表形式给出的,其中ev$values是Sm的特征值构成的向量,ev$vectors是Sm的特征向量构成的矩阵.如

> Sm=crossprod(A,A);

> ev=eigen(Sm);

> ev;

$values

[1] 303.19533618   0.76590739   0.03875643

$vectors

[,1]         [,2]       [,3]

[1,] -0.4646675  0.833286355  0.2995295

[2,] -0.5537546 -0.009499485 -0.8326258

[3,] -0.6909703 -0.552759994  0.4658502

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Linux命令行归档文件

存档文件 (Archiving Files) As we already understand what Compression (Compression techniques in Linux) is? We shall learn about Archives. We prefer compression as it is convenient to send file compressed through a network but sometimes it is not a smart w…

http缓存机制之304状态码

在网上看到一篇关于解释浏览器缓存更新机制304状态码的文章,里面说如果请求头中的If-Modified-Since字段和If-None-Match字段的值分别和响应头中的Last-Modified字段和Etag字段值一致,服务器就会返回304状态码(无响应体),浏览器就从本地读取缓…

东北大学 计算机技术导师,报考东北大学 计算机技术 329分 求调剂相关专业

自荐类型:硕士自荐报考院校:东北大学报考专业:(专业硕士)计算机技术[085211]本科院校:沈阳工程学院本科专业:计算机科学与技术初试成绩:总分:329政治:69 英语:71 …

c语言i++和++i程序_使用C ++程序修改链接列表的内容

c语言i和i程序Problem statement: 问题陈述: Given a linked list, you modified that linked list in such a way that the elements of the first half of that linked list are the difference of the first node to the last node and next node is the differ…

原生js设置div隐藏或者显示_10种JS控制DIV的显示隐藏代码

div隐藏与显示#menus {background-color: #c4cff0;}function Layer_HideOrShow(cur_div){ var currentdocument.getElementById(cur_div);if(current.style.visibility"hidden"){current.style.visibility "visible";}else{current.style.visibility "…

计算机工作对身体有害吗,在电脑前长时间工作会对身体有害处吗?

病情分析:目前,电脑对人体生理和心理方面的负面影响已日益受到人们的重视.为此科学使用电脑,减少电脑和网络的危害是十分必要的.指导意见:一是要增强自我保健意识工作间隙注意适当休息,一般来说,电脑操作人员在连续工作1小时后应该休息10分钟左右.并且最…

Java LinkedList getFirst()方法与示例

LinkedList getFirst()方法 (LinkedList getFirst() method) This method is available in package java.util.LinkedList. 软件包java.util.LinkedList中提供了此方法。 This method is used to return the first or initial or beginning element of the linked list. 此方法…

C++第15周(春)项目2 - 用文件保存的学生名单

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759。内有完整教学方案及资源链接本程序中须要的相关文件。请到http://pan.baidu.com/s/1qW59HTi下载。【项目2-用文件保存的学生名单】  文件score.dat中保存的是若干名学生的姓名和C课、高数和…

计算机选配 注意事项,选择鼠标注意事项有哪些

选择鼠标注意事项有哪些每台电脑旁边都有了一个忠实的伴侣,那就是“Mouse”--鼠标。选择鼠标最重要的一点就是质量,无论它的功能有多强大、外形多漂亮,如果质量不好那么一切都不用考虑了。那么,选择鼠标注意事项有哪些?笔记本鼠标…

js 验证护照_护照本地策略第2部分| Node.js

js 验证护照In my last article (Passport local strategy section 1 | Node.js), we started the implementation of the passport-local authentication strategy. We also looked at the various requirements to get started with the login form. In this article, we wil…

svn版利用什么技术实现_金葱粉涂料印花利用了什么技术?

金葱粉涂料印花利用了什么技术:金葱粉用涂料而不是用染料来生产印花布已经非常广泛,以致开始把它当作一种独立的印花方式。涂料印花是用涂料直接印花,该工艺通常叫做干法印花,以区别于湿法印花(或染料印花)。通过比较同一块织物上印花部位和未…

网站换服务器需要注意什么问题,网站更换服务器要注意哪些事项

原标题:网站更换服务器要注意哪些事项网站在运营的过程中,出于某种考虑,我们会将网站进行服务器的变更,那么在进行服务器变成过程中,需要注意哪些事项。一、如果是跨服务商更换网站服务器,需要做备案迁移。…

json转string示例_C.示例中的String.Insert()方法

json转string示例C#String.Insert()方法 (C# String.Insert() Method) String.Insert() method is used to insert a string in an existence string at specified index and returns a new string. String.Insert()方法用于在指定索引处的存在字符串中插入一个字符…

kafka分区与分组原理_大数据技术-Kafka入门

在大数据学习当中,主要的学习重点就是大数据技术框架,针对于大数据处理的不同环节,需要不同的技术框架来解决问题。以Kafka来说,主要就是针对于实时消息处理,在大数据平台当中的应用也很广泛。大数据学习一般都有哪些内…

mac 电脑找不到服务器 dns 地址,MAC OS下如何快速设置DNS服务器地址

楼主你好!介绍以下Mac OS X DNS设置方法:1、点击桌面顶部状态栏里的苹果图标,在菜单里选择“系统偏好设置”。2、点击互联网与无线下的“网络”。3、在网络界面,选中正在联网的网络连接,点击右下角的“高级”选项。4、…

ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源

本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装、激活、创建报表、绑定数据源以及公布等内容。本篇文章我们就从安装产品開始带您开启轻松的 Ac…

如何在React Native中使用React JS Hooks?

In my articles, Im going to be using either expo or snack online IDE and android emulator. 在我的文章中,我将使用expo或点心在线IDE和android模拟器。 React Hooks is simply an awesome tool that helps us use states and other react features without w…

华为P40pro 手机云台_2020年目前拍照最好的手机推荐!华为P40 Pro!DXO全球榜首

目前最热门的拍照手机自然是华为P40 Pro,其相机性能直接问鼎DXOMARK手机相机评分榜首。对于拍照要极求高的用户,华为P40 Pro将是一个非常不错的选择。那么,华为P40 Pro除了出色的相机之外,其它方面表现如何呢?下面&…

容器性能比无容器服务器,【译】容器 vs 无服务器(Serverless)

一些历史不久之前,开发,部署和运维还相当复杂。在一开始,运维不仅需要修补程序代码,还要支持物理机器。保持服务器,硬件与软件处于最新状态也是一项艰巨的任务。在2000年代,一个新的模型——架构即服务(Iaa…

Centos 7安装与配置nagios监控(一)

目 录序言(必备知识)一、安装规划1.1系统环境1.2所需软件包二、配置安装环境2.1同步时间2.2禁用SElinux2.3 xftp上传软件包2.4安装邮件服务三、监控主机安装3.1安装nagios的运行环境3.2增加用户3.3安装nagios3.4配置权限3.5安装插件3.6安装nrpe四、远程主机安装4.1配置运行环境…