您的位置:首页 > 编程语言 > MATLAB

matlab数组运算

2015-05-09 21:24 267 查看
一个个标量数据被组织成矩形或长方形的阵列集合,这就是数组(Array)。而每次调用命令将同时地加在数组所含的每个标量元素 上,构成所谓的数组运算。(matlab中,标量被认作只含一个元素的特殊二维数组)。

数值数组(Numeral Array)和数组运算(Array Operations)是MatLab的核心内容。

MatLab是以复数矩阵作为基本的运算单元,向量和标量都作为特殊的矩阵来处理:向量当作只有一行或一列矩阵,标量则为只有一个元素的矩阵。

矩阵只是数组的一种特例,它是二维的数值型数组,表示了一种线性变换关系。

矩阵的概念:从外观和数据结构上看,二维数组和数学中的矩阵没有区别。但是,矩阵作为一种变换或影射算子的体现,矩阵运算有着明确而严格的数学规则

矩阵运算——》按照线性代数的运算规则进行

数组运算——》对数组中的每个元素进行同样的运算

MATLAB精心设计数组和数组运算的好处:

①使计算程序简单、易读,使程序命令更接近于教科书上的数学计算公式;

②提高程序的向量化程度,提高计算效率,节省计算机资源。





数值数组的生成和寻访:

⑴逐个元素输入法

对于较小的简单的数组,从键盘上直接输入,需要遵循以下几个原则:

数组(矩阵)中每一行的元素必须用空格或逗号分开

在数组(矩阵)中,用分号或回车行表明每一行的结束

整个输入数组(矩阵)必须包含在方括号中

⑵冒号生成法

x=first:last

创建从first开始,加1计数,到last结束的行向量x

x=first:increment:last

创建从first开始,加增量计数,到last结束的行向量x。

increment可以是负数,或省略则默认为1。

若inc>0但是first大于last,或者inc<0但是last大于first,则X是空向量。

⑶定数线性采样法

x=linspace(first,last,n)

在设定总点数的情况下,均匀采样生成一维行数组。

创建从first开始,到last结束,有n个元素的行向量x。

n省略默认为100。

⑷利用M文件

对于经常需要调用的且比较大的数组,可专门为该数组创建一个M文件。

通过数组编辑器生成矩阵

步骤:先建立空矩阵a=[],

然后在工作空间(workspace)中点开a进入数 组编辑器,输入元素。

简单数组创建



常用数组生成







数组运算常用函数



数组运算和矩阵运算(注意区别!!!!)





非数和空数组

Not a Number ——>NaN nan

0/0,∞/∞,0×∞等运算
Nan参与运算所得的结果也是nan(传递性)

非 数没有大小的概念。

真实表示0/0等运算结果

避免因为这类异常运算而造成的程序中断

在数据可视化中用来裁剪图形
(1)Matlab没有定义专门的逻辑变量,在所有关系、逻辑表达式中,作为输入的任何非0数都被看成是“逻辑真”,只有0被认为是“逻辑假”

(2)所以关系和逻辑表达式的计算结果,是一个由0和1组成的“逻辑数组”

(3)逻辑数组是一种特殊的数组,与“数组类”有关操作和函数对它同样适用
关系运算

<、<=、>、>=、==、~ =

标量可以与数组比较,比较在此标量和数组的每个元素之间进行,比较结果与被比较数组同维

数组与数组比较必须维数相同,对相同位置数进行对比

逻辑运算

& 与、 | 或、 ~ 非

字符串数组

字符变量的创建

A=‘机械工程及自动化’



字符串转换函数





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: