资源描述:
《matlab数值数组及其运算》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、matlab数值数组及其运算数值数组(NumericArray)和数组运算(ArrayOperation)是Matlab的核心运算内容一、导言二、一维数组(向量)三、二维数组(矩阵)四、高维数组五、MATLAB的运算符一、导言1、数组的定义数组是指一组实数或复数排成的长方阵列(Array)一维的行或列?向量二位数组 ?矩阵三维的“若干矩阵的堆叠”?体四维更高维2、数组运算无论在数组上施加什么运算(+,-,*,/,或函数等),该运算对数组中的每个元素都实施同样的操作。Matlab的数组运算使计算程序简短、易读提高程序的向量化程度、提高计算效率示
2、例x=0:0.1:1%定义自变量的采样点取值数组y=x.*exp(-x) %利用数组运算计算各自变量采样点上的函数值plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)') %绘图4矩阵的索引或下标矩阵A中,位于第i横列、第j直行的元素可表示为A(i,j),i与j即是此元素的下标(Subscript)或索引(Index)MATLAB中,所有矩阵的内部表示法都是以直行为主的一维向量A(i,j)和A(i+(j-1)*m)是完全一样的~m为矩阵A的列数我们可以使用一维或二维下标来存取矩阵矩阵的索引或下标可
3、以使用矩阵下标来进行矩阵的索引(Indexing)A(4:5,2:3)-取出矩阵A的第四、五横列与二、三直行所形成的部份矩阵A([914;1015])-用一维下标的方式来达到同样目的 用冒号(:),取出一整列或一整行A(:,5)-取出矩阵A的第五个直行用end这个保留字来代表某一维度的最大值A(:,end)-矩阵A的最后一个直行可以直接删除矩阵的某一整个横列或直行A(2,:)=[]–删除A矩阵的第二列A(:,[245])=[]-删除A矩阵的第二、四、五直行二、一维数组1一维数组的创建(1)逐个元素输入[]Column>>X=[1;2;3];Row>>Y=[
4、1,2,3];>>Y=[1 2 3];逗号和分号的作用 ?逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。 ?分号如果出现在指令后,屏幕上将不显示结果。(2)冒号生成法:start:Step:stop%其中start为初始值,step为步长,stop为终止值。Start:stop %impliesstep=1>>Z=1:-0.25:0Z=[1,0.75,0.5,0.25,0](3)定数线性采样法linspace(Initial,Final,#Points)x=linspace(a,b,n) %
5、 a,b是数组首末元素,n是采样总点数% 等同于x=a:(b-a)/(n-1):b>>Z=linspace(5,20,4)Z=[5,10,15,20];>>x=linspace(2,8,3)x= 2 5 8(4)定数对数采样法logspace(Initial,Final,#Points)x=logspace(a,b,n)%首点是10^a,末点是10^bx=logspace(0,3,4)x= 1 10 100 10002一维数组的寻访x=rand(1,5)%产生的均布随机数组
6、x=0.9501 0.2311 0.6068 0.4860 0.8913x(3) %寻访数组x的第三个元素。 x([125]) %寻访数组x的第1、2、5个元素组成的子数组x(1:3) %寻访前三个元素组成的子数组x(3:end) %寻访除前2个元素外的全部其他元素x(3:-1:1) %由前三个元素倒排构成的子数组x(find(x>0.5)) %由大于0.5的元素构成的子数组x([12344321])%对元素可以重复寻访X(0) 或x(6) ?Error子数组的赋值(Assign
7、)x(3)=0%把上例中的第三个元素重新赋值为0x= 0.9501 0.2311 0 0.4860 0.8913x([14])=[11]%把当前x数组的第一、四个元素都赋值为1。x= 1.0000 0.2311 0 1.0000 0.89133一维数组的操作>>X=[1;2;3];(+)>>Z=X+2Z=[3;4;5](-)(*)>>Z=2*XZ=[2;4;6](/)>>Z=X/2Z=[0.5;1;1.5]内积>>X=[1,2,3];>>Y=[1;2;3];>>Z=X*YZ=14平均值>>X
8、=rand(10);>>Y=mean(X)中值>>Y