1、阅读时:请选择“视图 | 文档结构图”,弹出文档中的标题链接。数学软件MATLAB程序设计与应用第1章 MATLAB系统环境1.1 MATLAB概貌1.2 MATLAB环境的准备1.3 MATLAB操作界面1.4 MATLAB帮助系统自上世纪80年代以来,出现了科学计算语言,亦称数学软件。MATLABMathematicaMathcadMapleLINDOLINGO1.1 MATLAB概貌 p3MATLAB 是 MATrix LABoratory(矩阵实验室) 的缩写。1984年由 Math Works 公司推出,现已成为国际公认的优秀的工程应用开发环境,是影响最大,流行最广的科学计算语言。1
2、.1.1 MATLAB的发展版本编号建造编号发布时间版本编号建造编号发布时间MATLAB 1.01984MATLAB 6.5.1R13SP12003MATALB 21986MATLAB 6.5.2R13SP22003MATLAB 31987MATLAB 7.0R142004MATLAB 3.51990MATLAB 7.0.1R14SP12004MATLAB 41992MATLAB 7.0.4R14SP22005MATLAB 4.2cR71994MATLAB 7.1R14SP32005MATLAB 5.0R81996MATLAB 7.2R2006a2006MATLAB 5.1R91997MATL
3、AB 7.3R2006b2006MATLAB 5.1.1R9.11997MATLAB 7.4R2007a2007MATLAB 5.2R101998MATLAB 7.5R2007b2007.10MATLAB 5.2.1R10.11998MATLAB 7.6R2008a2008.3MATLAB 5.3R111999MATLAB 7.7R2008b2008.10MATLAB 5.3.1R11.11999MATLAB 7.8R2009a2009.3MATLAB 6.0R122000MATLAB 7.9R2009b2009.10MATLAB 6.1R12.12001MATLAB 7.10R2010a20
4、10.3MATLAB 6.5R132002MATLAB 7.11R2010b2010.101. 从MATLAB 4.2c开始,每个版本增加了一个建造编号;2. 例如MATLAB7.6的建造编号是R2008a。说明MATLAB7.6与MATLAB2008a是等同的;3. 对于建造编号,正规化以后,每年出两个版本。一般来说。a是测试版,b是正式版。a是前半年出,b是后半年出。教材采用MATLAB7.0(R14,2004)实验室采用MATLAB 7.8(R2009a,2009.3,汉化)1.1.2 MATLAB的主要功能 p4u 数值计算和符号计算功能u 绘图功能u 语言体系u MATLAB工具箱
5、(1) 数值计算和符号计算功能MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。MATLAB先后和著名的符号计算语言Maple与MuPAD(从MATLAB 2008b开始使用MuPAD)相结合,使得MATLAB具有符号计算功能。 (2) 绘图功能可以绘制二维和三维图形。MATLAB提供了两个层次的绘图操作:l 对图形句柄进行的低层绘图操作;l 建立在低层绘图操作之上的高层绘图操作。(3) 语言体系MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。MATLAB是解释性语言,不能脱离MATLAB环境而独立运行。(4
6、) MATLAB工具箱MATLAB包含两部分内容:基本部分和各种可选的工具箱。MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。基本部分构成MATLAB的核心内容,也是使用和构造工具箱的基础。功能性工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。学科性工具箱Control System Toolbox控制系统工具箱Signal Processing Toolbox信号处理工具箱Neural Network Toolbox神经网络工具箱Optimization Toolbox最优化工具箱Financial Toolbox金融工具箱Statistics Toolbox统
7、计学工具箱开始工具箱MATLAB具备很强的开放性除内部函数外,所有MATLAB基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱。1.1.3 MATLAB功能演示 p5例1.1 绘曲线图绘制函数y=2-|x|和y=sin x的曲线。在命令窗口逐条输入以下命令:x=-2*pi:pi/180:2*pi;plot(x,2.(-abs(x),:,x,sin(x);例1.2 求方程的根求方程2x5-3x3+71x2-9x+13=0的全部根。p=2,0,-3,71,-9,13;x=roots(p)例1.3 解线性方程组法1:调用求逆矩阵函数inv
8、a=2,3,-1;8,2,3;45,3,9; %系数矩阵b=2;4;23; %常数项列向量x=inv(a)*b法2:左除运算a=2,3,-1;8,2,3;45,3,9; %系数矩阵b=2;4;23; %常数项列向量x=ab法3:符号计算syms x y zx,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)例1.4 求积分法1:调用quadquad(x.*log(1+x),0,1)法2:符号计算syms xint(x*log(1+x),0,1)1.2 MATLAB环境的准备 p71.2.1 MATLAB的安装安装MATLAB系统,需运行系
9、统自带的安装程序setup.exe,可以按照安装提示依次操作。1.2.2 MATLAB的启动与退出 p8启动有3种常见方法:(1) 使用Windows“开始”菜单。(2) 运行MATLAB(文件夹)系统启动程序matlab.exe。(3) 利用(桌面)快捷方式。退出也有3种常见方法:(1) 在主窗口File菜单中选择Exit MATLAB。(2) 在命令窗口中键入Exit或Quit命令。(3) 单击主窗口右上角的关闭按钮。1.3 MATLAB操作界面 p91.3.1 主窗口MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。 MATLAB的菜单
10、栏包括6个菜单项: File实现有关文件的操作Edit用于命令窗口的编辑操作Debug用于程序调试Desktop用于设置MATLAB集成环境的显示方式(桌面)Window用于关闭所有打开的编辑器窗口或选择活动窗口Help用于提供帮助信息。 MATLAB的工具栏提供了一些命令按钮和一个当前路径列表框。这些命令按钮有对应的菜单命令,但比菜单命令使用起来更快捷、方便。1.3.2 命令窗口(Command Window)命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。为命令提示符表示MATLAB正在处于准备状态。在命令提示符后键入命令并回车后,MATLAB就会解释执行
11、所输入的命令,并在命令后面给出计算结果。该窗口既可以内嵌在工作界面内,也可以浮动到工作界面之外。(右上角的按钮)一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例p=15, m=35p=15; m=35.为续行符如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上续行符并按下回车键,然后接着下一个物理行继续写命令的其他部分。即把续行符下面的物理行看作该行的逻辑继续。表1.1 命令行编辑中常用的控制及其功能 p10键名功能PgUpPgDnHomeEndDelBackSpaceEsc前
12、寻式调回已输入过的命令后寻式调回已输入过的命令左移光标右移光标前寻式翻滚一页后寻式翻滚一页光标移到行首光标移到行尾删除光标右边字符(删除键)删除光标左边字符(返消键)删除当前行(取消键)1.3.3 工作空间窗口(Workspace) p10工作空间是MATLAB用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有的变量,可对变量进行观察、编辑、保存和删除。1.3.4 当前目录窗口和搜索路径(Cuurent Directory) p11当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。在当前目录窗口中可以显示或改变当前目录,还可以显示
13、当前目录下的文件并提供搜索功能。cd命令:将用户目录设置成当前目录。例 将用户目录e:matlab7work设置为当前目录。在命令窗口输入:cd e:matlab7workMATLAB的搜索路径当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。基本的搜索过程是:(1) 检查该命令是不是一个变量。(2) 检查该命令是不是一个内部函数。(3) 检查该命令是否当前目录下的M文件。(4) 检查该命令是否MATLAB搜索路径中其他目录下的M文件。用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录纳入MATLAB系统统一管理。设置搜索路径的方法有:(1) 用
14、path命令设置搜索路径。例 将用户目录e:matlab7work加到搜索路径下。在命令窗口输入:path(path e:matlab7work)(2) 用对话框设置搜索路径文件设置路径(或在命令窗口执行pathtool命令)将出现搜索路径设置对话框。通过“添加文件夹”或添加包含子文件夹“按钮将指定路径添加到搜索路径列表中。在修改完搜索路径后,则需要保存搜索路径。pathdef.m 保存搜索路径的信息,通过修改该文件也可以修改搜索路径。1.3.5 命令历史窗口(Command History)在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便
15、用户查询。通过双击命令可以再次运行历史命令。要清除这些历史记录,可选择编辑菜单中的Clear Command History命令。 1.3.6 Start菜单 p13在MATLAB主窗口左下角还有一个Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以快速访问MATLAB的各种工具和查阅MATLAB包含的各种资源。 1.4 MATLAB帮助系统 p131.4.1 帮助命令 p14MATLAB帮助命令包括help、lookfor以及模糊查询。1help命令在命令窗口中直接输入:l help显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。l help加函数名 显示该函数的帮
16、助说明。2lookfor命令help命令只搜索出那些关键字完全匹配的结果。lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。(列出的内容很长,可用Ctrl+C终止)3模糊查询用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。1.4.2 帮助窗口 p15进入帮助窗口可通过3种方法:(1) 单击MATLAB主窗口工具栏中的按钮。(2) 在命令窗口中输入helpwin、helpdesk或doc。(3) 选择Help菜单中MATLAB Help命令。1.4.3 演示系统l 在帮助窗口中选择演示系统
17、(Demos)选项卡,然后在其中选择相应的演示模块。l 在命令窗口输入Demos。l 选择主窗口Help菜单中的Demos子菜单,打开演示系统。第2章 MATLAB数据及其运算2.1 MATLAB数据的特点2.2 变量及其操作2.3 MATLAB矩阵的表示2.4 MATLAB数据的运算2.5 字符串2.6 结构数据和单元数据2.1 MATLAB数据的特点 p17矩阵矩阵是MATLAB最基本、最重要的数据对象。MATLAB的大部分运算或命令都是在矩阵(在复数域上)运算的意义下执行的。标量对应仅含一个元素的矩阵。数值数据双精度数,占64位,转换函数double单精度数,占32位,转换函数singl
18、e带符号整数,转换函数int8,int16,int32无符号整数,转换函数uint8,uint16,uint32字符数据,转换函数char结构体类型(Structure)单元类型(Cell)逻辑型,非0为true,0为false2.2 变量及其操作2.2.1 变量与赋值1变量命名变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。变量名区分字母的大小写。MATLAB提供的标准函数名以及命令名必须用小写字母。2赋值语句(1) 变量=表达式 (2) 表达式(值赋给预定义变量ans)其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。例2.1 计算表达式的值 p18将
19、的计算结果赋给变量x,然后显示出结果。x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i)其中pi和i都是MATLAB预先定义的变量,分别代表圆周率和虚数单位。3. 预定义变量 p18表2.1 常用的预定义变量及其含义预定义变量含义ansepspii,jinf,InfNaN,nannarginnargoutrealmaxrealminlasterrlastwar默认赋值变量机器零阈值近似值虚数单位无穷大,如1/0的结果非数,如0/0,inf/inf的结果函数输入参数个数函数输出参数个数最大正实数最小正实数存放最新的错误信息存放最新的警告信息预定义变量有特定的含义,在使用时,应
20、尽量避免对这些变量重新赋值。i=2 %对预定义变量重新赋值2*iclear i%恢复预定义变量2*i2.2.2 变量的管理 p191内存变量的显示与删除显示工作空间中驻留的变量名清单及信息命令:who %显示变量名清单whos %显示变量名清单及信息删除工作空间中的变量命令:clear 变量名工作空间窗口专门用于内存变量的管理。在工作空间窗口中显示所有内存变量的属性。l 当选中某些变量(Ctrl或Shift+单击)后,再单击Delete按钮,就能删除这些变量。l 双击变量后,将进入变量编辑器。通过变量编辑器可以直接观察变量中的具体元素,也可修改变量中的具体元素。l 输入较大矩阵时,可采用变量编
21、辑器。2内存变量文件利用MAT文件可以把当前工作空间中的一些有用变量长久地保留下来,扩展名是.mat。MAT文件的生成和装入由save和load命令来完成。常用格式为:save 文件名变量名表 -append-asciiload 文件名变量名表 -asciil 文件名可以带路径,但不需带扩展名.mat,命令默认对.mat文件进行操作。l 变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔。当变量名表省略时,保存或装入全部变量。l -ascii选项使文件以ASCII格式处理,省略该选项时文件将以二进制格式处理。l -append选项控制将变量追加到MAT文件中。2.2.3
22、数据的输出格式 p20用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。在一般情况下,内部每一个数据元素都是用双精度数来表示和存储的。数据输出时可用format命令设置或改变数据输出格式。format命令的格式为: format 格式符其中格式符决定数据的输出格式表2.2 控制数据输出格式格式符及其含义格式符含义short(默认)小数点后4位,不超过7位有效数字。大于1000的实数用5位有效数字的科学记数法long15位有效数字short e5位有效数字科学记数法long e15位有效数字科学记数法short g从short和short e选择最佳方式long g从long
23、和long e选择最佳方式rat近似有理数表示hex十六进制表示+正数、负数、零分别用+、-、空格表示bank银行格式,元、角、分表示compact输出变量之间无空行loose输出变量之间有空行例4/3%当前输出格式format long%15位有效数字形式输出4/3format rat%近似有理数表示4/3format compact%输出变量之间没有空行4/3format loose%输出变量之间有空行4/3format short%short为默认输出格式2.3 矩阵的表示 p21表 矩阵操作函数及其含义函数名含义eyeoneslinspacesub2indind2subsizeleng
24、threshapeend 单位矩阵全1矩阵生成行向量下标转换成序号序号转换成下标给出矩阵的行数和列数给出矩阵行数和列数中较大者矩阵重排预定义变量,某一维末尾下标空矩阵2.3.1 矩阵的建立1. 直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。(可用回车代替分号)例A=1,2,3;4 5 6;7,8 92. 利用M文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。例2.2 利用M文件建立矩阵(1) 启动MATLAB文本编辑器,输入:MY
25、MAT=101,102,103,104,105;201,202,203,204,205;301,302,303,304,305(2) 存盘(文件名为mymatrix.m)。(3) 在命令窗口中输入mymatrix,即运行该M文件,就建立一个名为MYMAT的矩阵。3. 建立大矩阵(矩阵拼接)大矩阵可由方括号中的小矩阵或向量建立。A=1,2,3;4,5,6;7,8,9;C=A,eye(3),ones(3),Aeye(3)为3阶单位矩阵ones(3)为3阶全1矩阵2.3.2 冒号表达式用冒号表达式产生行向量,一般格式:e1:e2:e3其中e1为初始值,e2为步长,e3为终止值。用linspace函数
26、产生行向量。调用格式:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。2.3.3 矩阵的拆分1矩阵元素通过下标引用矩阵的元素,例如A=1,2,3;4,5,6A(2,3)A(2,2)=22;AA(4,5)=10;A采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。A=1,2,3;4,5,6;A(3)序号(Index)与下标(Subscript )是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和i
27、nd2sub函数求得clcA=ones(3,4)size(A)%给出矩阵的行数和列数sub2ind(size(A),1,2)i,j=ind2sub(size(A),3)length(A)%给出矩阵行数和列数中较大者reshape(A,m,n)在矩阵总元素保持不变的前提下,将矩阵重新排成mn矩阵。x=1,2,3,4,5,6,7,8,9,10,11,12y=reshape(x,3,4)z=reshape(y,2,7) %出错2. 矩阵拆分(1) 利用冒号表达式获得子矩阵A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素;A
28、(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(:)将矩阵A每一列元素堆叠起来,成为一个列向量。end表示某一维的末尾元素下标。A(end,:)A(:,end)(2) 利用空矩阵删除矩阵的元素给变量X赋空矩阵的语句:X= 注意,X=与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。2.4 MATLAB数据的运算 p262.4.1 算术运算1基本算术运算MATLAB的基本算术运算有:加减*乘/右除左
29、除乘方注意,运算是在矩阵意义下进行的。(1) 矩阵加减运算假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:l 若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。l 若A与B的维数不相同,将给出错误信息,提示用户两个矩阵的维数不匹配。(2) 矩阵乘法 若A为mn矩阵,B为np矩阵,则C=A*B为mp矩阵。(3) 矩阵除法有两种矩阵除法运算:左除/右除如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于inv(A)*BB/A等效于B*inv(A)对于含有标量的运算,两种除法运算的结果相同。如 3/4和43有相同的值,都等于0.75。
30、又如 设a=10.5,25,则a/5=5a=2.1000 5.0000。对于矩阵运算,一般ABB/A。(4) 矩阵的乘方一个矩阵的乘方运算可以表示成Ax要求A为方阵,x为标量。2点运算有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*点乘./点右除.点左除.点乘方两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维数相同。3. MATLAB常用数学函数 p29l 函数的自变量规定为矩阵变量。l 运算法则是将函数逐项作用于矩阵的元素上。l 结果是一个与自变量同维数的矩阵。表2.3 常用数学函数及其含义 p29函数名含义三角函数sqrtloglog10
31、log2exppow2absanglerealimagconjremmodfixfloorceilroundsigngcdlcm略平方根函数自然对数函数常用对数函数以2为底的对数函数自然指数函数2的幂绝对值函数复数的幅角复数的实部复数的虚部复数共轭运算求余数或模运算模运算向零方向取整不大于自变量的最大整数不小于自变量的最小整数四舍五入到最邻近的整数符号函数最大公因子最小公倍数函数使用说明:(1) 三角函数以弧度为单位计算。(2) abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。abs(-10)abs(2+3i)abs(abc)(3) 用于取整的函数有fix向0方向取整floor
32、向-方向取整ceil向+方向取整round四舍五入到最邻近的整数(4) rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。rem求余数或模运算mod模运算l 当y0时rem(x,y)=x-y.*fix(x./y)mod(x,y)=x-y.*floor(x./y)l 当y=0时rem(x,0)=NaN(非数)mod(x,0)=x2.4.2 关系运算 p306种关系运算符:小于大于=大于或等于=等于=不等于运算法则:(1) 两个标量的比较若关系成立,结果为1,否则为0。(2) 两个同维数矩阵的比较对相同位置的元素比较。(3) 标量与矩阵的比较标量与矩阵的每一个元素比较。例
33、2.3 建立5阶方阵,判断A的元素是否能被3整除。A=24,35,13,22,63;23,39,47,80,80;.90,41,80,29,10;45,57,85,62,21;.37,19,31,88,76P=rem(A,3)=0%判断元素是否被3整除2.4.3 逻辑运算 p31逻辑运算符:&与|或非运算法则:(1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。(2) a和b是两个标量l a&b a,b全为非零时,结果为1,否则为0。l a|b a,b中只要有一个非零,结果为1,否则为0。l a 当a是零时,结果为1;当a非零时,结果为0。(3) 两个运算量是同维矩阵相同位
34、置上的元素按标量规则逐个进行。(4) 一个是标量,另一个是矩阵标量与矩阵中的每个元素之间按标量规则逐个进行。(5) 逻辑非是单目运算符,也服从矩阵运算规则。(6) 在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。例2.4 在0, 3区间,求y=sinx的值。要求: 消去负半波,即(, 2)内的函数值置0。 和内取均值为。%方法1x=0:pi/100:3*pi;y=sin(x);y1=(x2*pi).*y;%消去负半波q=(xpi/3 & x7*pi/3 & x=0).*y;%消去负半波p=sin(pi/3);y2=(y=p)*p+(y=10 & A=a & ch=z) %找小
35、写字母的位置ch(k)= A+(ch(k)-a) %小写字母变成大写chchar(ch) %ASCII码矩阵转换为字符矩阵length(k) %统计小写字母的个数char(0:29;30:59;60:89;90:119;120:149)函数eval,其调用格式为:eval(t)其中t为字符串。作用:把字符串的内容作为对应的MATLAB语句来执行。表2.5 字符串处理函数及其含义函数名含义setstrcharmat2strnum2strint2strstr2numstrcatstrcmpabs将ASCII码值转换成字符同上,将代替setstr将矩阵转换成字符串将数值转换成字符串将整数转换成字符串
36、将字符串转换成数值用于字符串的连接用于字符串的比较将字符转换成ASCII码(1) 若字符串中含有单撇号,则该撇号用两个单撇号表示。(2) 某些情况下用字符串向量表示,即用 括起来。disp(Im a teacher.)f=70;c=(f-32)/1.8;disp(Room temperature is ,.num2str(c),degrees C.)2.6 结构数据和单元数据 p342.6.1 结构数据1结构矩阵的建立与引用结构矩阵的元素可以是不同的数据类型,它能将一组具有不同属性的数据纳入到一个统一的变量名下进行管理。建立一个结构矩阵可采用给结构成员赋值的办法。格式为:结构矩阵名.成员名=表
37、达式其中表达式应理解为矩阵表达式。例 建立含有3个元素的结构矩阵a(1).x1=10; a(1).x2=liu; a(1).x3=11,21;34,78;a(2).x1=12; a(2).x2=wang; a(2).x3=34,191;27,578;a(3).x1=14; a(3).x2=cai; a(3).x3=13,890;67,231;a(2).x3%引用矩阵元素a(2)的成员x3a(2)%引用矩阵元素a(2)a%引用结构矩阵a2结构成员的修改 p35可以根据需要增加或删除结构的成员。给a中任意一个元素增加成员x4:a(1).x4=410075;但其他成员均为空矩阵,可以使用赋值语句给它
38、赋确定的值。用rmfield函数删除结构的成员。a=rmfield(a,x4);3关于结构的函数表2.6 结构的函数及其含义 p36函数名含义structgetfieldrmfieldisstructfieldnamessetfieldisfield建立或转换为结构矩阵获取结构成员的内容删除结构成员是结构时,值为真获取结构成员名设定结构成员的内容成员在结构中时,值为真2.6.2 单元数据 p36单元矩阵的各个元素是不同类型的数据,用带有大括号下标的形式引用单元矩阵元素。1单元矩阵的建立与引用建立单元矩阵和一般矩阵相似,只是矩阵元素用大括号括起来。例 建立单元矩阵。b=10,liu, 11,21
39、;34,78;.12,wang,34,191;27,578;.14,cai,13,890;67,231; bb3,3b3,3=10;b3,3bb(4)%第4个元素b42关于单元的函数表2.7 单元的函数及其含义 p37函数名含义celldispnum2cellcell2structiscellcellplotdealstruct2cell显示单元矩阵内容把数字矩阵转换为单元矩阵把单元矩阵转换为结构矩阵是单元矩阵时,值为真显示单元矩阵的图形描述把输入分配给输出把结构矩阵转换为单元矩阵第3章 MATLAB矩阵分析与处理3.1 特殊矩阵3.2 矩阵结构变换3.3 矩阵求逆与线性方程组求解3.4 矩阵求值3.5 矩阵的特征值与特征向量3.6 矩阵的超越函数3.1 特殊矩阵 p393.1.1 通用的特殊矩阵表 产生通用特殊矩阵的函数及其含义 p39函数名含义zeros产生全0矩阵(零矩阵)ones产生全1矩阵(幺矩阵)eye产生单位矩阵rand产生01间均匀分布的随机矩阵randn产生均值为0,方差为1的标准正态分布随机矩阵例3.1 分别