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矩阵大全


后续继续补充。。。。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java开发手册黄山版_码出高效java开发手册pdf

    java开发手册黄山版_码出高效java开发手册pdf一、编程规约(一)命名风格6.【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。8.【强

    2022年8月3日
    11
  • 朋友圈一键集赞_朋友圈秒赞怎么做到的

    朋友圈一键集赞_朋友圈秒赞怎么做到的哈喽,今天又来给大家伙推荐神器啦~相信各位都曾遇到或亲身参与过朋友圈集赞活动。比如说部分商家、公众号为了达到宣传和涨粉的需求,要求用户转发相关的活动文章、海报到朋友圈,集满一定数量的赞后,才会给予相应的优惠或福利。这种动辄几十,上百的集赞要求,对于平时连朋友圈都懒得发的社畜来说,难度系数直逼五颗星。其一是碍于面子不便集赞,二是实在没有那么多朋友来给自己点赞。图片可是,商家、公众号们赠送的活动福利实在是“太香了”!虽然没有威逼,但是在利诱之下,难免不心动。正所谓,有需求就有市场。用户存在集赞难的痛点,

    2025年9月20日
    7
  • WPF-visifire Charts 控件去掉水印

    WPF-visifire Charts 控件去掉水印WPF-visifireCharts控件去掉水印,亲自测试可用!

    2022年7月21日
    18
  • MySQL数据库高并发优化配置

    MySQL数据库高并发优化配置

    2021年10月15日
    40
  • 动态规划:最长上升子序列(二分算法 nlogn)「建议收藏」

    动态规划:最长上升子序列(二分算法 nlogn)「建议收藏」解题心得:1、在数据量比较大的时候n^2会明显超时,所以可以使用nlogn的算法,此算法少了双重循环,用的lower_bound(二分法)。2、lis中的数字并没有意义,仅仅是找到最小点lis[0]和最大点lis[len],其中,在大于lis[len]时len++,在小于lis[len]时可以将arr[i]在lis中的数进行替换掉。所以此算法主要是在不停的找最合适的起点和最合适的终点。

    2022年6月11日
    37
  • MySQL管理工具安装说明[通俗易懂]

    MySQL管理工具安装说明[通俗易懂]NavicatforMySQL10.0.11简体中文版(Linux版)navicat_for_mysql_10.0.11_cn_linux.tar.gz使用方法:1.打开终端:应用程序->系统工具(或附件)->终端,切换到root账户:$su-密码:(注意:输入root账户密码时,密码不会显示出来,也没有提示的特殊字符,直接输完密码按Enter键

    2022年8月22日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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