矩阵元素的引用

文章介绍了矩阵在编程中的引用方式,包括下标和序号引用,以及如何通过sub2ind和ind2sub进行转换。此外,还讲解了如何使用冒号表达式选取子矩阵,删除元素,以及reshape函数改变矩阵形状的操作。同时提到了isempty和size函数在检查矩阵状态和尺寸中的应用。
摘要由CSDN通过智能技术生成

矩阵元素的引用方式:

①下标引用   A(3,2)=200

②序号引用   A(3)=200  先存储第一列,再第二列,...

#序号与下标一一对应,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i
>> A=[1:3;4:6]

A =

     1     2     3
     4     5     6

>> A(3)

ans =

     2

>> 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

>> [I,J]=ind2sub([3,3],[1,3,5])

I =

     1     3     2


J =

     1     1     2

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

A(i:i+m, k:k+m)  第i~i+m行内且在第k~k+m列中的所有元素

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

>> A=[1:5;6:10;11:15]

A =

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15

>> A(1:2,:)

ans =

     1     2     3     4     5
     6     7     8     9    10

>> A(2:3,1:2:5)

ans =

     6     8    10
    11    13    15

>> clear
>> A=[1:5;6:10;11:15;16:20];
>> A(end,:)

ans =

    16    17    18    19    20

>> A([1,4],3:end)

ans =

     3     4     5
    18    19    20

 利用空矩阵删除矩阵元素

>> x=[]

x =

     []

>> A=[1:5;6:10;11:15;16:20]

A =

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20

>> A(:,[2,4])=[]

A =

     1     3     5
     6     8    10
    11    13    15
    16    18    20

矩阵索引不能超出删除范围

>> A=[1:5;6:10;11:15;16:20];
>> A(:,[2,7])=[]
矩阵索引超出删除范围。

改变矩阵的形状

>> x=[1:12];
>> y=reshape(x,3,4)

y =

     1     4     7    10
     2     5     8    11
     3     6     9    12

>> a=[1:13];
>> b=reshape(a,3,4)
错误使用 reshape
元素数不能更改。请使用 [] 作为大小输入之一,以自动计算该维
度的适当大小。

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

>> z=y(:)

z =

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12

isempty函数判断是否为空矩阵

size函数确定矩阵每一维的大小

>> x=[1:4;4,3,5,8]

x =

     1     2     3     4
     4     3     5     8

>> x1=x(2:1)

x1 =

  空的 1×0 double 行向量

>> x2=[]

x2 =

     []

>> x3=2:1

x3 =

  空的 1×0 double 行向量

>> [isempty(x),isempty(x1),isempty(x2),isempty(x3)]

ans =

  1×4 logical 数组

   0   1   1   1

>> [size(x),size(x1),size(x2),size(x3)]

ans =

     2     4     1     0     0     0     1     0

 x的倒数第二个元素用end-1表示

>> y=x(end-1)

y =

     4

>> x

x =

     1     2     3     4
     4     3     5     8

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值