数值数组及其运算.ppt
1,第三章 数值数组及其运算,问题1:什么是数组?数组:指由一组实数或复数排成的长方阵列(Array)。它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的“若干同维矩形的堆叠”,甚至更高的维数。例如:A=1,2,3,4,5,6,7,8,9A=1,2,3;4,5,6;7,8,9,2,第三章 数值数组及其运算,问题2:数组和矩阵到底有什么区别?数组运算:指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)平等地实施同样的操作。矩阵运算:有其特殊的含义(线性代数)。例如:A=1,2;3,4A.*A%数组相乘A*A%矩阵相乘,对于标量,两者没有区别。,3,第三章 数值数组及其运算,问题2:数组和矩阵到底有什么区别?例如:A=1,2,3,4A.*A%数组相乘A*A%矩阵相乘B=1,2;3,4;5,6;7,8A.*B%数组相乘A*B%矩阵相乘,4,第三章 数值数组及其运算,问题2:数组和矩阵到底有什么区别?例如:A=1,2;3,4 sin(A)%sin是数组函数A_sqrt=sqrt(A)%sqrt是数组函数A_sqrtm=sqrtm(A)%sqrtm是矩阵函数A_sqrt.*A_sqrtA_sqrtm*A_sqrtm,5,第三章 数值数组及其运算,问题3:常用数组运算和矩阵运算的区别(列表)?,6,第三章 数值数组及其运算,问题3:常用数组运算和矩阵运算的区别(列表)?,7,第三章 数值数组及其运算,举例3-1exm3_1.mx=0:0.1:1%定义自变量的采样点取值数组(一维)y=x.*exp(-x)%利用数组运算计算各自变量采样点上的函数值plot(x,y),xlabel(x),ylabel(y),title(y=x*exp(-x)%绘图,8,第三章 数值数组及其运算,问题4:如何产生一维数组?逐个元素输入法A=1,2,3,4冒号生成法x=a:inc:bA=1:1:4定数线性采样法x=linspace(a,b,n)%等价于x=a:(b-a)/(n-1):bA=linspace(1,4,4),9,第三章 数值数组及其运算,问题5:如何对一维数组的元素寻访和赋值?x=1:1:5x(3)x(1 2 5)x(1:3)x(3:end)x(3:-1:1)x(find(x1.5)x(1 2 3 4 4 3 2 1)x(3)=0 x(1 4)=10 10,10,第三章 数值数组及其运算,问题6:如何产生二维数组?直接输入法M_r=1,2;3,4M_i=5,6;7,8C=1+5i,2+6i;3+7i,4+8iCN=M_r+i*M_i对于较小数组,直接输入最简便,必须有三个要素:以“”为其首尾;用“;”或回车分隔行;元素间用“,”或空格分隔。,11,第三章 数值数组及其运算,问题7:“全下标”和“单下标”的概念?A=1,3;2,4全下标例A(1,2):表示在二维数组A的“第1行第2列”的元素单下标:将二维数组所有列按先左后右的次序、首尾相接排成“一维长列”,然后,自上而下对元素进行标号。A(3)B=1,3,5;2,4,6B(3),12,第三章 数值数组及其运算,问题8:如何对二维数组的元素寻访和赋值?A=1 2 3;4 5 6;7 8 9A(2,3)=100A(2,3)Sa=ones(3,2)A(2,:)A(:,2 3)=SaA(:,3)A(2 3,:)=Sa%出错A(:)D=zeros(1,9)s1=3 5 8A(:)=D(:)A(s1)A=D%对A重新定义了s2=3;5;8 A(s1)=1 1 1A(s2)A(s1)=10;10;10,13,第三章 数值数组及其运算,问题9:执行数组运算的常用函数有哪些?三角函数和双曲函数,14,第三章 数值数组及其运算,问题9:执行数组运算的常用函数有哪些?指数函数,pow2(5)log2(4)sqrt(2),15,第三章 数值数组及其运算,问题9:执行数组运算的常用函数有哪些?复数函数,16,第三章 数值数组及其运算,问题9:执行数组运算的常用函数有哪些?圆整函数和求余函数,mod(-1,2)help modrem(-1,2)help remA=-1 2 3-4sign(A),17,第三章 数值数组及其运算,问题9:执行数组运算的常用函数有哪些?补充:标准数组生成函数(很有用),zeros(1,2)rand%(0,1)ones(2)randn(2,3),18,第三章 数值数组及其运算,问题9:执行数组运算的常用函数有哪些?补充:测量数组维数和大小函数,A=1 2 3;4 5 6size_A=size(A)dim_A=ndims(A)L_A=length(A)B=ones(1,8)L_B=length(B),19,第三章 数值数组及其运算,问题10:数组的关系操作和逻辑操作?MATLAB的约定:在所有关系表达式和逻辑表达式中,作为输入的任何非0数都被看作是“逻辑真”,只有0才被认为是“逻辑假“;所有关系表达式和逻辑表达式的计算结果,即输出,是一个由0和1组成的“逻辑数组(Logical Array)”。1表示“真”,0表示“假”;逻辑数组可用于数组寻访;A=1,0,5;0,4,6 C=(A3)%C为逻辑数组 B=A D=A(C)%数组寻访,生成列向量,20,第三章 数值数组及其运算,问题10:数组的关系操作和逻辑操作?关系操作,A=1,0,5;0,4,6 C=(A=B)%C为逻辑数组 B=ones(2,3)D=(A=B)%D为逻辑数组,21,第三章 数值数组及其运算,问题10:数组的关系操作和逻辑操作?逻辑操作,【注】标量可以与任何维数的数组进行逻辑运算;没有标量时,参与运算的数组必须同维。例如:A&1,