• matlab的矩阵常用操作方法


    matlab中数据的基本格式是矩阵,行向量、列向量和标量都是矩阵的特例。矩阵可以是二维的,也可以是多维的。

    (1)查找矩阵中的元素

    find函数

    在matlab中,可以调用find函数在矩阵中查找满足一定条件的元素,常见的调用格式如下:

    • ind=find(X)
    • [m n]=find(X)

    其中X为要查找的矩阵;ind为矩阵X中满足查找条件的线性索引值。因为在matlab 中,矩阵是按列存储的,ind的值表示元素在矩阵中按列存储时的位置。m和n是列向量,分别保存元素在矩阵中的位置的行下标和列下标。

    例如

    1. A=[1 2 3 4;5 6 7 8];
    2. %查找A中大于3的元素,返回元素的索引
    3. ind=find(A>3);

    得到的结果如下: 

     

    怎样理解呢?

    也可以这样写 

    1. A=[1 2 3 4;5 6 7 8];
    2. [m n]=find(A>3);

    那这个怎样理解呢? 

     

    好了这就是find函数的理解和使用了

    ②ind2sub和sub2ind函数

    这两个函数实现线性索引值和行、列下标之间的转换。调用的格式如下

    • [I,J]=ind2sub(size,IND)
    • IND=sub2ind(size,I,J)
    1. A=[1 2 3 4;5 6 7 8];
    2. ind=find(A>3);
    3. [m n]=find(A>3);
    4. [I J]=ind2sub(size(A),ind);
    5. IND=sub2ind(size(A),I,J);

     

     (2)删除矩阵中的指定元素

    若想删除矩阵中的指定元素,只需将这些元素赋值为空(“[ ]"),例如,假设A是m*n维的矩阵,可以使用如下命令删除矩阵中的指定元素:

    1. A(sub2ind(size(A),i,j))=[] %删除A的第i行,第j列的元素
    2. A(i,:)=[] %删除A的第i行的数据
    3. A(i:j,:)=[] %删除A的第i行到第j行的数据
    4. A(:,j)=[] %删除A的第j列的所有元素
    5. A(:,i:j) %删除A的第i列到第j列的数据

    例如

    1. A=[1,2,3,4;5,6,7,8];
    2. A(1,:)=[] %删除第1行的所有元素

     

     

    1. A=[1,2,3,4;5,6,7,8];
    2. A(:,1)=[] %删除A的第一列元素

     

    对于矩阵中单个元素的删除,MATLAB只允许使用线性索引值来指定该元素。 

    (3) 取得矩阵中的指定元素

    用户可以使用如下方法来取得矩阵中某一(些)行或列的元素:

    1. X=A(i,:) %取得A的第i行的数据,并赋值给变量X
    2. X=A(i:j,:) %取得A的第i行到第j行数据,并赋值给变量X
    3. Y=A(:,j) %取得A的第j列的数据
    4. Y=A(:,i:j) %取得A的第i列到第j列的数据
    5. Z=A(i:j,n:m) %取得矩阵第i行到第j行以及第n列到第m列之间的数据

    (4)查询矩阵的大小

    1. num=size(A) %返回矩阵的行数和列数,num是一个1*2的数组,第一个数值是矩阵的行数,第二个数值是矩阵的列数
    2. num=length(A) %返回A的行数和列数的最大值,相当于max(size(A))
    3. num=size(A,1) %返回矩阵A的行数
    4. num=size(A,2) %返回矩阵A的列数

    (5)取得矩阵中元素的最大值和最小值:max和min函数

    1. C=max(A) %取得矩阵A中每一列的最大值,组成行向量返回给C
    2. C=max(A,B) %取得矩阵A和B对应元素的最大值
    3. C=max(A,[],dim) %取得矩阵每行或每列的最大值,dim=1表示每列的最大值组成的行向量,dim=2表示每行的最大值组成的列向量
    4. %同理,min也有上面的三种用法

     例如

    1. a=[2 3;3 6;4 9]
    2. b=[1 4;4 5;5 8]
    3. max(a)
    4. min(a)
    5. max(a,b)
    6. max(a,[],2)
    7. max(a,[],1)

     执行结果如下

     

  • 相关阅读:
    有了这个工具,支付宝商家多个账号下的账单管理更方便了
    基金管理人的内部控制
    在列表中按照概率抽样choice()
    GraphPad Prism 列联表教程
    【教程】 iOS混淆加固原理篇
    基于Echarts实现可视化数据大屏机械大数据大屏页面模板
    搭建私有仓库Nexus的流程以及npm包的开发和发布
    MySQL的数据库操作、数据类型、表操作
    ODBC访问达梦数据库Ubuntu18.04 x86-x64(亲测有效)
    c语言打印菱形图案
  • 原文地址:https://blog.csdn.net/yangSHU21/article/details/131143906