Matlab矩阵大全

Matlab矩阵大全目录1.矩阵下标引用2.矩阵合并3、矩阵运算(加、减、乘、除、点乘、点除等)4.Matlab平台提供了大量的常用的运算函数5.生成对角矩阵的基本用法6、生成三对角线上元素相同的矩阵7.m行n列的元素都为0的矩阵

大家好,又见面了,我是你们的朋友全栈君。

最近的项目需要一些矩阵的语法,现汇总如下(后续有时间的话,会继续补充):


                         目录

1.矩阵下标引用

2.矩阵合并

3、矩阵运算(加、减、乘、除、点乘、点除等)

4.Matlab平台提供了大量的常用的运算函数

5.生成对角矩阵的基本用法 

6、生成三对角线上元素相同的矩阵

7.m行n列的元素都为0的矩阵



1.矩阵下标引用

表达式(Matlab程序)   函数功能
A(1) 将二维矩阵A重组为一维数组,返回数组中第一个元素
A(: , j) 返回二维矩阵A中第 j 列 列向量
A( i , :) 返回二维矩阵A中第 i 行 行向量
A(: , j : k) 返回二维矩阵A中第 j 列第 k列 列向量组成的子矩阵
A( i : k , :) 返回二维矩阵A中第 i 行第 k行 行向量组成的子矩阵
A( i : k , j : m)

返回二维矩阵A中第 i 行第 k 行 行向量

第 j 列第 m 列 列向量的交集组成的子矩阵

A(:) 将二维矩阵A中得每列合并成一个列向量
A( j : k) 返回一个行向量,其元素为A(:)中的第 j 个元素到第 k 个元素
A([ j1 j2…]) 返回一个行向量,其元素为A(:)中的第 j1,j2…个元素
A(: , [ j1 j2 …]) 返回矩阵A的第 j1 列、第 j2 列等的列向量
A([ i1 i2 …] : ,) 返回矩阵A的第 i1 行、第 i2 行等的行向量
A([ i1 i2 …] , [ j1 j2 …]) 返回矩阵A的第 j1列、第 j2 列等和矩阵A的第 i1 行、第 i2 行等的元素

下面将常用的几个举例说明:

例如:

A=[1   2 3   4  5;
   12 12 14 56 657;
   23 46 34 67 56 ];

(1)将二维矩阵A转化成一维矩阵(列向量):Matlab 默认将其转化成列向量,需要行向量转置即可

 Matlab程序:  

A(:)  %将二维矩阵其转化成列向量

(2)读取矩阵取前N行或N列的方法

         Matlab程序:

A(1:2,:)  %读取矩阵A前2行
A(:,1:3)  %读取矩阵A前3列

(3)求矩阵中每行或每列的最大值和最小值

         ① 找矩阵A每列的最大值

[max_A,index]=max(A,[],1);

其中,max_A是最大的数值,index是最大的数值所处的位置

        ② 找矩阵A每行的最大值

[max_A,index]=max(A,[],2);
其中,max_A是最大的数值,index是最大的数值所处的位置

       同理可求出每行,每列的最小值。

       ③ 找矩阵A每列的最小值

[min_A,index]=min(A,[],1);
其中,min_A是最小的数值,index是最小的数值所处的位置

      ④ 找矩阵A每行的最小值

[min_A,index]=min(A,[],2);
其中,min_A是最小的数值,index是最小的数值所处的位置

2.矩阵合并

已知矩阵:

A=[1   2  3  4  5;
   12 12 14 56 657;
   23 46 34 67 56];
B=[1 1 1 1 1;
   2 2 2 2 2;
   3 3 3 3 3];

(1)矩阵A,B左右合并

horzcat(A,B); %矩阵A,B左右合并

Matlab矩阵大全

(2)矩阵A,B上下合并

vertcat(A,B); %矩阵A,B上下合并

Matlab矩阵大全

3、矩阵运算(加、减、乘、除、点乘、点除等)

(1)A+B; 表示矩阵A和矩阵B相加(各个元素对应相加);
(2)A-B; 表示矩阵A和矩阵B相减(各个元素对应相减);
(3)A*B; 表示矩阵A和矩阵B相乘;
(4)A.*B; 表示矩阵A和矩阵B对应元素相乘(点乘);
(5)A/B; 表示矩阵A与矩阵B相除法;
(6)A./B; 表示矩阵A和矩阵B对应元素相除(点除);
(7)A^B; 表示矩阵A的B次幂;
(8)A.^B; 表示矩阵A的每个元素的B次幂。

4.Matlab平台提供了大量的常用的运算函数

  函数  运算法则
exp(x) 求以e为底数的x次幂
log(x) 求以e为底数对x值取对数
Log10(x) 求以10为底数x值取对数
sqrt(x) 求x的平方根
sin(x) 正弦函数
cos(x) 余弦函数
tan(x) 正切函数
asin(x) 反正弦函数
acos(x) 反余弦函数
atan(x) 反正切函数
mode(a,b) a与b相除取余数
min(a,b) 返回a, b中较小的数值
max(a,b) 返回a, b中较大的数值
mean(x) 求x的列平均数(列平均)
median(x) 求x的列中位数(列中位数)
sum(x) x中各个列之间的元素求和
rank(x) X矩阵的秩

5.生成对角矩阵的基本用法 

(1)diag(a) 
使用diag(a)命令生成对角矩阵,a为某个向量,如下所示: 

A=diag([1 2 3])

Matlab矩阵大全

(2)diag(a,i) 
使用diag(a,i)命令生成,a为某个向量,i为a向量相对主对角线偏移的列数向上为正,向下为负)。当i=0时,可以直接写成diag(a)。具体情况如下: 

A=diag([1 2 3],1)

Matlab矩阵大全

A=diag([1 2 3],-1)

Matlab矩阵大全

6、生成三对角线上元素相同的矩阵

(1)生成全为1的向量如下:

  • a(1:3,1)=1 

Matlab矩阵大全

  • a=repmat([1],3,1) 

Matlab矩阵大全

注意:a=repmat(A,m,n)是用A矩阵铺成m*n块且每一块都是A的矩阵,如下:

  • >> A=[1,2;3,4];
    >> a=repmat(A,2,3)

Matlab矩阵大全

  • ones(3,1) 

Matlab矩阵大全

(2)生成对角线上元素相同的矩阵 

A=diag(repmat([1],1,5))+diag(repmat([2],1,4),1)+diag(repmat([3],1,4),-1)

Matlab矩阵大全

7.m行n列的元素都为0的矩阵

A=zeros(3,2)

Matlab矩阵大全


后续继续补充。。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152980.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • c语言中static关键字用法详解

    c语言中static关键字用法详解概述static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就static在c语言中的应用进行总结,供参考使用。错漏之处,请不吝指正。在程序中使用static变量1.局部变量普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰…

  • 5V升压到12.6V的锂电池充电IC芯片方案FS4062B[通俗易懂]

    5V升压到12.6V的锂电池充电IC芯片方案FS4062B[通俗易懂]三节3.7V的锂电池串联,11.1V和最大12.6V锂电池充电电路的解决方案。在应用中,一般使用低压5V,如USB和TYPE-C口直接输入的给三串锂电池充电,还有是15V或者18V,20V输入降压给锂电池充电的两种情况。  FS4062B是输入5V升压充电管理芯片,FS4008A是输入15V-20V降压充电三节锂电池IC  FS4062B是一款5V输入,最大1.2A充电电流,支持三节锂离子电池的升压充电管理IC。FS4062B外置MOS,自适应充电,采用异步开关架构,使其在应用时仅需极少的外围器

  • visual studio创建数据库_读取硬件安装信息

    visual studio创建数据库_读取硬件安装信息管理类是WMI类,如Win32_LogicalDisk,,该类型可表示一个磁盘驱动器,并Win32_Process,,它表示的进程Notepad.exe等。在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作。以上是对ManagementClass类的部分谁明,此类型的所有公共静态成员都是线程安全的。以上的获取硬件信息的方法可以直接封装在一个类中,可以在项目中直接引用,这样可以加快项目的开发速度。…

  • 联合主键注解「建议收藏」

    联合主键注解「建议收藏」//含有联合主键的映射@Entity@Getter@Setter@Table(name=”sign_table”)@IdClass(InfoLeadersId.class)publicclassInfosLeadersextendsBaseEntityimplementsSerializable{@Id@Column(name=”info_id”)privateLonginfoId;@Id@Column(name=.

  • 编程是程序设计吗_做软件必须先设计再编程吗

    编程是程序设计吗_做软件必须先设计再编程吗常在电脑前工作,总有那么几天会对未来迷茫,可能是每天静止的坐着,感觉自己在变老,而电脑总想个孩子,每天能冒出无数个想法,让你去琢磨它,跟上它的节奏,真有点TheBigBangTheory的味儿,

  • Word域切换及更新快捷键域代码「建议收藏」

    Word域切换及更新快捷键域代码「建议收藏」Word域切换及更新快捷键“Alt+F9”切换所有域代码,选中域后“Shift+F9”切换选中的域代码。“Ctrl+A”后“F9”更新所有域代码,选中域后“F9”更新选中的域代码。更新域:单个域选中按F9,整个文档则“CTAL+A”后按F9。查看域:单个域选中按SHIFT+F9,整个文档则“ALT+F9”。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号