您好,欢迎访问三七文档
第2章MATLAB运算基础(1)MALAB7.X程序设计1/59主要内容:①变量的定义及赋值;②数值数组、字符串数组、元胞数组和构架数组等数据类型;③矩阵运算的定义和规则;④数组运算的定义和规则。第2章MATLAB运算基础(1)MALAB7.X程序设计2/591)矩阵:由m×n个数组成的排成m行n列的一个矩形的数表,其中0×0矩阵为空矩阵([])。数表中第i(1≤i≤m)行第j(1≤j≤n)列的数据称为矩阵元素2)标量:1×1的矩阵,即为只含一个数的矩阵。3)向量:1×n或n×1的矩阵,即只有一行的或者一列的矩阵。只有一行的矩阵称为行向量,只有一列的矩阵称为列向量。数表中第i(1≤i≤n)个数据称为向量元素。4)数组:矩阵的延伸,一般指多维数组,其中标量、向量和矩阵都是数组的特例。2.1概述2.1.1数据术语第2章MATLAB运算基础(1)MALAB7.X程序设计3/592.1.2数据类型•数据类型包括数值型、字符串型、元胞型、构架型等。数值型有单精度型、双精度型和整数型。整数型有uint8,uint16,uint32和uint64等无符号型和int8,int16,int32和int64等符号型整数。•数值型数据可以用带小数点的形式和科学计数法表示,数值的表示范围是10-309~10+309。•-20、1.25、2.88e-56(表示2.88×10-56)、7.68e204(表示7.68×10204)都是合法的数据表示。。•一般在计算时采用双精度型,在输出时有多种数值显示格式可供选择。第2章MATLAB运算基础(1)MALAB7.X程序设计4/59数值显示格式的设置通过format命令,格式如下:•formatshort默认设置,以5位数字形式输出•formatlong以15位十进制数形式输出•formatshorte以5位十进制数加指数形式输出•formatlonge以16位十进制数加指数形式输出•formatshortg从formatshort和formatshorte中自动选择最佳输出形式第2章MATLAB运算基础(1)MALAB7.X程序设计5/59•formatlongg从formatlong和formatlonge中自动选择最佳输出形式•formathex以16位十六进制数形式输出•format+以正号、负号和零形式输出•formatbank以两位小数形式输出•formatrat以近似分数形式输出•formatloose以稀疏格式(变量与执行结果之间有空行)输出•formatcompact以紧凑格式(变量与执行结果之间无空行)输出第2章MATLAB运算基础(1)MALAB7.X程序设计6/592.2变量变量的命名规则为:1变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号。2关键字和函数名不能作为变量名。3变量名不能超过63个字符。4变量名区分字母的大小写,即大小写敏感。大小写是否区分可以通过命令casesenon/off进行切换(如果不区分大小写,为casesenoff,否则为casesenon)。2.2.1变量的命名第2章MATLAB运算基础(1)MALAB7.X程序设计7/592.2.2变量的赋值变量的赋值通常有两种形式:1变量=表达式2表达式•其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个数组。•形式1中,=代表的是赋值操作,将表达式的值赋给MATLAB的变量;形式2中,将表达式的值赋给MATLAB的临时变量ans。第2章MATLAB运算基础(1)MALAB7.X程序设计8/59例2-1在命令窗口输入下述语句,并按回车键执行,分别给变量a、b、c赋值:a=1%a为标量b=[01]%b为行向量c=[12;34;56]%c为矩阵即二维数组第2章MATLAB运算基础(1)MALAB7.X程序设计9/592.2.3特殊变量•epsMATLAB定义的正的极小值2.2204e-16•Realmax最大的正实数1.7977e+308•Realmin最小的正实数2.2251e-308•Pi内建的π值•i,j虚数单位i=j=√-1•Inf∞•NaN无法定义一个数目•Nargin函数输入参数个数•Nargout函数输出参数个数•Flops浮点运算次数第2章MATLAB运算基础(1)MALAB7.X程序设计10/592.2.4内存变量的管理1内存变量的显示与删除1)who用于显示在MATLAB工作空间中已经驻留的变量名清单。2)whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。3)clear删除MATLAB工作空间中的变量。注意,特殊变量不能被删除。第2章MATLAB运算基础(1)MALAB7.X程序设计11/59例2-2查询例2-1中语句执行后工作空间中的变量情况。NameSizeBytesClassa1x18doublearrayb1x216doublearrayc3x248doublearrayGrandtotalis10elementsusing72bytes在命令窗口输入执行结果为:Yourvariablesare:abc在命令窗口输入执行结果为:whowhos第2章MATLAB运算基础(1)MALAB7.X程序设计12/592工作空间浏览器•工作空间浏览器窗口用于显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数,也可以对变量进行观察、编辑、提取和保存。第2章MATLAB运算基础(1)MALAB7.X程序设计13/593内存变量文件利用MAT文件可以把MATLAB工作空间中的一些有用变量长久地保留下来。MAT文件的生成和调入由save和load命令来完成1)save的格式为:save文件名[变量名表][-append][-ascii]功能:把工作空间中的变量存入磁盘。其中变量名表指出需存储的变量,append为数据填加方式,ascii为数据形式。2)load的格式为:load文件名[变量名表][-ascii]功能:磁盘上存储的mat数据文件取回到MATLAB工作空间中。参数含义同save。第2章MATLAB运算基础(1)MALAB7.X程序设计14/59例2-3:例2-1中语句执行后,在命令窗口依次输入下述命令:•save%变量a,b和c保存在matlab.mat•Savemydata1.mat%变量a,b和c保存在mydata1.mat•savemydata2.mata%变量a保存在mydata2.mat•savemydata3.matab%变量a和b保存在mydata3.mat•savemydata4.matabc%变量a,b和c保存在mydata4.mat第2章MATLAB运算基础(1)MALAB7.X程序设计15/592.3数值数组2.3.1数值数组的建立1赋值语句建立数组•矩阵的建立可以通过赋值语句实现,赋值符号左边为变量名,右边为矩阵元素。矩阵元素应用方括号([])括住,元素可以是数值或表达式元素,表达式可以由数字、变量、运算符和函数等组成。•矩阵同行内的元素间用逗号或空格隔开,行与行之间用分号或回车键隔开。第2章MATLAB运算基础(1)MALAB7.X程序设计16/59例2-4在命令窗口输入语句:a=[1,2,3;4,5,6;7,8,9]按回车键,命令就被执行,在MATLAB命令窗中显示以下结果:a=123456789如果在上述输入语句末尾加上分号,则在命令窗口不显示结果。同理可以通过赋值语句建立向量。第2章MATLAB运算基础(1)MALAB7.X程序设计17/59例2-5在命令窗口输入语句:x=[-1.31+2+3sqrt(5)]%sqrt是求平方根函数按回车键,指令被执行,MATLAB命令窗中显示以下结果:x=-1.30006.00002.2361第2章MATLAB运算基础(1)MALAB7.X程序设计18/59例2-6在命令窗口输入下述语句,建立复数数组:b=[1+2*i,2+3*i;2-i,3-2*i]执行结果为:b=1.0000+2.0000i2.0000+3.0000i2.0000-1.0000i3.0000-2.0000i第2章MATLAB运算基础(1)MALAB7.X程序设计19/59elfun函数库中提供一系列复数函数:real复数的实数部分real(b)imag复数的虚数部分imag(b)abs绝对值或模abs(b)angle幅角angle(b)结果为弧度angle(b)*180/pi结果为角度conj共轭conj(b)第2章MATLAB运算基础(1)MALAB7.X程序设计20/592简捷表达式等间隔向量赋值可以通过简捷表达式实现。下面介绍两种为等间隔向量赋值的方法:1)两个冒号组成等增量语句格式:t=初值:增量:终值说明:初值、增量和终值分别表示开始值、步长和结束值。当增量可为负值,省略时则默认为增量为1;当增量省略或增量>0而初值>0时为空向量,当增量<0而初值<终值时也为空向量。第2章MATLAB运算基础(1)MALAB7.X程序设计21/59例2-7简捷表达式建立向量和矩阵•t1=0:0.02:1%产生0≤t1≤1之间的行向量,间隔为0.02•t2=5:-1:2%产生5≤t1≤2之间的行向量,间隔为-1。•t4=2:-1:3%建立空矩阵•t5=[1:2:5;1:3:7]%建立矩阵第2章MATLAB运算基础(1)MALAB7.X程序设计22/592)使用linspace和logspace函数生成向量linspace函数的格式:linspace(a,b,n)功能:生成从a到b之间线性分布的n个元素的行向量。linspace(a,b,n)与a:(b-a)/(n-1):b等价。logspace(a,b,n)功能:生成从10a到10b之间按对数等分的n个元素的行向量。logspace函数的格式:第2章MATLAB运算基础(1)MALAB7.X程序设计23/59例2-8用linspace和logspace函数生成向量t1=linspace(0,2*pi,5)%从0到2*pi等分成5个点linspace(1,8,8)linspace(1,8,1)t2=logspace(0,2,3)%从1到100(即100到102)按对数等分成3个点第2章MATLAB运算基础(1)MALAB7.X程序设计24/593内建函数1)通用特殊矩阵函数库elmat提供的常用的通用特殊矩阵生成函数:•zeros•ones•eye•rand第2章MATLAB运算基础(1)MALAB7.X程序设计25/592)用于专门学科的特殊矩阵(1)魔方矩阵magic(n)(n=3)功能:魔方矩阵的元素由1到n×n的自然数组成,其对角线上的元素为1;每行、每列及对角线上的元素之和均等于(n3+n)/2。魔方矩阵的每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。第2章MATLAB运算基础(1)MALAB7.X程序设计26/59例2-9产生3阶魔方阵。•m=magic(3)%产生3阶魔方阵第2章MATLAB运算基础(1)MALAB7.X程序设计27/59(2)范得蒙矩阵vander(V)•生成以向量V为基础向量的范得蒙矩阵,矩阵元素最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。第2章MATLAB运算基础(1)MALAB7.X程序设计28/59例2-10产生范得蒙矩阵。•v1=vander([1;2;3;5])•v2=vander(1:3)•v3=vander(1:4)第2章MATLAB运算基础(1)MALAB7.X程序设计29/59(3)希尔伯特矩阵•hilb(n)生成n阶的希尔伯特矩阵•invhilb(n)求n阶的希尔伯特矩阵的逆例2-11求4阶希尔伯特矩阵及其逆矩阵。•formatrat%以有理形式输出•H=hilb(4)•invH=invhilb(4)第2章MATLAB运算基础(1)M
本文标题:人工智能AI第章
链接地址:https://www.777doc.com/doc-4100859 .html