当前位置: 首页 > news >正文

MATLAB矩阵下标引用

        在MATLAB中,普通的二维数组元素的数字索引分为双下标索引和单下标索引。双下标索引是通过一个二元数组对来对应元素在矩阵中的行列位置,例如A(2,3)表示矩阵A中第2行第3列的元素。单下标索引的方式是采用列元素优先的原则,对m行n列的矩阵按列排序进行重组,成为一维数组,再取新的一维数组中元素优先位置对应的值作为元素在原矩阵中单下标,例如对于4✖4的矩阵,A(7)表示矩阵A中第3行第2列的元素,而A(13)表示矩阵A中第1行第4列的元素。

        1、矩阵下标访问单个矩阵元素

        常用的矩阵索引表达式如下所示。

矩阵的索引表达式
索引表达式函数功能
A(1)将二维矩阵A重组为一维数组,返回数组中第一个元素
A(:,j)返回二维矩阵A中第j列列向量
A(i,;)返回二维矩阵A中第i行行向量
A(:,j:k)返回由二维矩阵A中的第j列到第k列列向量组成的子矩阵
A(i:k,:)返回由二维矩阵A中的第i行到第k行行向量组成的子矩阵

A(i:k,j:l)

返回由二维矩阵A中的第i行到第k行行向量和第j列到第l列列向量的交集组成的子矩阵
A(;)将矩阵A中每列合并成一个长的列向量
A(j:k)返回一个行向量,其元素为A(:)中的第j个元素到第k个元素
A([j1j2...])返回一个行向量,其中元素为A(:)中的第j1、j2元素
A(;,[j1j2...])

返回矩阵A的第j1列、第j2列等的列向量

A([i1i2...]:,)返回矩阵A的第i1行、第i2行等的行向量
A([i1i2...],[j1j2...])

返回矩阵第i1行、第i2行等和第j1列、第j2列等的元素

        2、线性引用矩阵元素

        矩阵某一元素的单下标索引值和双下标索引值之间,可以通过MATLAB内部函数进行转换,其句法形式为:

        

IND = sub2ind(siz,i,j)

        其功能为将双下标索引值变为单下标索引值,其中siz是一个包含两个元素的数组,代表了转换矩阵的行列数将双下标索引值转换为单下标索引值,其中siz是一个包含两个元素的数组,代表转换矩阵的行列数,一般可以直接用size(A)表示,i和j分别是双下表索引中的行、列值,IND是转换后的单下标索引值。

[I J] = ind2sub(siz,ind)

        其功能为将单下标索引值转换为双下标索引值,各变量意义同上。

        3、访问多个矩阵元素

        设A=magic(4),如果需要计算第4列元素的和,按照前面介绍的方法可以用以下式来实现:

A(1,4)+A(2,4)+A(3,4)+A(4,4)

        在下标表达式里,可以用冒号来表示矩阵的多个元素。例如,A(1:k,j)表示矩阵第j列的前k个元素。利用冒号,第四列的元素和可以更简单的表达,代码设置如下:

sum(A(1:4,4))

        在MATLAB中提供了一个关键字end,用于表示该维中的最后一个元素,所以上式还可以写为:

sum(A(:,end))

        实际上还可以用冒号表示非相邻的多个元素,例如下面的代码:

A=1:10
B=A(1:3:10)

        由上述语句可以得到如下输出结果:


A =1     2     3     4     5     6     7     8     9    10B =1     4     7    10

http://www.lryc.cn/news/446844.html

相关文章:

  • syn洪水攻击原理是什么
  • 前缀和(4)_除自身以外数组的乘积
  • 第二十一节:学习Redis缓存数据库的Hash操作(自学Spring boot 3.x的第五天)
  • OpenCV视频I/O(1)视频采集类VideoCapture介绍
  • CVE-2024-46103
  • 三,MyBatis-Plus 的各种查询的“超详细说明”,比如(等值查询,范围查询,模糊查询...)
  • Linux 冯诺依曼体系结构与操作系统概念
  • UE4中 -skipbuild -nocompile 有什么区别
  • k8s篇之数据挂载类型及区别
  • LiveQing视频点播流媒体RTMP推流服务功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大
  • fetch怎么使用
  • 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测
  • 光耦知识分享:如何挑选合适的可控硅光耦型号
  • MySql Explain优化命令使用
  • Android NestedScrollView+TabLayout+ViewPager+ 其它布局,ViewPager 不显示以及超出屏幕不显示问题
  • Linux开机logo设置
  • webpack插件开发 模拟vue系统登录后,获取a标签下的文件
  • 大规模数据处理:分库分表与数据迁移最佳实践
  • TCP网络编程概述、相关函数、及实现超详解
  • Cluade 3.5 Sonnet 提示词泄露
  • git clone代码报错Permission denied (publickey)
  • QT设计中文输入法软键盘DLL给到C#开发步骤
  • 使用 Rust 和 wasm-pack 开发 WebAssembly 应用
  • 1. IP地址介绍
  • 喜报来袭~又有一波优秀企业选择Smartbi
  • Web端云剪辑解决方案,BS架构私有化部署,安全可控
  • AI 代码助手插件推荐
  • word中的表格全部设置宽度100%
  • JFinal整合Websocket
  • (done) 声音信号处理基础知识(7) (Understanding Time Domain Audio Features)