ch02_数值数组及向量化运算[精].doc
文本预览下载声明
数值数组及向量化运算
本章集中讲述两个数据类型(数值数组和逻辑数组)、两个特有概念变量(非数和空)、以及MATLAB的数组运算和向量化编程。值得指出:本章内容是读者今后编写各种科学计算M码的基本构件。
数值数组(Numeric Array)是MATLAB最重要的数据类型数组。在各种维度的数值数组中,二维数组为最基本、最常用。本章对二维数组创建、标识、寻访、扩充、收缩等方法进行了详尽细腻的描述,并进而将这些方法推广到高维数组。
本章讲述的逻辑数组主要产生于逻辑运算和关系运算。它是MATLAB 援引寻访数据、构成数据流控制条件、、编写复杂程序所不可或缺的重要构件。
数组运算是MATLAB区别于其它程序语言的重要特征,是MATLAB绝大多数函数指令、Simulink许多库模块的本性,是向量化编程的基础。为此,本章专辟第2.2节用于阐述MATLAB的这一重要特征。
在此提醒读者注意:随书光盘mbook目录上保存着本章相应的电子文档“ch02_数值数组及向量化运算.doc”。该文档中有本章全部算例的可执行指令,以及相应的运算结果。
数值数组的创建和寻访
一维数组的创建
递增/减型一维数组的创建
(1)“冒号”生成法
(2)线性(或对数)定点法
其他类型一维数组的创建
(1)逐个元素输入法
(2)运用MATLAB函数生成法
【例2.1-1】一维数组的常用创建方法举例。
a1=1:6
a2=0:pi/4:pi
a3=1:-0.1:0
a1 =
1 2 3 4 5 6
a2 =
0 0.7854 1.5708 2.3562 3.1416
a3 =
Columns 1 through 8
1.0000 0.9000 0.8000 0.7000 0.6000 0.5000 0.4000 0.3000
Columns 9 through 11
0.2000 0.1000 0
b1=linspace(0,pi,4)
b2=logspace(0,3,4)
b1 =
0 1.0472 2.0944 3.1416
b2 =
1 10 100 1000
c1=[2 pi/2 sqrt(3) 3+5i]
c1 =
2.0000 1.5708 1.7321 3.0000 + 5.0000i
rng default
c2=rand(1,5)
c2 =
0.8147 0.9058 0.1270 0.9134 0.6324
〖说明〗
x1=(1:6) , x2=linspace(0,pi,4)
y1=rand(5,1)
z1=[2; pi/2; sqrt(3); 3+5i]
二维数组的创建
小规模数组的直接输入法
【例2.1-2】在MATLAB环境下,用下面三条指令创建二维数组C。
a=2.7358; b=33/79;
C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]
C =
1.0000 5.4716 + 0.4177i 0.6909
0.7071 4.8244 3.5000 + 1.0000i
中规模数组的数组编辑器创建法
【例2.1-3】试用变量编辑器,把如下的数组输入MATLAB内存,并命名为A18。
0.8147 0.9134 0.2785 0.9649 0.9572 0.1419
0.9058 0.6324 0.5469 0.1576 0.4854 0.4218
0.1270 0.0975 0.9575 0.9706 0.8003 0.9157
图2.1-1 利用数组编辑器创建中规模数组
中规模数组的M文件创建法
【例2.1-4】为数组AM,创建一个 exm020104_Matrix.m 文件。以后每当需要AM数组时,只要运行exm020104_Matrix文件,就可在内存生成AM。
图2.1-2 利用M文件创建数组
利用MA
显示全部