Matlab 矩阵计算元素选取方法

本文介绍了Matlab中矩阵元素的选取方法,包括简单切片、条件选取和根据下标选取。简单切片可以通过行和列索引来实现;条件选取则通过逻辑表达式返回符合条件的元素;对于多维矩阵,可以利用单下标选取法避免循环,提高运算效率。通过这些方法,可以有效减少多层循环,提升矩阵运算速度。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

Matlab提供了功能丰富快速的矩阵计算方法,也有功能丰富的矩阵元素选取方法,由于循环计算的易理解和直观,新手通常会使用多层循环来选取矩阵元素,但是使用矩阵规则来选取其实会更快速和高效下面由简到繁介绍一下各种选取方法。


1.简单切片

选取某行某列:
矩阵D

D(2,:);
D(1:2,:);
D(:,2);
D(:,1:2);
D(2:3,1:2);

在这里插入图片描述

2.根据条件选取

注意,当直接在变量后的括号内写入条件表达式时,返回的是符合条件的元素,这是根据逻辑表达式选取的,并被拉伸为一维向量。

D>10;
D(D>10);

在这里插入图片描述

3.根据下标选取对应元素

1)简介

当我们需要根据一个下标矩阵选取对应元素时,直接用对应行列返回的会是两个行向量的全部组合。

示例:

在这里插入图片描述
当我们需要选择D矩阵中(1,3),(2,2),(4,5)位置的元素时,如果直接使用对应行向量选取:
在这里插入图片描述
会选取到(1,3),(1,2),(1,5),(2,3),…,(4,5)的所有组合,这时我们可以使用单下标的方法来选取对应元素;

在Matlab中,对于多维矩阵,除了使用直观上的D(1D,2D,3D,…,ND)的方法选取对应位置上的元素,也可以使用D(id)的方法来选取元素,比如对于18,在D中为4行3列,也可以表示为第14个元素。
在这里插入图片描述

2)二维选取

Matlab中维度是从后往前数的,二维中可以理解为先数列再数行:

在这里插入图片描述
也就是先数1,6,11,16,21;

因此第a行,第b列可以计算为第(d-1)*col+a,col为矩阵行数,也可以用size(D,1)获得,因此根据id矩阵选取对应元素可以写为:

D((id(2,:)-1)*size(D,1)+id(1,:))

在这里插入图片描述

3)多维选取

同理,对于多维,从后往前数即可,这里只演示到三维;

这里需要选择矩阵中的(1,2,1),(2,1,3),(1,1,3)
在这里插入图片描述
当然,这里的id的计算也可以通过matlab函数sub2ind来替代。

总结

Matlab中,当遇到了对多维矩阵的元素选取因为使用多层循环嵌套极大增加运算时间可以试试将循环写为矩阵运算能够极大的提高运算速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值