资源描述:
《第2章 MATLAB数值计算.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2章MATLAB数值计算(Mathematics)第2章MATLAB数值计算2.1变量和数据2.2矩阵和数组2.3稀疏矩阵2.4多项式2.5元胞数组和结构数组2.6数据分析2.1变量和数据2.1.1数据类型MATLAB7.3定义了15种基本的数据类型,包括整型、浮点型、字符型和逻辑型等。2.1.2数据1.数值的表达方式数值采用十进制表示,可以用带小数点的形式直接表示,也可以用科学计数法,数值的表示范围是10-309~10309。例如:-2、5.67、2.56e-56(表示2.56×10-56)、4.68e204(表示4.68×10204)2.矩阵和数组的
2、概念标量(Scalar):是指1×1的矩阵,即只含一个数的矩阵。向量(Vector):是指1×n或n×1的矩阵,即只有一行或者一列的矩阵。矩阵(Matrix):是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0矩阵为空矩阵([])。数组(Array):是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。3.复数(Complex)复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。z=a+b*i或z=a+b*jz=a+bi或z=a+bj(当b为常量时)z=r*exp(i*theta)得出一个复数的实部、虚部、幅值
3、和相角。a=real(z)%计算实部b=imag(z)%计算虚部r=abs(z)%计算幅值t=angle(z)%计算相角2.1.3变量(Variables)1.变量的命名规则变量名区分字母的大小写。变量名不能超过63个字符,第63个字符后的字符被忽略。变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号(如,。%等)。关键字(如if、while等)不能作为变量名。2.特殊变量ans运算结果的默认变量名pi圆周率πi或ji=j=inf无穷大,如1/0NaN或nan非数,如0/0、∞/∞、0×∞eps计算机的最小数2.2矩
4、阵和数组2.2.1矩阵输入(1)矩阵元素应用方括号([])括住;(2)每行内的元素间用逗号或空格隔开;(3)行与行之间用分号或回车键隔开;(4)元素可以是数值或表达式。矩阵表示应遵循以下基本常规:1.通过显式元素列表输入矩阵例如:>>c=[12;34;53*2]%[]表示构成矩阵,分号分隔行,空格分隔元素2.通过语句生成矩阵(1)使用from:step:to方式生成向量from、step和to分别表示开始值、步长和结束值。当step省略时则默认为step=1。(2)使用linspace和logspace函数linspace(a,b,n)a、b、n分别表示开
5、始值、结束值和元素个数,n如果省略则默认值为100。logspace(a,b,n)a、b、n分别表示开始值10a、结束值10b和数据个数,n,如果省略则默认值为50。3.由矩阵生成函数产生特殊矩阵zeros(m,n)产生m×n的全0矩阵ones(m,n)产生m×n的全1矩阵rand(m,n)产生均匀分布的随机矩阵,元素取值范围0.0~1.0。randn(m,n)产生正态分布的随机矩阵magic(N)产生N阶魔方矩阵(矩阵的行、列和对角线上元素的和相等)eye(m,n)产生m×n的单位矩阵1.矩阵的下标(Subscript)(1)全下标方式一个m×n的a矩阵
6、的第i行第j列的元素表示为a(i,j)。(2)单下标方式以m×n的矩阵a为例,若元素a(i,j)则对应的“单下标”为s=(j-1)×m+i。2.2.2矩阵元素a(1,2)a(4)a(2,3)a(8)2.子矩阵块的产生(Multipleelements)子矩阵是从对应矩阵中取出一部分元素构成的。子矩阵也可以利用逻辑矩阵(logicalmatrix)来标识。a([12],[23])a([45;78])a(:,3)a(1:3,end)a(:,end)a(7:9)a(7:end)3.矩阵的赋值矩阵的赋值有:全下标方式、单下标方式和全元素方式。4.矩阵元素的删除可以
7、对矩阵的单个元素、子矩阵块和所有元素赋值为空矩阵进行删除操作,就是简单地将其赋值为空矩阵(用[]表示)。EX:a(:,3)=[]%删除一列元素a(1)=[]%删除一个元素,矩阵变为向量a=[]%删除所有元素为空矩阵5.生成大矩阵(ConcatenatingMatrices)可以通过方括号“[]”实现将小矩阵生成一个较大的矩阵。例:[a;a]与[a,a]的区别6.矩阵的翻转可以通过矩阵翻转函数对矩阵进行翻转。2.2.3字符串(CharacterArrays)一个字符串由多个字符组成,用单引号(’’)来界定。字符串是按行向量进行存储的。1.字符串占用的字节每一
8、个字符会占用两个字节。>>str2='Ilike''MATLAB'