数值数组及向量化运算.pptx
第三章
数值数组
及向量化运算
本章重点掌握一维、二维和任意高维双精度数值数组的生成和操作指令;熟练掌握数组运算和矩阵运算;掌握数据的获取与保存方法;掌握MATLAB中的关系操作和逻辑操作。
3.1数值计算的特点和地位1符号计算的优点:可对包含变量字符、参数字符和数字的表达式进行推理、运算,并给出符号结果。这些结果与解析表达式比较接近。2符号计算的缺点:有些问题无法解,有些问题求解时间过长。3
例3.1-1已知,求s(x)symstx;ft=t^2*cos(t);sx=int(ft,t,0,x);ezplot(sx); dt=0.05;t=0:dt:5;Ft=t.^2.*cos(t);Sx=dt*cumtrapz(Ft);plot(t,Sx,.k,MarkerSize,12)符号解法:数值解法:
执行数值计算的表达式都是在已知的数值点上进行的。计算结果也是离散的。如:Ft=t.^2.*cos(t)通过离散数据的图形曲线可以形象的体现数据之间的函数关系。例3.1-2进行数值计算前,需要确定一组自变量采样点,即采样区间和采样间隔。说明:
MATLAB语言最基本的特点在于矩阵运算,绝大多数的变量和数据都可看成为矩阵变量和矩阵数据。01应用MATLAB语言编程时,尤其要注意矩阵的阶数和向量的维数问题。02标量可看作1×1阶的矩阵。对于向量可看作1×M或M×1阶矩阵。向量创建时默认为行向量。033.2数值数组的创建和寻访
3.2.1一维数组的创建1.递增/递减型一维数组的创建(1)冒号法使用冒号指定数值范围和相邻值的步长x=s:d:fs起始值f结束值d步长如果步长默认为1,则用x=s:f例如x=1:2:9则x=[13579]x=0.4:2则x=[0.41.4]x=12.5:-3:5则x=[12.59.56.5]
递增/递减型一维数组的创建01线性(或对数)定点法02x=linspace(a,b,n)%以a,b为左右端点,产生线性等间隔的(1*n)行数组03X=logspace(a,b,n)%以a,b为左右端点,产生对数等间隔的(1*n)行数组 04
冒号法强调步长,有可能取不到终点值,结果不会超过终点值。a=12.5:-3:5,则a=[12.59.56.5]线性定点法特别强调数据的数量,两端点必在数据范围内。a=linspace(12.5,5,3),则a=[12.58.755]010302两种方法的区别
其他类型一维数组的创建逐个元素输入法例:x=[2pi/2-0.7e33+5i]运用函数生成例:c=rand(1,5);c1=ones(size(c));c2=ones(1,n);例3.2-1利用workspace输入法,在workspace中选中某个变量,右键选OpenSecletion,或是双击该变量,然后编辑。
3.2.2二维数组的创建直接输入法二维数组的三要素:?矩阵元素必须用[]括住?矩阵元素必须用逗号或空格分隔?在[]内矩阵的行与行之间必须用分号分隔,或者Enter换行
编辑器创建先在命令行上定义一个变量,然后在wokrspace中右键点击该变量,进行编辑。(3)M文件创建方法打开M文件编辑器,在空白处输入所需数组,然后保存。以后使用时直接在指令窗中输入文件名,即可将数据加入到workspace中。
用函数创建 diag产生对角数组eye产生单位数组magic产生魔方数组rand产生均匀分布随机数组randn产生正态分布随机数组ones全1数组zeros全0数组 例3.2-5
3.2.3.二维数组元素的标识和寻访全下标标识法:即指出是“第几行,第几列”的元素。优点:几何概念清楚,引述简单。对于二维数组来说,“全下标”标识由两个下标组成:行下标,列下标。例:矩阵A=[12345 678910 1112131415] 则A(2,3)=8,A(3,2)=12 A(3,5)=15,A(1,5)=5
A(r,:)由指定r行上所有列元素组成,结果是一个行向量A(:,c)由c指定列上的所有行元素构成,结果是一个列向量例:矩阵A=[123457891012131415]则A(