1.5矩阵元素的引用

发布时间:2024年01月14日

通过下标来引用矩阵的元素

  • A(3, 2)表示A矩阵第3行第2列的元素。
>> arr = [1,2,3;4,5,6];
>> arr(4, 5) = 10

arr =

     1     2     3     0     0
     4     5     6     0     0
     0     0     0     0     0
     0     0     0     0    10

>> 

?如果引用元素超过矩阵的大小将自动扩充矩阵

通过序号来引用矩阵的元素

  • A(3)表示下图中按照列数的第三个元素

MATLAB中矩阵按照列从上往下的存储顺序,所以

A(1)是1

A(2)是4

A(3)是2

A(4)是5

A(5)是3

A(6)是6

序号与下标实际上是一一对应的:

以m x n矩阵A为例,矩阵元素A(i, j)的序号为(j - 1) x m + i

注:m x n 表示 m 行 n 列矩阵

?矩阵序号和下标的相互转换

函数名用法
sub2ind()

将行列下标转换成存储序号
D = sub2ind(S, I, J)

  • S:行数和列数组成的向量
  • I:矩阵元素的行下标
  • J:矩阵元素的列下标
ind2sub()

将存储序号转换成行列下标

[I, J] = ind2sub(S, D)

  • S:行数和列数组成的向量
  • D:序号
size()

获取矩阵的行列数构成的向量

>> size(A)

ans =

? ? ?2 ? ? 3

注:A为一个两行三列构成的矩阵

ind2sub函数

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

A =

     1     2     3
     4     5     6

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

D =

     1     2
     6     4

>> 

将(1,1),(2,1),(2,3),(2,2)下标值转化为序号

冒号表达式引用矩阵

  • A(:, :)表示矩阵的全部的引用
  • A(: , n)表示对第n列进行引用
  • A(n, :)表示对第n行进行引用
  • end运算符:表示某一行或某一列末尾元素的下标

利用空矩阵改变矩阵的元素

  • A(:, [m, n, ...]) = []?
  • A([m, n...], :) = []

改变矩阵的形状

  • reshape(a, m, n)改变矩阵的形状,a为一维矩阵
  • B = A(:)将A所有元素堆叠成一列

文章来源:https://blog.csdn.net/2301_79640368/article/details/135513873
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。