zoukankan      html  css  js  c++  java
  • MATLAB基础知识——1.5矩阵元素的引用

    矩阵元素的引用方式

    (1)通过下标引用矩阵元素,下标必须为正整数,且用圆括号括起来。

    (2)通过序号来引用,在MATLAB中矩阵元素按列存储。序号与下标是一一对应的,以m*n的矩阵A为例,矩阵A(i,j)的序号就是(j-1)*m+i

      sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。调用格式为

      D=sub2ind(S,I,J),S说明要转换的矩阵的行数和列数,通常有size函数获取;I是要转换元素的行下标,J是列下标,如果I和J是矩阵的话,表示要将矩阵中多个元素的行列下标进行转换;D为序号

    >> A=[1:3;4:6]

    A =

      1   2   3
      4   5   6

    //将A矩阵的(1,1),(2,1),(2,3),(2,2)下标进行转化

    >> D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])

    D =

      1    2
      6    4

      ind2sub函数:将矩阵元素的序号转换成行列下标,其调用格式为

      [I,J]=ind2sub(S,D),其中S指定矩阵的行数和列数,D为序号,[I,J]为下标

    //将3行3列的矩阵中序号为1,3,5的元素下标转化

    >> [i,j]=ind2sub([3,3],[1,3,5])

    i =

      1   3   2


    j =

      1   1   2


    利用冒号表达式获取子矩阵

    子矩阵是指由矩阵中一部分元素构成的矩阵

    A(i,:)  表示第i行的全部元素

    A(i:i+m;k:k+m) 表示第i到i+m行且第k到k+m列中所有元素

    end运算符:表示某一维的末尾元素的下标


    利用空矩阵删除元素

    空矩阵是指没有任何元素的矩阵,例如A[ ]。

    >> A=[1:9]

    A =

      1 2 3 4 5 6 7 8 9

    //将A矩阵中所有行的3到6列元素删除

    >> A(:,[3:6])=[]

    A =

      1 2 7 8 9


    改变矩阵的形状

    reshape(A,m,n):在矩阵总元素不变的前提下,将矩阵A重新排列成m*n的而为矩阵

    >> A=[1:9];
    >> B=reshape(A,3,3)

    B =

      1    4    7
      2    5    8
      3    6    9

    A(:)将矩阵A的每一列元素堆叠起来,成为一个列向量

  • 相关阅读:
    图像处理之基础---卷积及其快速算法的C++实现
    嵌入式c语言笔试
    逻辑题
    多媒体开发之---h264 图像参数级语义
    多媒体开发之---h264 取流解码实现
    多媒体开发之---live555 分析客户端
    多媒体开发之---如何确定slice_header slice_type 的位置
    图像处理之基础---很好的一个开源文档库
    多媒体开发之---h264 高度和宽度获取
    Flutter实战视频-移动电商-65.会员中心_订单区域UI布局
  • 原文地址:https://www.cnblogs.com/Tea1024/p/9122052.html
Copyright © 2011-2022 走看看