MATLAB基础知识——1.4矩阵元素的引用

Posted Tea&Honey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB基础知识——1.4矩阵元素的引用相关的知识,希望对你有一定的参考价值。

矩阵元素的引用方式

(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的每一列元素堆叠起来,成为一个列向量

 

以上是关于MATLAB基础知识——1.4矩阵元素的引用的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB基础操作

matlab的矩阵基础

MATLAB基础操作笔记

matlab基础语法

MATLAB之基础

MATLAB学习笔记-1.5矩阵元素的应用