MATLAB入门教程(5):矩阵中索引的使用方法

前言

 

代码粘贴后并不好看,故使用图片粘贴如下。

代码部分是我在MATLAB里面加的注释版本(使用版本为MATLAB R2022a)

 

一、矩阵的索引(提取单元素)

  我们知道矩阵是有很多数字组成的,那么每个数字都有其对应的位置。

如下

我们创建一个矩阵A


这是一个两行三列的矩阵,其中每个数字都可以对应一个坐标

例如:0.8147对应 (1,1),0.9134对应(2,2),0.0975对应(2,3)

那我们也就可以利用坐标完成对矩阵的索引

矩阵的索引使用如下

我们想提取矩阵中第二行第三列的元素作为新的变量x,代码如下


x=A(2,3)


 

这里我们补充一个知识点

我们用end可以作为关键字代表最后一个元素,

x=A(end,3); %% 提取最后一行第三个元素

x=A(end-1,end-2) %可以结合运算符来计算


 

 

二、提取一行或是一列

现在我们增加一个冒号的用法,便可以实现提取一行或是一列

数组里我们知道,ans=1:2表示

 


我们将这种方法加到矩阵的索引中来就是


代码:

 B=rand(10)

 z=B(4:5,6:10)


这里我们可以清楚的看到第4行第5行的6到10列被提取出来了

 

我们提取某行某列用法就更简单化了,一个单独的冒号代表所有行或列


提取第1,2列,代码: z=B(:,1:2)


 


提取1到2行:z=B(1:2,:)

 

三、单索引值的使用

上面我们知道我们都是索引的具体坐标或是行列,我们这里想提取单独的向量,就不得不使用到单索引值的用法。

我们重新生成矩阵A

 接着我们用单索引值

a=A(5)

 

 这里我们就知道了单索引值的用法,它是

计算机按照列的顺序从左往右遍历每一列(每一列从上到下)的第几个元素即是


再举一个例子:a=A(8)

 

当然我们可以将矩阵化为数组

b=A(end-3:end)%同样的我们使用冒号进行范围索引


 

我们也可以逐个索引


 b=[A(1),A(2),A(3)]


 

最终附本文代码(含注释版):

clc,clear;

%% 数组的索引


%% 用 y=A(2,3)来快速提取矩阵的元素,例如

A=rand(2,3);

x=A(2,3);%提取第2行第3列的元素

%% 用 MATLAB 关键字 end 作为行或列索引来引用最后一个元素,例如

x=A(end,3); %% 提取最后一行第三个元素

x=A(end-1,end-2) %可以结合运算符来计算


%% 用之前学过的数组的创建方法,我们可以实现提取矩阵的某一行或某一列

z=B(:,1:2)%提取第一列和第二列

z=B(1:2,:)

%推广,我们使用:范围引用可以实现索引一个范围的值

B=rand(10);

z=B(4:5,6:10);


%% 单索引值的使用,

A=rand(5)

a=A(5) %计算机按照列的顺序从左往右遍历每一列的第几个元素即是

%同样的我们使用冒号进行范围索引

b=A(end-3:end)

%接着我们也可以尝试逐个索引

b=[A(1),A(2),A(3)]

补充一点小知识:MATLAB里%%+空格+注释会出现分割线,效果跟我最上面的图片一样。

  • 7
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值