第1页共21页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共21页第二章数值数组及其运算数值数组(NumericArray)和数组运算(ArrayOperations)始终是MATLAB的核心内容。自MATLAB5.x版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了MATALB最重要的一种内建数据类型(Built-inDataType),而数组运算就是定义在这种数据结构上的方法(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=Columns1through700.10000.20000.30000.40000.50000.6000Columns8through110.70000.80000.90001.0000y=Columns1through700.09050.16370.22220.26810.30330.3293Columns8through110.34760.35950.36590.3679图2.1-12一维数组的创建和寻访00.20.40.60.8100.050.10.150.20.250.30.350.4xyy=x*exp(-x)第2页共21页第1页共21页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共21页2.1一维数组的创建2.2一维数组的子数组寻访和赋值【例2.2.2-1】子数组的寻访(Address)。rand('state',0)x=rand(1,5)x=0.95010.23110.60680.48600.8913x(3)ans=0.6068x([125])ans=0.95010.23110.8913x(1:3)ans=0.95010.23110.6068x(3:end)%ans=0.60680.48600.8913x(3:-1:1)%ans=0.60680.23110.9501x(find(x>0.5))ans=0.95010.60680.8913x([12344321])ans=Columns1through70.95010.23110.60680.48600.48600.60680.2311Column80.9501【例2.2.2-2】子数组的赋值(Assign)。x(3)=0x=0.95010.231100.48600.8913x([14])=[11]x=1.00000.231101.00000.89133二维数组的创建第3页共21页第2页共21页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共21页3.1直接输入法【例2.3.1-1】在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.00005.4716+0.4177i0.69090.70714.82443.5000+1.0000i【例2.3.1-2】复数数组的另一种输入方式。M_r=[1,2,3;4,5,6],M_i=[11,12,13;14,15,16]CN=M_r+i*M_iM_r=123456M_i=111213141516CN=1.0000+11.0000i2.0000+12.0000i3.0000+13.0000i4.0000+14.0000i5.0000+15.0000i6.0000+16.0000i3.2利用M文件创建和保存数组【例2.3.2-1】创建和保存数组AM的MyMatrix.m文件。(1)%MyMatrix.mCreationandpreservationofmatrixAMAM=[101,102,103,104,105,106,107,108,109;...201,202,203,204,205,206,207,208,209;...301,302,303,304,305,306,307,308,309];(2)(3)4二维数组元素的标识4.1“全下标”标识4.2“单下标”标识4.3“逻辑1”标识【例2.4.3-1】找出数组A=[−4−2024−3−1135]中所有绝对值大于3的元素。A=zeros(2,5);A(:)=-4:5L=abs(A)>3islogical(L)X=A(L)A=-4-2024-3-1135L=第4页共21页第3页共21页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共21页1000100001ans=1X=-445【例2.4.3-2】演示逻辑数组与一般双精度数值数组的关系和区别。(本例在例2.4.3-1基础上进行)。(1)Num=[1,0,0,0,1;0,0,0,0,1];N_L=Num==Lc_N=class(Num)c_L=class(L)N_L=1111111111c_N=doublec_L=double(2)islogical(Num)Y=A(Num)ans=0???Indexintomatrixisnegativeorzero.Seereleasenotesonchangestologicalindices.5二维数组的子数组寻访和赋值【例2.5-1】不同赋值方式示例。A=zeros(2,4)A=00000000A(:)=1:8A=13572468s=[235];A(s)Sa=[102030]'A(s)=Saans=235Sa=10第5页共21页第4页...