第2章 MATLAB数据.ppt
《第2章 MATLAB数据.ppt》由会员分享,可在线阅读,更多相关《第2章 MATLAB数据.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 MATLAB数据数据2.1 MATLAB数据的特点1矩阵是MATLAB最基本、最重要的数据对象。单个数据(标量)可以看成是矩阵的特例。2MATLAB数据类型v MATLAB中采用十进制数,并可用科学表示法,虚数用i或j 表示。5 -39 0.0025 1.52e-20 6.9e13 3.0i -3+4i 浮点数的范围大致为10-30810308。v数值数据:双精度型(默认)、单精度数、带符号整数和无符号整数。v字符数据。v结构(Structure)和单元(Cell)。v多维矩阵和稀疏矩阵(Sparse)。目录目录v双精度数值变量IEEE标准,64位(8字节),数值的相对精度是eps
2、数值范围:v其他数据类型uint8,常用于图像表示和处理,8位int8,int16,int32,uint16,uint32 2.2 变量和赋值2.2.1 变量的命名规则v在MATLAB中,变量名是以一个字母开头,后接字母、数字或下划线的字符序列,最多19个字符,字母间不可留空格,。v在MATLAB中,变量名区分字母的大小写。MATLAB提供的标准函数名以及命令名必须用小写字母。目录目录v有效的变量名MYvar12,MY_Var12 和 MyVar12_错误的变量名 12MyVar,_MyVar12 MATLAB中的变量不需要事先定义,在遇到新的变量名时,MATLAB会自动建立该变量并分配存储空
3、间。对变量赋值可采用赋值语句。变量名=表达式;固定变量/MATLAB中预定义变量 MATLAB中提供了一些用户不能清除的固定变量。ans:分配最新计算表达式的值,这个表达式并没有给定一个名字eps:在决定诸如奇异性和秩时,可作为一个容许误差,eps=2.22*10-16,用户也可将此变量置为其它任何值。pi:即Inf:表示正无穷大,当输入1/0时会产生InfNaN:表示不定值,它由Inf/Inf或0/0运算产生。2.2.2 赋值语句MATLAB赋值语句有两种格式:(1)变量=赋值表达式 如:S1+2*pi目录目录(2)表达式 如:1+2*pi函数调用语句函数调用语句函数函数vMatlab由包括
4、许多标准函数,每个函数由包括许多标准函数,每个函数都完成某一特定功能的代码组成。都完成某一特定功能的代码组成。vMatlab也允许用户编写自己所需的函数,也允许用户编写自己所需的函数,其扩展名为其扩展名为.m,其中必须以关键字,其中必须以关键字function开头开头.MATLAB的每条命令后,若为逗号或无逗号或无标点标点符号,则显示命令的结果;若命令后为分号分号,则禁止显示结果.“%”后面所有文字为注释.“.”表示续行.例2.1 计算表达式的值,并将结果赋给变量x,然后显示出结果。在MATLAB命令窗口输入命令:x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i)%计算表达
5、式的值目录目录变量及数组输入变量及数组输入 vMATLAB的变量及数组均是以向量或矩阵方式存储的的变量及数组均是以向量或矩阵方式存储的 v1:向量方式输入:向量方式输入x=1,2,3,4,5%以向量(数组)方式给以向量(数组)方式给x赋值赋值y=(x(3)+x(5)/2*x(4)%调用调用x中的元素中的元素z=sqrt(x)%每个元素开方每个元素开方t=x%向量向量x的转置赋给的转置赋给tu=x*t%向量的内积(向量的内积(u为向量为向量x的模的平方)的模的平方)变量及数组输入变量及数组输入 v2:矩阵方式输入:矩阵方式输入a=1,2,3;4,5,6;7,8,0%矩阵输入矩阵输入(a为为3阶方
6、阵)阶方阵)b=366;804;351%列矩阵输入列矩阵输入det(a)%方阵行列式方阵行列式inv(a)%方阵的逆方阵的逆x=ab%ax=b方程组的解方程组的解y=inv(a)*b%与与x相同相同disp(a,b,x)%显示矩阵显示矩阵 2.2.3 数据的输出格式vMATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。v数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为:format 格式符v注意,format命令只影响在屏幕上的显示数据输出格式,而不影响数据的计算和存储,MATLAB的数据存储和运算总是以双精度进行的。目录目录
7、可用菜单File/Preferences中的Command Window 里的Numarical Format来设定数据显示方式,有short(小数点后4位),long(15位数字),bank(小数点后2位),short e(5位科学计数法),long e(15位科学计数法),rat(最接近的有理数).也可在Command Window中用命令设置,例如:format longFormat short :5位定点格式,如位定点格式,如 1.4142Format long :15位定点格式,如位定点格式,如 1.41421356237310Format short e :5位浮点,如位浮点,如1
8、.4142e+000Format long e :15位浮点,如位浮点,如1.414213562373095e+000Format short g:5位定点或浮点取优,如位定点或浮点取优,如1.4142Format long g:15位定点或浮点取优,如位定点或浮点取优,如1.4142135623731Format hex :十六进制数,如:十六进制数,如3ff6a09e667f3bcdFormat bank:货币格式,如:货币格式,如1.41Format rat :分数之比,如:分数之比,如1393/985Format+:若为正数则显示:若为正数则显示+,若为负数则显示,若为负数则显示-,若
9、为,若为0则显示空则显示空如 format short%设置定点格式,显示5位 pians=3.1416 format long%设置定点格式,显示15位 pians=3.14159265358979 2.2.4 内存变量的管理内存变量的管理 1.内存变量的显示与删除内存变量的显示与删除v who和和whos这这两两个个命命令令用用于于显显示示在在MATLAB工工作作空空间中已经驻留的变量名清单。间中已经驻留的变量名清单。例:若要检视现存於工作空间(例:若要检视现存於工作空间(Workspace)的变数,)的变数,可键入可键入who:who Your variables are:testfil
10、e x vclear命令用于删除命令用于删除MATLAB工作空间中的变量。工作空间中的变量。v注意,预定义变量不能被删除。注意,预定义变量不能被删除。目录目录 3.内存变量文件v利用MAT文件(.mat)可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。vMAT文件的生成和装入由save和load命令来完成。常用格式为:save 文件名 变量名表 -append-ascii -将工作空间的所有变数储存到名为matlab.mat的二进制档案。目录目录2.工作空间浏览器 (1)工作空间浏览器的启动 (2)工作空间浏览器的操作vsave filename:将工作空间的所有变数储存到名为f
11、ilename.mat的二进制档案。vsave filename x y z:将变数x、y、z储存到名为filename.mat的二进制档案。v以二进制的方式储存变数,通常档案会比较小,而且在载入时速度较快,但是就无法用普通的文书软体(例如pe2或记事本)看到档案内容。若想看到档案内容,则必须加上-ascii选项,详见下述:vsave filename x-ascii:将变数x以八位数存到名为filename的ASCII档案。load filename变量名表 -ascii-load命令可将档案载入以取得储存之变数,load会寻找名称为filename.mat的档案,并以二进制格式载入。若找不
12、到filename.mat,则寻找名称为filename的档案,并以ASCII格式载入。load filename-ascii:load会寻找名称为filename的档案,并以ASCII格式载入。若以ASCII格式载入,则变数名称即为档案名称(但不包含副档名)。若以二进制载入,则可保留原有的变数名称 2.3 MATLAB矩阵 2.3.1 矩阵的建立 1.直接输入法 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。目录目录例如 A=1 2 3;4 5 6;7 8 9运行结果为A=1 2 3 4 5 6 7 8 9 v 2.创建
13、创建M文件输入大矩阵文件输入大矩阵 M文件是一种可以在文件是一种可以在MATLAB环境下运行的文本文环境下运行的文本文件。它可分为命令式文件和函数式文件件。它可分为命令式文件和函数式文件2种。种。当矩阵的规模比较大时,可以利用当矩阵的规模比较大时,可以利用M文件的特点将文件的特点将所要输入的矩阵按格式写入一文本文件中,并将此文所要输入的矩阵按格式写入一文本文件中,并将此文件以件以.m 为其扩展名,即为为其扩展名,即为M文件。文件。例例2.2 利用利用M文件建立文件建立MYMAT矩阵。矩阵。(1)启启动动有有关关编编辑辑程程序序或或MATLAB文文本本编编辑辑器器,并并输输入入待建矩阵待建矩阵.
14、(2)把把输输入入的的内内容容以以纯纯文文本本方方式式存存盘盘(设设文文件件名名为为mymatrix.m)。(3)运运行行该该M文文件件,就就会会自自动动建建立立一一个个名名为为MYMAT的的矩矩阵,可供以后使用。阵,可供以后使用。(演示如下演示如下)目录目录 edit%启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵.把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。mymatrix%运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用A=1 2 3 4 5 6 7 8 9 3.利用MATLAB函数建立矩阵v几个产生特殊矩阵的函数:zeros、ones、ey
15、e、rand(均匀分布的随机矩阵,随机数均匀分布在(0,1内)、randn(正态分布的随机矩阵)。v这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:zeros(m)产生mm零矩阵 zeros(m,n)产生mn零矩阵。zeros(size(A)产生与矩阵A同样大小的零矩阵v相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A);ndims(A)给出A的维数。目录目录其他特殊矩阵:其他特殊矩阵:compan magic gallery pascal hadamard rosser hankel toeplitz
16、hilb vander invhilb wilkinson 例2.3 分别建立33、32和与矩阵A同样大小的零矩阵。(1)建立一个33零矩阵:zeros(3)zeros(3)ans=0 0 0 0 0 0 0 0 0目录目录(2)建立一个32零矩阵:zeros(3,2)zeros(3,2)ans=0 0 0 0 0 0(3)建立与矩阵A同样大小零矩阵:zeros(size(A)A=2 4 7 5;7 8 9 10;zeros(size(A)ans=0 0 0 0 0 0 0 0此外,常用的函数还有此外,常用的函数还有reshape(A,m,n),它在矩,它在矩阵总元素保持不变的前提下,将矩阵阵
17、总元素保持不变的前提下,将矩阵A重新排重新排成成mn的二维矩阵。的二维矩阵。A=2 4 7 5;7 8 9 10;reshape(A,4,2)ans=2 7 7 9 4 5 8 10 reshape(A,1,8)ans=2 7 4 8 7 9 5 10 reshape(A,8,1)ans=2 7 4 8 7 9 5 10 4.建立大矩阵 大矩阵可由方括号中的小矩阵建立起来。例如目录目录 A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A);ones(size(A),AC=1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1
18、 4 5 6 1 1 1 7 8 9 2.3.2 冒号表达式 v冒号表达式的一般格式:e1:e2:e3相当于e1,e1+e2,e1+2e2,e3v例:A=1:3:11目录目录A=1 4 7 10还可以用还可以用linspace函数产生线性等分行向函数产生线性等分行向量:量:linspace(a,b,n):返回以:返回以a为起点,为起点,b为为终点的等间距共有终点的等间距共有n个元素的行向量。个元素的行向量。例:例:format short linspace(0,0.1,5)linspace(a,b,n)与a:(b-a)/(n-1):b等价。ans=0 0.0250 0.0500 0.0750
19、0.1000l对数等分向量的生成对数等分向量的生成logspace(x1,x2)生成(生成(1*50)维对数)维对数等分向量。等分向量。Logspace(x1,x2,n)生成(生成(1*n)维对)维对数等分向量。数等分向量。2.3.3 矩阵的拆分1.矩阵元素vMATLAB允许用户对一个矩阵的单个元素进行赋值和操作。例如 A(3,2)=400目录目录 A=-1:3:15;-2:4:18A=-1 2 5 8 11 14 -2 2 6 10 14 18 A(2,3)=400A=-1 2 5 8 11 14 -2 2 400 10 14 18也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先
20、第一列,再第二列,依次类推。以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。A=-1:3:15;-2:4:18A=-1 2 5 8 11 14 -2 2 6 10 14 18 A(1)ans=-1 A(2)ans=-2 A(3)=300A=-1 300 5 8 11 14 -2 2 6 10 14 18 ind=sub2ind(size(A),1,5)ind=9 ind=sub2ind(size(A),2,6)ind=12 A(12)=345A=-1 2 5 8 11 14 -2 2 6 10 14 345 2.矩
21、阵拆分 (1)利用冒号表达式获得子矩阵 A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。目录目录 A=1:2:7;2:2:8;11:2:17;12:2:18A=1 3 5 7 2 4 6 8 11 13 15 17 12 14 16 18 A(:,2)ans=3 4 13 14 A(3,4)ans=17A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。A(2:4,3:4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 MATLAB数据 MATLAB 数据
限制150内