首页 MATLAB_7课件

MATLAB_7课件

举报
开通vip

MATLAB_7课件nullMATLAB 7课件 MATLAB 7课件 第一章 MATLAB 7简介 第二章 MATLAB 7的安装和用户界面 第三章 基本使用方法 第四章 数值向量和数组 第五章 字符串、单元数组和结构 第六章 数值计算功能 第七章 符 号 运 算 第八章 图 形 处 理 第九章 GUI图形设计 第十章 MATLAB 7程序设计第一章 MATLAB 7简介 第一章 MATLAB 7简介 教学目标 教学重点 教学过程 教学目标教学目标 本章主要介绍MATLAB...

MATLAB_7课件
nullMATLAB 7 课件 超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载 MATLAB 7课件 第一章 MATLAB 7简介 第二章 MATLAB 7的安装和用户界面 第三章 基本使用方法 第四章 数值向量和数组 第五章 字符串、单元数组和结构 第六章 数值计算功能 第七章 符 号 运 算 第八章 图 形 处 理 第九章 GUI图形设计 第十章 MATLAB 7程序设计第一章 MATLAB 7简介 第一章 MATLAB 7简介 教学目标 教学重点 教学过程 教学目标教学目标 本章主要介绍MATLAB的一些基本情况,让大家对该软件有一个整体的认识。它主要包括MATLAB的功能、发展历史以及MATLAB 7的新特点等,由于MATLAB软件在不断地更新,所以,也要介绍获取MATLAB 7最新信息的途径。教学重点教学重点 了解MATLAB语言的基本功能和特点 了解MATLAB 7的新特点和新功能 教学过程教学过程 MATLAB的初步知识 MATLAB的优点 MATLAB的缺点 MATLAB 7的新功能 MATLAB的初步知识MATLAB的初步知识MATLAB最初是由Cleve Moler用Fortran语言设计的,有关矩阵的算法来自Linpack和Eispack课题的研究成果;现在的MATLAB程序是MathWorks公司用 C语言开发的。 MATLAB作为美国 MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。是目前最好的科学计算类软件。 MATLAB的主要应用领域MATLAB的主要应用领域(1)数值分析。 (2)数值和符号计算。 (3)工程与科学绘图。 (4)控制系统的设计与方针。 (5)数字图像处理。 (6)数字信号处理。 (7)通讯系统设计与仿真。 (8)财务与金融工程。MATLAB的优点MATLAB的优点1. 容易使用 2. 可以由多种操作系统支持 3. 丰富的内部函数 4. 强大的图形和符号功能 5. 可以自动选择算法 6. 与其他软件和语言有良好的对接性 MATLAB的缺点 MATLAB的缺点 运行效率较低 由于MATLAB是一种合成语言,因此,与一般的高级语言相比,用MATLAB编写的程序运行起来时间往往要长一些。 价格比较贵 一般的用户可能支付不起它的高昂费用。但是,购买MATLAB的昂贵费用在很大程度上可以由使用它所编写的程序的价值抵消。MATLAB 7的新功能MATLAB 7的新功能提供了MATLAB、SIMULINK的升级以及其他最新的75个模块的升级 该版本不仅提高了产品质量,同时也提供了最新的用于数据分析、大规模建模、固定点开发和编码等新特征。第二章 MATLAB 7的安装和 用户界面第二章 MATLAB 7的安装和 用户界面 教学目标 教学重点 教学过程 教学目标教学目标 本章主要介绍MATLAB 7的安装和用户界面,通过对本章的学习,用户将学会MATLAB软件的安装过程并对用户界面有一个直观的认识教学重点教学重点初步认识MATLAB 7的用户界面 掌握MATLAB 7的路径搜索 教学过程教学过程 MATLAB 7的安装过程 MATLAB 7用户界面概述 MATLAB 7的路径搜索 MATLAB 7的安装 过程MATLAB 7的安装 过程用户在购买到正版MATLAB 7后,可以按照相关的说明进行安装,安装过程相对比较简单。这里不在赘述。安装MATLAB 7必须具有由Mathworks公司提供的合法个人使用许可,如果没有使用许可,用户将无法安装MATLAB。MATLAB 7用户界面概述MATLAB 7用户界面概述MATLAB 7的用户界面主要包括以下三个方面的内容: MATLAB 7的主菜单 MATLAB 7的工具栏 MATLAB 7的窗口 1. MATLAB 7的主菜单 1. MATLAB 7的主菜单 MATLAB 7的主菜单包括File、Edit、Debug、Desktop、Window和Help菜单。 可以执行的操作有New、Open、Undo、Redo、Cut、copy和Step等。2. MATLAB 7的工具栏 2. MATLAB 7的工具栏 MATLAB 7的工具栏包括新建文件、打开文件、剪切、复制和粘贴等常用图标 同时,MATLAB 7的工具栏适时显示MATLAB 7的当前路径,用户还可以通过工具栏来改变当前路径 3. MATLAB 7的窗口 3. MATLAB 7的窗口 打开MATLAB 7,默认打开的窗口包括: (1)命令窗口(Command Window); (2)命令历史窗口(Command History); (3)工作间管理窗口(Workspace); (4)当前路径窗口(Current Directory) 此外,还有编译窗口、图形窗口和帮助窗口等其他种类的窗口 。(1) 命令窗口(1) 命令窗口在默认设置下,命令窗口自动显示于MATLAB界面中,如果用户只想调出命令窗口,也可以选择Desktop | Desktop Layout | Command Window Only命令。MATLAB 7用户界面的右侧窗口就为命令窗口。(2) 命令历史窗口 (2) 命令历史窗口 命令历史窗口显示用户在命令窗口中所输入的每条命令的历史记录,并标明使用时间,这样可以方便用户的查询。 如果用户想再次执行某条已经执行过的命令,只需在命令历史窗口中双击该命令。 (3) 工作间管理窗口 (3) 工作间管理窗口 工作间管理窗口就是用来显示当前计算机内存中MATLAB变量的名称、数学结构、该变量的字节数及其类型。 在默认设置下,工作间管理窗口自动显示于MATLAB界面中。 (4)当前路径窗口 (4)当前路径窗口 在默认设置下,当前路径窗口自动显示于MATLAB界面中,用户也可以选择Desktop| Current Directory命令调出或隐藏该命令窗口。 当前路径窗口显示着当前用户工作所在的路径 MATLAB 7的路径搜索 MATLAB 7的路径搜索 MATLAB 7有一个专门用于寻找“.m”文件的路径搜索器。“.m”文件是以目录和文件夹的方式分布于文件系统中的,一部分“.m”文件的目录是MATLAB 7的子目录,由于MATLAB 7的一切操作都是在它的搜索路径(包括当前路径中进行的,所以如果调用的函数在搜索路径之外,MATLAB 7就会认为此函数并不存在。 MATLAB 7的路径搜索MATLAB 7的路径搜索(1)MATLAB 7的当前目录 在命令窗口中输入cd命令,并按Enter键确认,即显示有当前MATLAB 7工作所在目录。 >> cd C:\MATLAB71\work >> MATLAB 7的路径搜索MATLAB 7的路径搜索(2)MATLAB 7的路径搜索 选择MATLAB的主窗口中File | Set Path命令 ,进入到设置路径搜索的对话框 ,用户可以设置新的路径 使用帮助系统使用帮助系统  MATLAB 7.0为用户提供了非常完善的帮助系统,例MATLAB 的在线帮助、帮助窗口、帮助提示、HTML格式的帮助、pdf格式的帮助文件及MATLAB 的示例和演示等。第三章 基本使用方法第三章 基本使用方法 教学目标 教学重点 教学过程 教学目标教学目标 MATLAB 7的优点不仅在于强大的功能,还在于其简单易学。 本章主要是介绍MATLAB 7的基本使用方法。 用户在学习完本章的内容后,可以进行基本的数值运算,从而能够容易地解决许多在学习和科研中遇到的计算问题 。 教学重点教学重点标点符号的使用 常用的操作命令和键盘技巧 MATLAB 7的数据类型 常量和变量的使用方法 浮点数和复数的使用方法教学过程教学过程简单的数学运算 常用的操作命令和键盘技巧 MATLAB 7的数据类型 1.简单的数学运算 1.简单的数学运算 最简单的计算器使用法 标点符号的使用 常用的操作命令和键盘技巧 (1)最简单的计算器使用法 (1)最简单的计算器使用法 直接输入法 >> 3*30+3*35+4*30+4*32 ans = 443 >> 存储变量法 >> grade1=3*30 grade1 = 90 >> grade2=3*35 grade2 = 105 >> total=grade1+grade2total = 195 >> 数值运算符号(2)常用标点符号(2)常用标点符号应用举例应用举例例4-1 清华大学土木系 一年级 小学一年级数学20以内加减练习题小学一年级数学20以内练习题小学一年级上册语文教学计划人教版一年级上册语文教学计划新人教版一年级上册语文教学计划 有3个班,每班30人,二年级有3个班,每班35人,三年级有4个班,每班30人,四年级有4个班,每班32人。求清华大学土木系本科一共有多少人。 >> grade1=3*30; >> grade2=3*35; >> grade3=4*30; >> grade4=4*32; >> total=grade1+grade2+ grade1+grade2 total = 443 >>2.常用的操作命令和键盘技巧 2.常用的操作命令和键盘技巧 在使用MATLAB 7语言编制程序时,掌握一些常用的操作命令和键盘操作技巧,可以起到事半功倍的效果 。(1)常用的操作命令 (1)常用的操作命令 (2)常用的键盘操作和快捷键 (2)常用的键盘操作和快捷键 3.MATLAB 7的数据类型 3.MATLAB 7的数据类型 常量和变量 常量 变量 浮点数和复数 浮点数 复数 (1)常量(1)常量在MATLAB中有一些特定的变量,它们已经被预定义了某个特定的值,因此这些变量被称为常量。MATLAB 7中的常量主要有pi、inf和eps等。(2)变量(2)变量变量是MATLAB 7的基本元素之一,MATLAB 7语言不 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 对所使用的变量进行事先说明,而且它也不需要指定变量的类型,系统会根据该变量被赋予的值或对该变量所进行的操作来自动确定变量的类型。 变量名长度不超过31位,超过31位的字符系统将忽略不计 变量名区分大小写 变量名必须以字母开头,变量名中可以包含字母、数字或下划线,但不允许出现标点符号(3)浮点数(3)浮点数几乎在所有的情况下,MATLAB 7的数据都是以双精度数值来表示的,这些双精度数在系统内部用二进制来表示。这是计算机通常的表示数据的方式,但也带来了一些问题,比如有很多实数不能被精确地表示,对能够表示的值也有一个限制,并且还存在一个浮点相对误差限。所谓相对误差限是指MATLAB 7语言能够区分两个不同大小的数时,这两个数之间的最小差值。浮点数举例浮点数举例下边3个式子的计算结果是相同的,但是由于这些数字都是使用二进制存储的,在使用双精度数来表达这些数时,往往就会出现一些误差 >> a=0.33-0.5+0.17 a = 2.7756e-017 >> b=0.33+0.17-0.5 b = 0 >> c=0.17-0.5+0.33 c = 5.5511e-017 >>(4)复数(4)复数MATLAB 7语言对复数的处理也是十分简便的,在处理复数问题时,不需要进行其他任何的附加操作。 >> a2=pi+3.14j a2 = 3.1416 + 3.1400i >> >> b=4*(1+3/sqrt(-1)) b = 4.0000 -12.0000i >> 复数的数学运算 举例复数的数学运算 举例>> a=1+2*i a = 1.0000 + 2.0000i >> b=3-4i b = 3.0000 - 4.0000i >> c=pi+sin(pi/2)*i c = 3.1416 + 1.0000i >> d=a+b d = 4.0000 - 2.0000i第四章 数值向量和数组第四章 数值向量和数组 教学目标 教学重点 教学过程 教学目标教学目标本章将介绍MATLAB 7的数值计算功能,包括MATLAB 7的向量和数组,并介绍它们之间的运算。 通过对本章的学习,读者可以编写简单且功能完善的MATLAB 7程序,从而解决各类基本问题,用户可以通过本章逐步掌握MATLAB 7的数值计算方法。教学重点教学重点向量的运算方法 关系和逻辑运算教学过程教学过程向量及其运算方法 数组及其运算方法 多项式的创建和运算方法 关系和逻辑运算 1.向量及其运算 1.向量及其运算 在命令窗口中直接输入向量 等差元素向量的生成 向量与数的四则运算 向量与向量之间的加减运算 点积、叉积和混合积(1)在命令窗口中直接输入向量(1)在命令窗口中直接输入向量在MATLAB 7中,生成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式要求是,向量元素用“[ ]”括起来,元素之间用空格、逗号或者分号相隔。需要注意的是,用它们相隔生成的向量形式是不相同的:用空格或逗号生成行向量;用分号生成列向量。>> a2=[15,21,27,93,101]; >> a1=[15;21;27;93;101]; >> a1 a1 = 15 21 27 93 101 >> a2 a2 = 15 21 27 93 101 >> (2)等差元素向量的生成 (2)等差元素向量的生成 当向量的元素过多,同时向量各元素有等差的规律,此时采用直接输入法将过于繁琐。针对该种情况 ,可以使用冒号(:) 和linspace函数来生成等差元素向量。>> vec1=10:5:60 vec1 = 10 15 20 25 30 35 40 45 50 55 60 >> vec2=linspace (10,60,11) vec2 = 10 15 20 25 30 35 40 45 50 55 60(3) 向量与数的四则运算 (3) 向量与数的四则运算 向量与数的加法(减法):向量中的每个元素与数的加法(减法)运算。 向量与数的乘法(除法):向量中的每个元素与数的乘法(除法)运算。 >> vec1=80:-9:10 vec1 = 80 71 62 53 44 35 26 17 >> vec1+101 ans = 181 172 163 154 145 136 127 118 >>(4)向量与向量之间的加减运算 (4)向量与向量之间的加减运算 向量与向量的加法(减法)运算:向量中的每个元素与另一个向量中相对应的元素的加法(减法)运算。 >> vec1=linspace(200,500,7) >> vec2=linspace(900,600,7) >> vec3=vec1+vec2 vec3 = Columns 1 through 5 1100 1100 1100 1100 1100 Columns 6 through 7 1100 1100 >>(5) 点积、叉积和混合积 (5) 点积、叉积和混合积 两个向量的点积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积 叉积的几何意义是指过两个相交向量的交点,并与此两向量所在平面垂直的向量 向量的混合积的几何意义是它的绝对值表示以向量为棱的平行六面体的体积 点积、叉积运算举例点积、叉积运算举例点积 运算 >> x1=[11 22 33 44] >> x2=[1,2,3,4] >> a=dot(x1,x2) a = 330 >> sum(x1.*x2) ans = 330 >>叉积运算 >> x1=[11 22 33] x1 = 11 22 33 >> x2=[1 2 3] x2 = 1 2 3 >> x3=cross(x1,x2) x3 = 0 0 02. 数组及其运算 2. 数组及其运算 数组寻址和排序 数组的基本数值运算 数组的关系运算 数组的逻辑运算 (1) 数组寻址和排序 (1) 数组寻址和排序 通过对数组下表的访问来实现数组寻址 >> A=rand(1,5) A = 0.9501 0.2311 0.6068 0.4860 0.8913 >> >> A(4) ans = 0.4860 >> >> A(2:3) ans = 0.2311 0.6068使用sort函数对数组进行排序 >> X = [3 7 5 0 4 2] >> sort(X,1) ans = 0 4 2 3 7 5 >> sort(2) ans = 2(2)数组的基本数值运算 (2)数组的基本数值运算 数组的加法(减法) 数组的乘法(除法) 数组的乘方 数值运算举例数值运算举例加减法 >> X=[1 4 7]; >> Y=[2 5 8]; >> Z=X-Y Z = -1 -1 -1 >> V=X+Y V = 3 9 15 >>乘方 >> X=[1 4 7] X = 1 4 7 >> Y=[2 5 8] Y = 2 5 8 >> Z=X.^Y Z = 1 1024 5764801(3)数组的关系运算 (3)数组的关系运算 两个数通常可以用6种关系来进行描述:小于(<)、小于等于(< =)、大于(>)、大于等于(> =)、等于(= =)和不等于(~ =) 比较两个元素的大小时,如果结果为1,则表明关系式为真;如果结果为0,则表明关系式为假。例如关系式4+3<=6(数学语言表示4与3的和小于等于6),通过上面的叙述可知,此关系式的结果为0,标明关系式为假。 (4)数组的逻辑运算 (4)数组的逻辑运算 在各种逻辑运算中,有3种逻辑运算:与(&)、或(|)和非(~)。“&”和“|”操作符号可以比较两个标量或者两个通解数组(或矩阵);对于逻辑非“~”是一个一元操作符。但是对于数组(矩阵),逻辑运算是针对于数组(矩阵)中的每一个元素。同样,当逻辑为真时,返回值为1;当逻辑为假时,返回值为0。 在MATLAB 7中,逻辑运算通常可以用来生成只含有元素0和1的矩阵。3. 多项式3. 多项式 多项式的创建 多项式的运算 关系和逻辑运算 (1)多项式的创建(1)多项式的创建直接输入系数向量创建多项式 特征多项式输入法 由多项式的根逆推多项式 直接输入系数向量创建多项式直接输入系数向量创建多项式由于在MATLAB 7中多项式是以向量的形式存储的,直接输入向量,MATLAB 7将按降幂自动把向量的元素分配给多项式各项的系数。而该向量可以是行向量,也可以是列向量 。>> P=[3 5 0 1 0 12] P = 3 5 0 1 0 12 >> y=poly2sym(P) y = 3*x^5+5*x^4+x^2+12 >> disp(y) 3*x^5+5*x^4+x^2+12 >> 特征多项式输入法特征多项式输入法MATLAB 7提供了poly函数,使用它可以由矩阵的特征多项式创建多项式。使用该方法生成多项式时,其首项的系数必为1 。>> A=[ 3 1 4 1; 5 9 2 6;5 3 5 8; 9 7 9 3] A = 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 >> p=poly(A); >> disp(poly2sym(p)) x^4-20*x^3-16*x^2+480*x+1724034232352773/17592186044416 由多项式的根逆推多项式 由多项式的根逆推多项式 如果已知某个多项式的根,那么,使用poly函数,可以很轻松地产生其对应的多项式。 >> roots=[-4 -2+2i -2-2i 5] roots = -4.0000 -2.0000 + 2.0000i -2.0000 - 2.0000i 5.0000 >> p=poly(roots) p = 1 3 -16 -88 -160 >> disp(poly2sym(p)) x^4+3*x^3-16*x^2-88*x-160 >>(2)多项式的运算 (2)多项式的运算 多项式的求值 求多项式的根 多项式的四则运算 多项式的求值多项式的求值MATLAB 7提供了两个函数来对多项式进行求值,即polyval和polyvalm。前者以数组为计算单位,后者以矩阵为计算单位。 >> p=[1.0000 -20.0000 -16.0000 480.0000 98.0000] p = 1 -20 -16 480 98 >> x=4 x = 4 >> polyval(p,x) ans = 738求多项式的根求多项式的根在MATLAB 7语言里,多项式由一个行向量表示,设为p,它的系数按降序排列,使用roots函数可以求出该多项式的根。其使用格式为roots(p)。 >> p=[1 0 3 12 -7] p = 1 0 3 12 -7 >> roots(p) ans = 0.7876 + 2.4351i 0.7876 - 2.4351i -2.0872 0.5121 >>多项式的四则运算多项式的四则运算 加法和减法 如果两个多项式的向量阶数相同, 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的数组加法有效。当两个多项式的向量阶数不同时,需要在低阶多项式的前边补0,使得它与相加的高阶多项式有相同的阶数。 >> a=[8 2 2 8],b=[6 1 6 1] a = 8 2 2 8 b = 6 1 6 1 >> c=a+b c = 14 3 8 9 >> Y3=poly2sym(c) Y3 = 14*x^3+3*x^2+8*x+9多项式的四则运算多项式的四则运算乘法 使用conv函数对多项式进行乘法运算。 格式为c=conv(a,b),其中a和b为两个多项式的系数向量,c为相乘所生成的多项式的系数向量。>> a=[1 2 3 4],b=[5 6 7 8]; >> Y1=poly2sym(a) Y1 = x^3+2*x^2+3*x+4 >> Y2=poly2sym(b) Y2 = 5*x^3+6*x^2+7*x+8 >> c=conv(a,b); >> Y=poly2sym(c) Y = 5*x^6+16*x^5+34*x^4+60*x^3+61*x^2+52*x+32多项式的四则运算多项式的四则运算除法 在数值计算中,经常需要用一个多项式去除另一个多项式。在MATLAB 7语言中,使用decon函数来完成该项功能。>> a=[1 2 3 4],b=[5 6 7 8]; >> c=conv(a,b); >> d=deconv(c,a); >> e=deconv(c,b) >> x=poly2sym(d),y=poly2sym(e) x = 5*x^3+6*x^2+7*x+8 y = x^3+2*x^2+3*x+4 >> 多项式的四则运算多项式的四则运算求导和积分 在MATLAB 7语言中,分别使用polyder函数和polyint函数来求多项式的导数与积分。 >> p=[3 1 8 8] p = 3 1 8 8 >> q=polyder(p) q = 9 2 8 >> p1=polyint(q) p1 = 3 1 8 0 >>4.关系和逻辑运算 4.关系和逻辑运算 关系操作符 逻辑操作符 关系与逻辑函数 NaNs和空矩阵 各种运算符的优先级 (1) 关系操作符 (1) 关系操作符 关系操作符及其功能 (2) 逻辑操作符(2) 逻辑操作符逻辑操作符及其功能 (3) 关系与逻辑函数 (3) 关系与逻辑函数 关系与逻辑函数及其功能 (4) NaNs和空矩阵(4) NaNs和空矩阵NaNs和空矩阵([ ]) 在MATLAB 7中作特殊处理: 根据IEEE数学标准。对NaNs的几乎所有运算结果都得出NaNs。 空矩阵由MATLAB 7的生成器确定,并有它自己的特性。空矩阵是简单的,它们是MATLAB 7大小为零的变量 。>> a=size([]) a = 0 0 >> b=ones(4,0) b = Empty matrix: 4-by-0 >> size(b) ans = 4 0 >> length(b) ans = 0 >> 各种运算符的优先级 各种运算符的优先级 第五章 字符串、单元数组和结构第五章 字符串、单元数组和结构 教学目标 教学重点 教学过程 教学目标教学目标 本章将介绍三种特殊的数据类型,即字符串、单元数组和结构。 使用这三种数据类型,相关的数据可以通过一个单元数组或是结构进行组织和访问,数据的管理就变得要容易一些。 教学重点教学重点字符串的设定和操作 单元数组的操作 结构型变量的操作教学过程教学过程字符串的设定 字符串的各种操作 单元数组的生成方法 单元数组的操作 结构型变量的生成方法 结构型变量的操作1. 字符串的设定1. 字符串的设定在MATLAB 7中的字符串一般是ASCII值的数值数组,它作为字符串表达式进行显示。MATLAB 7对字符串的设定非常简单,只需用单引号(’)将需设定的字符串引注即可。>> str='I have many good friends!' str = I have many good friends! >> whos Name Size Bytes Class EXPLODE 1x5 40 double array F1 1x12 24 char array F2 1x12 24 char array2. 字符串的操作 2. 字符串的操作 字符串元素的读取 字符串的基本变换 字符串的运算 (1)字符串元素的读取(1)字符串元素的读取字符串元素的读取 利用数组操作工具进行读取 使用disp函数显示字符串 >> str='今天,是2005年10月25日, 我们班一起去上海旅游。' str = 今天,是2005年10月25日, 我们班一起去上海旅游。 >> str(6) ans = 0(2)字符串的基本变换(2)字符串的基本变换基本变换的种类 字符串的ASCII码操作 使用char函数进行逆变换 字符串的执行 >> for n = 2:3 eval(['M' num2str(n) ' = magic(n)']) end M2 = 1 3 4 2 M3 = 8 1 6 3 5 7 4 9 2常见字符串的操作 常见字符串的操作 (3)字符串的运算(3)字符串的运算字符串的运算主要是指判断字符串是否相等,通过字符的运算来比较字符,字符串中字符的分类、查找与替换、字符串与数值的转换和数组与字符串的转换等。 判断字符串是否相等 判断字符串是否相等 有两个函数可以用来判断两个输入的字符串是否相等。 strcmp函数:比较两个字符串是否相等,当相等时,系统将返回值1,不相等时,返回值0; strncmp函数:比较两个输入字符串的前几个字符是否相等,当相等时,系统将返回值1,不相等时,返回值0。 >> words1=‘人民文学'; >> words2=‘人民的同志'; >> N=strcmp(words1,words2) N = 0 >> Y=strncmp(words1,words2,3) Y = 0 >> x=strncmp(words1,words2,1) x = 1 >> 通过字符的运算比较字符 通过字符的运算比较字符 运算符号的意义字符串中字符的分类 字符串中字符的分类 字符串中的字符通常可以分为空白字符、字母字符和其他类型的字符。用户可以用isletter和isspace两个函数来对字符串中的字符进行分类 。realstring='www.zaobao.com ' realstring = www.zaobao.com >> A=isspace(realstring) A = Columns 1 through 11 0 0 0 0 0 0 0 0 0 0 0 Columns 12 through 16 0 0 0 1 1 >> . 查找与替换 . 查找与替换 查找与替换是字符串操作中的一项重要内容,MATLAB 7语言提供了findstr、strfind和strrep等函数来实现查找与替换操作。>> s1=‘我们班的班长是是赵洁!‘; >> s2=strrep(s1,'赵洁','黄远') s2 = 我们班的班长是是黄远! >> s3=strrep(s2,'黄远! ' ,‘谁?') s3 = 我们班的班长是是谁? >> 字符串与数值的转换 字符串与数值的转换 常见的字符串转换函数字符串与数值的转换举例字符串与数值的转换举例使用str2num函数将字符型矩阵转换为数字矩阵 >> S = ['1 2' ;'3 4'] S = % S为字符型矩阵 1 2 3 4 >> X=str2num(S) X = %X为数字型矩阵 1 2 3 42. 单 元 数 组 2. 单 元 数 组 直接生成单元数组 使用cell函数生成单元数组 单元数组的内容的显示或获取 单元数组的变维处理 (1)直接生成单元数组(1)直接生成单元数组用类似矩阵的记号将给复杂的数据结构纳入一个变量之下。和矩阵中的圆括号表示下标类似,单元数组由大括号表示下标。 >> A={‘反对霸权','Wind Gone',100+200*i,[90, 85, 55; 67, 70, 102; 57, 18, 100; -200, 89, 78]} A = Columns 1 through 3 ‘反对霸权' 'Wind Gone' [1.0000e+002 +2.0000e+002i] Column 4 [4x3 double](2)使用cell函数生成单元数组(2)使用cell函数生成单元数组应用举例: >> A=cell(2,2) A = [] [] [] [] >> A{1,1}=['富强' '民主' ;'文明' '廉洁'] A = [2x4 char] [] [] [] (3)单元数组的内容的显示或获取(3)单元数组的内容的显示或获取>>celldisp(A,'Huang') Huang{1,1} = 1 2 2 2 Huang{2,1} = Tsinghua and Peking Huang{1,2} = MATLAB 7 Huang{2,2} = 1.0000 + 5.0000i 12.0000 - 4.0000i >>(4)单元数组的变维处理 (4)单元数组的变维处理 前边所述的对矩阵的变维处理同样也适用于对单元数组的变维处理 。 此外还可以使用reshape函数进行操作。 >> A={[1 2 ;3 4],‘love’;‘呼唤和平',[90, 85, 55; 67, 70, 102; 57, 18, 100; -200, 89, 78]} A = [2x2 double] 'love' ‘呼唤和平' [4x3 double] >> a=reshape(A,1,4) a = [2x2 double] ‘呼唤和平' 'love' [4x3 double] >> 3. 结构型变量3. 结构型变量直接输入法生成结构型变量 使用struct函数生成结构型变量 在结构体变量中添加成员变量 在结构体变量中删除成员变量 在结构体变量中调用成员变量 getefield和setfield函数的使用 (1)直接输入法生成结构型变量(1)直接输入法生成结构型变量>> student.test=[99 56 96 87 67 69 87 76 92]; >> student.name='Wu Qing'; >> student.weight=68; >> student.height=1.72; >> student.num=2003214091; >> student.add='School of civil engneering.Tsinghua university'; >> student.tel='1381042679*';(2)使用struct函数生成结构型变量(2)使用struct函数生成结构型变量>> truct_array=struct(‘d’,{{‘北京’,‘上海'}},'strengths',[40000 1000]) truct_array = d: {‘北京’ ‘上海'} strengths: [40000 1000] >>(3)在结构体变量中添加成员变量(3)在结构体变量中添加成员变量>> student(1).gender='Male'; %在student中添加gender和age这2项记录 >> student(1).age=25; >> student(2).gender='Female'; >> student(2).age=21; >> student %查询student的结构 student = 1x2 struct array with fields: test name weight height num add tel gender age >> (4)在结构体变量中删除成员变量 (4)在结构体变量中删除成员变量 使用函数rmfifld从结构体变量中删除成员变量 。 >> student=rmfield(student,'age'); student = 1x2 struct array with fields: test name weight height num add tel gender (5) 在结构体变量中调用成员变量(5) 在结构体变量中调用成员变量>> student(1).test %从结构体变量中取出相关信息 ans = 99 56 96 87 67 69 87 76 92 >> student(1).test(5) ans = 67 >> student(1).add ans = School of civil engneering.Tsinghua university(6) getefield和setfield函数的使用(6) getefield和setfield函数的使用getefield函数取得当前存储在某个成员变量中的值 。 setfield函数给某个成员变量插入新的值 。>> GETF=getfield(student(1),'add') GETF = School of civil engneering.Tsinghua university >>第六章 数值计算功能第六章 数值计算功能 教学目标 教学重点 教学过程 教学目标教学目标 本章将介绍MATLAB 7的数值计算功能,包括MATLAB 7的向量、矩阵以及它们之间的运算。 介绍了一些特殊的矩阵数据结构。 最后介绍一些MATLAB 7与线性代数和概率统计的结合。 通过对本章的学习,读者可以编写简单且功能完善的MATLAB 7程序,从而解决各类基本问题,用户可以通过本章逐步掌握MATLAB 7的数值计算方法。教学重点教学重点矩阵的生成和基本的数值运算 稀疏型矩阵的生成和基本操作 数值微分的求解方法 教学过程教学过程矩阵的生成和基本的数值运算 特殊矩阵的生成 稀疏型矩阵的生成和基本操作 稀疏型矩阵和满矩阵的相互转换 微分和积分的定义 数值微分的求解方法 对函数进行数值积分的方法 使用MATLAB 7进行线性代数的运算 使用MATLAB 7进行概率统计方面的运算1. 矩阵的生成1. 矩阵的生成矩阵的生成有多种方式,通常使用的有4种方法: 在命令窗口中直接输入矩阵 通过语句和函数产生矩阵 在M文件中建立矩阵 从外部的数据文件中导入矩阵>> matrix=[1 ,1, 1, 1;2, 2, 2, 2;3, 3, 3, 3;4, 4, 4, 4] matrix = 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 42. 矩阵的基本数值运算2. 矩阵的基本数值运算矩阵与常数的四则运算 矩阵之间的四则运算 X=B/A:表示求矩阵方程XA=B的解。 >> A=[2 1 -1;2 1 0;1 -1 1] A = 2 1 -1 2 1 0 1 -1 1 >> B=[1 -1 3;4 3 2]; >> X=B/A X = -2.0000 2.0000 1.0000 -2.6667 5.0000 -0.66673. 特殊矩阵的生成3. 特殊矩阵的生成零矩阵和全1矩阵的生成 (zeros 、ones) 对角矩阵的生成 (diag) 随机矩阵的生成 (rand、randn ) 范德蒙德矩阵的生成 (vander) 魔术矩阵的生成 (magic) Hilbert矩阵和反Hilbert矩阵的生成 (hilb、invhilb )特殊矩阵的生成举例特殊矩阵的生成举例>> rand(5) ans = 0.9501 0.7621 0.6154 0.4057 0.0579 0.2311 0.4565 0.7919 0.9355 0.3529 0.6068 0.0185 0.9218 0.9169 0.8132 0.4860 0.8214 0.7382 0.4103 0.0099 0.8913 0.4447 0.1763 0.8936 0.1389 >> 4. 稀疏型矩阵 4. 稀疏型矩阵 稀疏矩阵的生成 稀疏矩阵与满矩阵的相互转换 稀疏矩阵的操作 (1) 稀疏矩阵的生成(1) 稀疏矩阵的生成在MATLAB 7中,生成稀疏矩阵用特殊的函数来进行,这些函数有speye、spones、spdiags、sparse、find、full、spalloc、sprand和sprandn 等。Speye函数应用举例Speye函数应用举例>> A=eye(5) A = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 >> speye(size(A)) ans = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 (5,5) 1 (2)稀疏矩阵与满矩阵的相互转换 (2)稀疏矩阵与满矩阵的相互转换 用来将稀疏矩阵和满矩阵相互转换的函数有sparse、full和find等3个函数 。 >> S(10,50)=82; >> S(32,14)=82; >> S(251,396)=25; >> I=find(S) %生成S中非零元素的位置 I = 3295 12309 99396 (3)稀疏矩阵的操作 (3)稀疏矩阵的操作 对稀疏矩阵进行操作,主要由nnz、nonzeros、nzmax、sponse、spalloc、isspase、spyfun和spy等函数来实现 。 >> v=[6 2 7 8 ]; >> S=diag(v,1) >> R=sparse(S); >> N=issparse(S) N = 0 >> Y=issparse(R) Y = 1 >> 5. 微分和积分 5. 微分和积分 数值微分 使用diff函数求数值微分 使用gradient函数求近似梯度 jacobian函数求多元函数的导数 函数的数值积分 矩形求积 trapz函数(梯形求积) 自适应法(Simpson法) 高阶自适应法(Newton-Cotes法) (1)数值微分(1)数值微分>> syms x y z >> jacobian([x*y*z; y; x+z],[x y z]) ans = [ y*z, x*z, x*y] [ 0, 1, 0] [ 1, 0, 1] >> syms u v >> jacobian(u*exp(v),[u;v]) ans = [ exp(v), u*exp(v)] >>(2)函数的数值积分(2)函数的数值积分>> x=0:0.1:10; >> y=sin(x); >> z=cumsum(y)*0.1; >> plot(x,y,'r-',x,z,'k*') >>null6. MATLAB 7与线性代数6. MATLAB 7与线性代数矩阵的特征参数运算 矩阵的分解运算 矩阵的结构操作 (1)矩阵的特征参数运算(1)矩阵的特征参数运算矩阵的乘方运算和开方运算 矩阵的指数和对数运算 矩阵的逆运算 矩阵的行列式运算 矩阵的特征值运算 矩阵(向量)的范数运算 矩阵的条件数运算 矩阵的秩 矩阵的迹 特征参数运算举例1特征参数运算举例1矩阵的逆运算 >> A=[1 0 0 0;1 2 0 0;2 1 3 0;1 2 1 4] A = 1 0 0 0 1 2 0 0 2 1 3 0 1 2 1 4 >> B=inv(A) B = 1.0000 0 0 0 -0.5000 0.5000 0 0 -0.5000 -0.1667 0.3333 0 0.1250 -0.2083 -0.0833 0.2500 >>特征参数运算举例2特征参数运算举例2矩阵的秩 >> T1=[1 1 1;2 2 3] T1 = 1 1 1 2 2 3 >> r=rank(T1) r = 2 >> (2)矩阵的分解运算(2)矩阵的分解运算三角分解(lu) 正交分解(qr) 特征值分解(eig) Chollesky分解(chol) 奇异值分解(svd) 分解运算举例1分解运算举例1三角分解(lu) >> X=[6 2 -1;2 4 0;1 4 -1;-1 -1 3] >> [L,U]=lu(X) L = 1.0000 0 0 0.3333 0.9091 0.4068 0.1667 1.0000 0 -0.1667 -0.1818 1.0000 U = 6.0000 2.0000 -1.0000 0 3.6667 -0.8333 0 0 2.6818 >> 分解运算举例2分解运算举例2正交分解 >> A=[17 3 4;3 1 12;4 12 8] >> [Q,R]=qr(A) Q = -0.9594 0.2294 0.1643 -0.1693 -0.0023 -0.9856 -0.2257 -0.9733 0.0411 R = -17.7200 -5.7562 -7.6749 0 -10.9939 -6.8967 0 0 -10.8412(3)矩阵的结构操作(3)矩阵的结构操作矩阵的标识 矩阵的扩充 矩阵的部分删除 矩阵的修改 矩阵结构的改变 矩阵的旋转和翻转 结构操作举例1结构操作举例1矩阵的标识 >> A=magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> A(2,4) ans = 8 >>结构操作举例2结构操作举例2矩阵的翻转 >> A=randn(3) A = -0.4326 0.2877 1.1892 -1.6656 -1.1465 -0.0376 0.1253 1.1909 0.327
本文档为【MATLAB_7课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_710617
暂无简介~
格式:ppt
大小:2MB
软件:PowerPoint
页数:0
分类:金融/投资/证券
上传时间:2010-08-31
浏览量:19