在前面,我曾经写过一篇个人的学习笔记,叫《如何用行向量和列向量对矩阵进行操作》

线性代数 --- 如何用行向量和列向量对矩阵进行操作?(个人笔记扫描版)_松下J27的博客-CSDN博客_矩阵左乘行向量如何用行向量和列向量对矩阵进行操作https://blog.csdn.net/daduzimama/article/details/120485571        当时我写这篇文章的时候,我只知道矩阵的这种操作方法。后面,我接触了置换矩阵,还有矩阵的LU分解,我发,还可以用矩阵的对矩阵进行行操作和列操作。有人说,这不是废话吗?但我这里要强调的操作,仅限交换。因为,交换操作非常直观,而且很好理解。不像矩阵与矩阵的乘法那么难懂。同时,我还要在这篇文章里展示一下向量对矩阵的行操作和列操作,同样,也只是交换。因为,后面我们会看到,置换矩阵中的每行每列都来自于我们前面提到的特殊向量。


先从向量对矩阵的操作开始:

前乘行,行操作

在我的学习文档中,我当时强调的主要是线性组合的概念,但实际上行与行/列于列之间的交换就是一种线性组合。如下,用行向量v=[1 0 0],乘以单位矩阵I,得到第一行。

Matlab code:

%行向量乘以单位矩阵
I = eye(3)
v=[1 0 0]
v*I

后乘列,列操作

用列向量v=[0 1 0]',乘以单位矩阵I,得到第二列。

Matlab code:

%列向量乘以单位矩阵
I = eye(3)
v=[0 1 0]'
I*v

这里顺便说一句,写道后面我才想起来,任何向量或者矩阵和单位矩阵相乘都不变。。。。所以,上面的两个例子,不是太好,大家可以用matlab code自行尝试。


前乘P,行交换(P为行交换矩阵)

对于一个3x3的矩阵,如果我们要进行行交换,比如说交换第一行和第二行。我们可以定义一个行置换矩阵P21,其下标表示的是你要交换的行数,P21就表示第一,二行互换。然后用P21前(左)乘需要进行行交换的矩阵A,就能实现A的行交换。如下:

注意:要想得到行置换矩阵P21,只需交换单位矩阵的第二行和第一行即可。

Matlab code:

%P乘以矩阵,实现行交换矩阵
A=[1 1 1;2 2 2;3 3 3]
P21=[0 1 0;1 0 0;0 0 1]
P21*A

后乘Q,列交换(Q为列交换矩阵)

对于一个3x3的矩阵,如果我们要进行列交换,比如说交换第一列和第三列。我们可以定义一个列置换矩阵Q31,它的下标表示的是你要交换的列数,Q31表示第一,三列互换。如下:

注意:要想得到列置换矩阵Q31,只需交换单位矩阵的第三列和第一列即可。

Matlab code:

%Q乘以矩阵,实现列交换矩阵
A=[1 2 3;1 2 3;1 2 3]
Q31=[0 0 1;0 1 0;1 0 0]
A*Q31

(全文完)

作者 --- 松下J27

格言摘抄:两点之间最长的距离就是捷径。(谚语)

(配图与本文无关)

版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27​

线性代数 --- 如何用行置换矩阵(P)和列置换矩阵(Q)对矩阵进行操作?相关推荐

  1. MIT线性代数笔记一 行图像和列图像

    文章目录 1. 曾经 2. 现在 3. 第一讲 行图像和列图像 3.1 行图像 3.2 列图像 1. 曾经   若干年前,有一个年轻的男老师(王清老师)给我们讲线性代数.他讲课的声音比较小,坐到后面接 ...

  2. 线性代数 --- 如何用行向量和列向量对矩阵进行操作?

    如何用行向量和列向量对矩阵进行操作? (口诀:前(左)乘行,行操作,后(右)乘列,列操作 ) 在我们日常的计算中,尤其是用matlab的时候.经常会碰到一个矩阵和一个向量的计算问题.而矩阵和向量的计算 ...

  3. 查询时拼接两列数据_如何用VBA代码查询两列数据差异?

    爱就一个字,我只说一次-- 北京市第三交通委提醒您:代码千万条,注释第一条,命名不规范,修订两行泪-- 咳,给大家拜晚年了,再提前祝大家元宵快乐-- 我们今天和大家分享的内容是如何用VBA代码查询两列 ...

  4. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线、并将所有列居中,包括包含行标签的第一列)

    三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线.并将所有列居中,包括包含行标签的第一列) 目录

  5. R语言dplyr包数据过滤(filter)基于not in规则实战(not in Filter):基于单数据列not in规则过滤数据行、基于多数据列not in规则过滤数据行

    R语言dplyr包数据过滤(filter)基于not in规则实战(not in Filter):基于单数据列not in规则过滤数据行.基于多数据列not in规则过滤数据行 目录

  6. R语言dplyr包移除dataframe数据行实战(Remove Rows):按照条件移除数据行、按照索引移除数据行、删除包含NA值的所有数据行、删除具体列包含NA值的数据行

    R语言dplyr包移除dataframe数据行实战(Remove Rows):按照条件移除数据行.按照索引移除数据行.删除包含NA值的所有数据行.删除具体列包含NA值的数据行 目录

  7. 在SQL Server中将行有效地转换为列

    本文翻译自:Efficiently convert rows to columns in sql server I'm looking for an efficient way to convert ...

  8. XtraReport交叉表自适应行高及最佳列宽(转)

    XtraReport交叉表自适应行高及最佳列宽 1.自适应行头的行高,绑定CustomRowHeight事件,代码如下: private Graphics gr = Graphics.FromHwnd ...

  9. 成功解决 绘图时行坐标名或列坐标名出现f0、f1、f2、f3、f4、f5(或者Column_0、Column_1、Column_2、Column_3)等命名而不是想要的具体对应字段命名

    成功解决 绘图时行坐标名或列坐标名出现f0.f1.f2.f3.f4.f5(或者Column_0.Column_1.Column_2.Column_3)等命名而不是想要的具体对应字段命名 目录 解决问题 ...

最新文章

  1. Loj #3111. 「SDOI2019」染色
  2. zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本
  3. 一文读懂MQTT协议
  4. AS3容易被忽略的一些特性
  5. HP Unix vsftp服务配置
  6. Redis 发布订阅,小功能大用处,真没那么废材!
  7. CDN价格战外P2P重获关注,谁才是幕后推手
  8. iphone开发中sqlite3说明
  9. 用三维Demo看懂各种优化算法,还有C++程序员福音
  10. android开发mvp,Android开发模式之MVP
  11. 如何查询远程计算机的名称,如何解析远程计算机名称以获取它在java中的IP地址...
  12. 如何使用C#编写用友U8软件相关功能,适用于插件和二次开发
  13. [转载]美国夫妻生活如何在钱上更亲密
  14. glTF格式介绍——目录
  15. 老罗与西门子的公关战争
  16. linux离线安装及配置redis
  17. 数组之concat注意事项-不更改原数组
  18. 七、ref引用与数组的常用方法
  19. 知其然,而不知其所以然
  20. JAVA插入数据库时java.sql.DataTruncation: Data truncation

热门文章

  1. 科创板首只涨停股 沃尔德的金刚钻是干嘛的?
  2. 计算机学院的优秀标语搞怪,大学离校搞笑标语
  3. mysql8新建用户_mysql8.0以上添加用户与授权
  4. 24.洛克菲勒三个养生方法
  5. django orm级联_Django ORM 级联删除
  6. npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\package.json'
  7. 怎么把word文件插入到公众号文章中
  8. Unity 中的 .NET、Mono 和 IL2CPP
  9. 河南科技学院计算机专业代码,商丘工学院代码_商丘工学院专业代码_2021商丘工学院招生代码,报考代码...
  10. JavaScript 18 JavaScript 字符串