第二章 数值数组及其运算数值数组(Numeric Array)和数组运算(Array Operations)始终是 MATLAB 的核心内容。自 MATLAB5.x 版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了 MATALB 最重要的一种内建数据类型(Built-in Data Type),而数组运算就是定义在这种数据结构上的方法(Method)。本章系统阐述:一、二维数值数组的创建、寻访;数组运算和矩阵运算的区别;实现数组运算的基本函数;多项式的表达、创建和操作;常用标准数组生成函数和数组构作技法;高维数组的创建、寻访和操作;非数 NaN、“空”数组概念和应用;关系和逻辑操作。顺便指出:(1)本章所涉内容和方法,不仅使用于数值数组,而且也将部分地延伸使用 于 在 其 他 数 据 结 构 中 。 ( 2 ) MATLAB5.x 和 6.x 版 在 本 章 内 容 上 的 差 异 极 微 。(3)MATLAB6.5 版新增的两种逻辑操作,在第 2.13.2 节给予介绍。1引导【例 2.1-1】绘制函数y=xe−x在0≤x≤1时的曲线。x=0:0.1:1y=x.*exp(-x)plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)') x = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 11 0.7000 0.8000 0.9000 1.0000y = Columns 1 through 7 0 0.0905 0.1637 0.2222 0.2681 0.3033 0.3293 Columns 8 through 11 0.3476 0.3595 0.3659 0.3679图 2.1-12一维数组的创建和寻访2.1 一维数组的创建2.2 一维数组的子数组寻访和赋值【例 2.2.2-1】子数组的寻访(Address)。00.20.40.60.8100.050.10.150.20.250.30.350.4xyy=x*exp(-x)rand('state',0) x=rand(1,5) x =0.9501 0.2311 0.6068 0.4860 0.8913 x(3) ans =0.6068 x([1 2 5]) ans =0.9501 0.2311 0.8913 x(1:3) ans = 0.9501 0.2311 0.6068 x(3:end)% ans = 0.6068 0.4860 0.8913 x(3:-1:1)% ans = 0.6068 0.2311 0.9501 x(find(x>0.5)) ans =0.9501 0.6068 0.8913 x([1 2 3 4 4 3 2 1]) ans = Columns 1 through 7 0.9501 0.2311 0.6068 0.4860 0.4860 0.6068 0.2311 Column 8 0.9501 【例 2.2.2-2】子数组的赋值(Assign)。x(3) = 0 x = 0.9501 0.2311 0 0.4860 0.8913 x([1 4])=[1 1] x = 1.0000 0.2311 0 1.0000 0.8913 3二维数组的创建3.1 ...