前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab矩阵大全

Matlab矩阵大全

作者头像
全栈程序员站长
发布2022-09-12 19:24:10
1.2K0
发布2022-09-12 19:24:10
举报
文章被收录于专栏:全栈程序员必看

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

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


目录

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 行等的元素

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

例如:

代码语言:javascript
复制
A=[1   2 3   4  5;
   12 12 14 56 657;
   23 46 34 67 56 ];

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

Matlab程序:

代码语言:javascript
复制
A(:)  %将二维矩阵其转化成列向量

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

Matlab程序:

代码语言:javascript
复制
A(1:2,:)  %读取矩阵A前2行
A(:,1:3)  %读取矩阵A前3列

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

① 找矩阵A每列的最大值

代码语言:javascript
复制
[max_A,index]=max(A,[],1);

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

② 找矩阵A每行的最大值

代码语言:javascript
复制
[max_A,index]=max(A,[],2);
其中,max_A是最大的数值,index是最大的数值所处的位置

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

③ 找矩阵A每列的最小值

代码语言:javascript
复制
[min_A,index]=min(A,[],1);
其中,min_A是最小的数值,index是最小的数值所处的位置

④ 找矩阵A每行的最小值

代码语言:javascript
复制
[min_A,index]=min(A,[],2);
其中,min_A是最小的数值,index是最小的数值所处的位置

2.矩阵合并

已知矩阵:

代码语言:javascript
复制
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左右合并

代码语言:javascript
复制
horzcat(A,B); %矩阵A,B左右合并

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

代码语言:javascript
复制
vertcat(A,B); %矩阵A,B上下合并

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

代码语言:javascript
复制
(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为某个向量,如下所示:

代码语言:javascript
复制
A=diag([1 2 3])

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

代码语言:javascript
复制
A=diag([1 2 3],1)
代码语言:javascript
复制
A=diag([1 2 3],-1)

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

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

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

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

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

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

代码语言:javascript
复制
A=diag(repmat([1],1,5))+diag(repmat([2],1,4),1)+diag(repmat([3],1,4),-1)

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

代码语言:javascript
复制
A=zeros(3,2)

后续继续补充。。。。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.矩阵下标引用
  • 2.矩阵合并
  • 3、矩阵运算(加、减、乘、除、点乘、点除等)
  • 4.Matlab平台提供了大量的常用的运算函数
  • 5.生成对角矩阵的基本用法
  • 6、生成三对角线上元素相同的矩阵
  • 7.m行n列的元素都为0的矩阵
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档