sub2ind的函数简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sub2ind的函数简介相关的知识,希望对你有一定的参考价值。

参考技术A

函数功能:在FreeMat、Matlab中,该函数用于把数组中元素下标转换为该元素在数组中对应的索引值。
在FreeMat、MATLAB中访问2、3、及高于3维的数组,既可以通过元素的下标来访问,也可以通过该元素在这个数组中的位置索引来访问。
例如,对于一个2行3列的二维数组A,如果要访问A中第2行第一个元素,既可以通过下标(2,1)访问,也可以通过索引值2来访问(在FreeMat、Matlab中,二维数组的存储是以列为主序的,所以看一个元素在数组中的索引值,要一列一列的来数)。
语法格式:
linearInd = sub2ind(matrixSize, rowSub, colSub)
这种用法适用于二维数组(在MATLAB中,一个空矩阵[]、一个数、一个向量都是二维的)。其中matrixSize是矩阵的尺寸,通常用size函数获取。rowSub、colSub则是要访问的元素的对应行列下标,返回值就是这个元素在这个矩阵中的索引值。
linearInd = sub2ind(arraySize, dim1Sub, dim2Sub, dim3Sub, ...)
这种格式适用于多维情况。
相关函数:find、ind2sub

Rust 功能函数的关系包和模块简介

Rust 功能函数的关系、包和模块简介

一、功能函数之间的关系

前面看到,一个文件中可以定义多个 function 功能函数,这些功能函数可以被相互使用。程序的入口是main()。

在一个文件中,各个功能函数的定义和使用不受功能函数定义的顺序约束。也就是说,不需要像 C 语言一样,在使用一个函数而还没有定义函数之前要有一个声明语句;而像 java 一样,只要声明的功能函数在一个文件内,可以忽略功能函数在文件中出现的顺序。

二、文件的包管理

当一个文件中的功能函数越来越多,阅读和修改都是个问题。因此需要进行功能分离,按照操作或者功能将功能函数分别保存在不同的文件中。

另外,从软件工程的角度考虑软件的复用和封装,有些功能函数需要设置成可以外部访问的 public ,有些则要设计成仅供内部使用的 private 。

Rust 项目的包管理使用术语 crate,等同于 java 中的package。
cargo是Rust内置的包管理工具。

一个crate 可以是可以运行的Rust 程序,也可以是一个用于提供功能函数的 library 仓库 (像android的项目区分是可运行的app和lib一样)。

除了 crate ,Rust还提供了 Module 模块的机制。在每个 crate中可以包含多个 module 模块,其中一个被默认为是(root module)根模块。根模块与其他模块构成树形结构,就像 XML 文件中根元素与其他子元素的关系 或者 文件夹中包含的多个子文件夹的关系一样。

在进行 module 和实战操作之前,先介绍一下 Rust 的项目管理工具: cargo ,前面的文章中已经使用过了,类似 java 中的 maven工具,用于项目的创建、编译、运行、打包、部署以及包之间的依赖关系,依赖包的自动下载和更新。

以上是关于sub2ind的函数简介的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB基础知识——1.4矩阵元素的引用

1. 深度学习简介|计算机视觉简介|得分函数|损失函数作用|前向传播整体流程

Delphi函数简介

sass的函数简介

GBDT简介

C++ inline 函数简介