Array and Colon in Matlab

1. Colon

x=1:4

% x=[1 2 3 4]

x=1:2:5

% x=[1 3 5]  (递增值为2)

2. Array

用一个矩阵作为例子:

A=[1 2 3; 4 5 6; 7 8 9]

A=

1 2 3

4 5 6

7 8 9

这个矩阵可看作一个二维数组。

可使用A(index)的形式寻址数组中的第index个元素,index从1开始。注意寻址顺序先列后行。于是:

% A(1)=1

% A(2)=4

% A(3)=7

% A(4)=2

也可以使用二维索引。然而索引值按先行后列方式给出:

% A(2,3)=6    (row 2,column 3)

可以使用Colon作为索引表达式,此时它表示对应索引位置的全部元素。

% A(:,1)   (A的第一列)

% A(2,:)   (A的第二行)

% A(:)      (A的全部元素(按列摆放为vector))

% A(:,:)    (A是vector或matrix的情况下,等同于A)

% A(1:3)   (等价于[A(1),A(2),A(3)])

时间: 2024-10-01 02:29:08

Array and Colon in Matlab的相关文章

Convert character array to string in MATLAB

Matlab提取特征值是经常要读取多个图片文件,把文件名保存在数组中后再读取会出错.从stackoverflow中找到如下解决方法: I've a M by N matrix, each cell contains a character array, that is an image path. How can I use it to read image? It should be string. It's what I try to do: imread(fl(1,1)); ??? Err

Matlab调用外部库函数方法和注意事项

在MATLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中.一旦加载成功,就 能直接在MATLAB中直接请求关于函数的任何信息.而当不再需要该库时,就应当及时把库文件从内存 中卸载以节省内存开销. 加载库 加载库加载库 加载库 语法:loadlibrary('shrlib','hfile') 其中shrlib为加载的动态链接库文件名(filename.dll),hfile为头文件名,它包含函数原型.例如,当加载包 含MATLAB中mx程序的libmx库时,可以使用下列语句. h

[Matlab] MxArray 与 MwArray 使用区别

引子 在外部编程语言与matlab的交互中,Array是最单元的交互元素,怎么都绕不过去. 在matlab提供的Array接口有两个,一个是C的MxArray, 另一个是Cpp(C++)的MwArray. 看下两着的分别介绍: mxArray:Matlab C 函数库的结构体 mwArray:Matlab C++ 函数库中对mxArray的包装类 声明: mxArray:    mxArray *a; mwArray:   mwArray a; 销毁 mxArray:   mxDestroyAr

Matlab C混合编程

由于看的代码里面以及一些工程需要涉及一些Matlab 混合编程,一直想看一下,首先一个就是使用C编写代码,编译之后由Matlab调用,这需要用到Mex函数,mex程序就是根据一定的接口规范(mtlab提出的)编写的一个dll,Mex文件既可以用c,也可以用fortran来编.本文介绍的是用C编写的. 这样做,若是代码中有循环的话,使用matlab的话需要循环解释多次,而使用C语言编译成dll之后,首先可以将循环体放入二进制程序中,利用matlab加快运算,而不是循环解释执行matlab代码.还有

FORTRAN & MATLAB 混合编程

[email protected] 第一部分:Fortran调用Matlab引擎 1  什么是Matlab引擎 所谓Matlab引擎(engine),是指一组Matlab提供的接口函数,支持C/C++.Fortran等语言,通过这些接口函数,用户可以在其它编程环境中实现对Matlab的控制.可以主要功能有: ★ 打开/关闭一个Matlab对话: ★ 向Matlab环境发送命令字符串: ★ 从Matlab环境中读取数据: ★ 向Matlab环境中写入数据. 与其它各种接口相比,引擎所提供的Matl

Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(三)

最近写了个Matlab程序,好慢呐……所以开始学习Matlab与C/C++混合编程.下面写了个测试代码,显示一个Double类型矩阵中的元素. 源代码 #include "mex.h" void displaySubscript( const mxArray *pArray, mwSize index ); // 入口函数void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) {   

[Matlab] matlab与C/C++混合编程汇总

matlab 与外部程序的编程接口两大类: 一是 如何在matlab里调用其他语言写的代码. (见例子:使用C-MEX技术,ActiveX技术) 二是 如何在其他语言里调用matlab. (见 使用matlab引擎, MAT数据交换, matlab发布com组件, DeployTool) matlab接口技术包含以下几个方面: 1. 数据导入导出,主要是MAT文件数据的导入导出. 2.普通的动态链接库dll文件的交互,Matlab6.5起,直接matlab环境中调用dll文件导出的函数. 3.m

MATLAB2014a中help与参考页中文翻译 Tutorials- array indexing

镇场诗:慈心积善,为有缘人做大证明.以身作则,光照大千世界. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Array Indexing  数组索引 Every variable in MATLAB? is a

Octave中无法使用rgb2gray()函数

在Octave中加载图像并转成灰度图时,发现rgb2gray()函数不存在,上网搜了一下,stackoverflow上给出了相关解释,如下: The problem is that you didn't load your packages. When you type pkg list you can find which ones are loaded by an asterisk in front of their names. Load a package with pkg load i