ImageVerifierCode 换一换
格式:DOC , 页数:37 ,大小:696.01KB ,
资源ID:4779300      下载积分:9 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4779300.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(Matlab入门教程.doc)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Matlab入门教程.doc

1、第1章 MATLAB操作基础1.1 MATLAB概述1.1.2 MATLAB的主要功能1数值计算MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。2绘图功能可以绘制二维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区域图、直方图、饼图、柱状图等)。3编程语言MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。4MATLAB工具箱MATLAB包含两部分内容:基本部分和各种可选的工具箱。MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。1.1.3MATLAB语言的特点v 语言简洁紧凑,使用方便灵活,易

2、学易用。例如:A=1 2 3;4 5 6;7 8 9一条语句实现了对3x3矩阵的输入。v 语句功能强大,一条语句相当于其它语言的一个子程序,例如fft。v 语句简单,内涵丰富。同一个函数有不同的输入变量和输出变量,分别代表不同的含义。 v Matlab既具有结构化的控制语句(if、for、while)又支持面向对象的程序设计。v 方便的绘图功能。v 包含功能强劲的工具箱。v 易于扩展。1.1.4 初识MATLAB例1-1 绘制正弦曲线和余弦曲线。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x);例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。p=

3、3,7,9,0,-23; %建立多项式系数向量x=roots(p) %求根例1-3 求积分quad(x.*log(1+x),0,1)例1-4 求解线性方程组。a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b1.2 MATLAB的运行环境与安装1.2.1 MATLAB的运行环境硬件环境:(1) CPU (2) 内存(3) 硬盘(4) CD-ROM驱动器和鼠标软件环境:(1) Windows 98/NT/2000 或Windows XP(2) 其他软件根据需要选用1.2.2 MATLAB的安装 运行系统的安装程序setup.exe,可以按照安装提示依次操作。

4、1.3 MATLAB集成环境1.3.1 启动与退出MATLAB集成环境1MATLAB系统的启动 与一般的Windows程序一样,启动MATLAB系统有3种常见方法:(1)使用Windows“开始”菜单。(2)运行MATLAB系统启动程序matlab.exe。(3) 利用快捷方式。当MATLAB安装完毕并首次启动时,展现在屏幕上的界面为MATLAB的默认界面,如上图所示。2MATLAB系统的退出要退出MATLAB系统,也有3种常见方法:(1) 在MATLAB主窗口File菜单中选择Exit MATLAB命令。(2) 在MATLAB命令窗口输入Exit或Quit命令。(3) 单击MATLAB主窗口

5、的“关闭”按钮1.3.2 主窗口MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。1菜单栏在MATLAB 6.5主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help 6个菜单项。(1) File菜单项:File菜单项实现有关文件的操作。(2) Edit菜单项:Edit菜单项用于命令窗口的编辑操作。(3) View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。 (4) Web菜单项:Web菜单项用于设置MATLAB的Web操作。(5) Window菜单项:主窗口菜单栏上的Window菜单,只包含一个

6、子菜单Close all,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。(6) Help菜单项:Help菜单项用于提供帮助信息。1.3.3 命令窗口命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。MATLAB命令窗口中的“”为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如x

7、x=5,yy=3xx=5;yy=3多行命令()-续行符 如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。 S=1-12+13+4+ 9-4-18; 3个小黑点称为续行符,即把下面的物理行看作该行的续行。1.3.4 工作空间窗口 工作空间是MATLAB用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。1.3.5 当前目录窗口和搜索路径1当前目录窗口当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。 在当前目录窗口中可以显示或改变当前目录

8、,还可以显示当前目录下的文件并提供搜索功能。将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:mydir设置为当前目录,可在命令窗口输入命令: cd c:mydir2MATLAB的搜索路径 在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。基本的搜索过程是:(1) 检查该命令是不是一个变量。(2) 检查该命令是不是一个内部函数。(3) 检查该命令是否当前目录下的M文件。(4) 检查该命令是否MATLAB搜索路径中其他目录下的M文件。1.3.6 命令历史记录窗口 在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,

9、从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令。1.3.7 启动平台窗口和Start按钮 MATLAB 6.5的启动平台窗口可以帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。 MATLAB 6.5主窗口左下角还有一个Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源。1.4 MATLAB帮助系统1.4.1 帮助窗口进入帮助窗口可以通过以下3种方法:(1) 单击MATLAB主窗口工具栏中的He

10、lp按钮。(2) 在命令窗口中输入helpwin、helpdesk或doc。(3) 选择Help菜单中的“MATLAB Help”选项。1.4.2 帮助命令 MATLAB帮助命令包括help、lookfor以及模糊查询。1help命令 (1)直接输入help命令将会显示当前帮助系统中所包含的所有项目; (2)help加函数名来显示该函数的帮助说明。2lookfor命令help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索

11、。3模糊查询 MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。1.4.3 演示系统 在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演示系统。第2章 Matlab及其应用2.1、MATLAB的基本矩阵运算2.1.1 简单矩阵输入1、命令行简单键盘输入用于很少数据输入矩阵的方向:, ; NaN Inf 2、文件形式输入文本文件:从文本文件中读入数据 mat文件:matlab自有的数

12、据格式 2.1.2 语句生成矩阵1、线性等间距格式矩阵 (1)X=起始值:增加值:结束值 (2)linspace命令a=linspace(1,10,5);(3)logspace命令b=logspace(0,2,10)2、矩阵连接c=a b;生成矩阵的函数zeros ones eye randn 2.1.3 矩阵运算1、矩阵的运算符 :加法 :減法 *:乘法;点乘:.* /:右除;右除:./ :左除;左除:. :乘方 2、矩阵的转置等运算 共轭转置; . 转置 inv:矩阵求逆 det:求行列式值 eig:求特征值与特征向量 运算规则:从左到右;先乘除后加减;乘方运算符最高(1)两矩阵加减,前提

13、是维数相同,进行加减运算时,对应的元素进行加减;(2)矩阵与标量加减,用矩阵中的每个元素都与标量进行加减运算;(3)两矩阵相乘,前提是前一矩阵的列等于后一矩阵的行,与数学约定一样;(4)矩阵与标量相乘,用矩阵中的每个元素都与标量进行相乘;(5)矩阵中的元素对元素的相乘: .* 矩阵中的元素对元素的相除: ./ . z=x.y x,y均为向量:z(i)=x(i) y(i) x为向量,y为标量:z(i)=x(i) y x为标量,y为向量:z(i)=xy(i) 2.1.4 矩阵的超越函数函数名 含义 abs 绝对值或者复数模 sqrt 平方根 real 实部 imag 虚部 conj 复数共轭 ro

14、und 4舍5入到整数 fix 舍入到最接近0的整数 floor 舍入到最接近-的整数 ceil 舍入到最接近的整数函数名 含义 sign 符号函数 rem 留数 sin 正弦 cos 余弦 tan 正切 asin 反正弦 acos 反余弦 atan 反正切 atan2 第四象限反正切 函数名 含义 sinh 双曲正弦 cosh 双曲余弦 tanh 双曲正切 exp 自然指数 log 自然对数 log10 以10为底的对数 2.2 关系和逻辑运算1、 关系操作符(1)MATLAB常用的关系操作符有: (小于)、(大于)、=(大于或等于)、 = =(等于)、 =(不等于)。(2)MATLAB的关

15、系操作符可以用来比较两个大小相同的数组,或者比较一个数组和一个标量。在与标量比较时,结果和数组大小一样。(3)如果满足指定的关系,返回1,否则返回0。 a=1:9;b=a4b =0 0 0 0 1 1 1 1 1c=a(a4)c =5 6 7 8 9 2 、逻辑操作符(1)逻辑操作符定义了一种与或非的关系表达式。 MATLAB的逻辑操作符有 &(与)、|(或)、(非) (2)所有逻辑运算符连接的两个操作数或者同维、同大小,或者其中一个为标量。(3)逻辑运算符都是对元素的操作,每个非零元素都当作“1”处理,逻辑运算的结果是由1和0构成的矩阵。例如:c=(a4)c = 1 1 1 1 0 0 0

16、0 0c=(a4)&(aB=1 2 3;4 5 6; 7 8 9; B(2,: )= B=1 2 37 8 92、为了提取矩阵a的第n行、第m列的元素值,使用a(n,m)可以得到。同样,将矩阵a的第n行、第m列的元素值赋为r,使用a(n,m)=r这样的命令。 注意:在提取矩阵值时,行或列的值大于矩阵的大小,则出错;在给矩阵赋值时,如果行或者列超出矩阵的大小,则MATLAB自动扩充矩阵的规模,使得可以赋值,扩充部分以零填充。3、利用矩阵下标,MATLAB还提供了子矩阵功能。同样是上面的a(n,m),如果n和m是向量,而不是标量,则将获得指定矩阵的子块.4、同样,矩阵的子块还可以被赋值。如果在取子

17、块时,n或m是“:”,则返回指定的所有行或列。5、矩阵的序号编址:按列计数。 2.3.2矩阵大小1、在MATLAB命令行中,使用whos命令可以查看到所有变量的大小。2、为了获得矩阵或者向量的大小,MATLAB还提供了两个有用的函数size和length。3、size按照下面的形式使用:m,n=size(a,x)。一般的,(1)不用参量x时:当只有一个输出变量时,size返回一个行向量,第一个数为行数,第二个数为列数;如果有两个输出变量,第一个返回量为行数,第二个返回数为列数。(2)当使用x时:x=1返回行数,x=2返回列数,这时只有一个返回值。4、length返回行数或者列数的最大值,即le

18、ngth(a)=max(size(a)。2.3.3 矩阵操作函数MATLAB提供了一组执行矩阵操作的函数,例如:flipud(a)使得矩阵上下翻转, fliplr(a)使得矩阵左右翻转2.3.4 矩阵查找和排序1、子矩阵的查找使用find命令完成,它返回关系表达式为真的下标。例如:a=10:20;find(a15)ans = 7 8 9 10 112、矩阵的排序使用sort函数,它将矩阵按照升序排列。2.4 时间和日期 1、日历函数:calendar2、时间函数:clock3、查看CPU 时间:cputime 4、日期函数:date5、秒表定时: tic toc2.5退出和保存工作空间: 1

19、、 save:工作空间中的所有变量保存在磁盘上名为matlab.mat的文件中。2 、 save 文件名 变量名将指定的变量保存在指定的文件中。如:save temp x y z把x y z这3个变量保存在文件temp.mat中。3、下次加载MATLAB时,可以利用load命令将保存在文件中的变量恢复到工作空间中,其格式为:(1)load将保存在matlab.mat中的变量装入到matlab空间中。(2)load 文件名 变量名从指定文件中将指定的变量装入到matlab的工作空间中。如:load temp x从文件temp.mat 中只将变量x装入到 matlab的工作空间中。2.6 Matl

20、ab的变量1、基本运算 变量 逗号、分号的意义 行内编辑、注释、运算规则2、变量要求变量区分字母的大小写名字不能超过31个字符变量必须以字母开头,之后可以是任意字母、数字或者下划线变量中不能含有标点符号2.6.1 特殊变量2.6.2 复数不需要特殊的处理,可以直接进行。复数可以表示为:a=10-9i 2.6.3 MATLAB数据类型:双精度型、字符型、稀疏型、单元型、结构型、8位型最常使用的是双精度型和字符型;稀疏型用于稀疏矩阵;单元型和结构型用于编写大型软件;8位型(6.0以上版本:16位型、32位型)用于图象处理。1、双精度型(double): 在缺省情况下,当结果为整数,作为整数显示;当

21、结果为实数,以小数后4位的精度近似显示。 如果结果中的有效数字超出了这一范围,以科学计数法显示结果。 2、字符型(char): a=sss;bbb a =sss bbb (1)字符数组的定义:字符数组就是字符串,字符串中的每一个字符在系统内部都相应地表示一个数值。 a=You are welcome! a =You are welcome! size(a) ans = 1 16 相关函数A、函数disp用来显示字符串:disp(Hello) Hello B、判断一个变量是否为字符型数组,可以用函数class或ischar。 x=class(a)y=ischar(a) x =chary = 1

22、(2)字符与数值的相互转换: double:将一个字符串转换为一个数值 char:将数值转换为字符串 s=Good morning!s1=double(s)s2=char(s1) s =Good morning!s1 = 71 111 111 100 32 109 111 114 110 105 110 103 33s2 =Good morning! (3)字符串的比较A、strcmp:判别两个字符串是否相等B、strncmp:判别两个字符串的前n个字符是否相等s1=glisten;s2=glitter; a1=strcmp(s1,s2) a2=strncmp(s1,s2,3) a1 = 0a

23、2 = 1 (4)二维字符数组: 创建二维字符数组时,每行的长度要相等。如果字符串长度不等,可以用空格充填较短的字符串。例如:s=abc ;defg s =abc defg 用char函数创建二维字符数组比较方便。当字符串长度不等时,char函数可以自动地在较短的字符中加上一定数量的尾部空格,使其与最长字符串的长度相等。例如: y=char(abc,defg,abcde) z1=length(y) z2=size(y) y =abc defg abcde z1 = 5z2 = 3 5 3、稀疏型(sparse):含有大量0的矩阵,称为矩阵。只存储矩阵中的非0元素speye(4) 生成单位稀疏矩

24、阵ans = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 14、单元型(cell):把不同类型的数据存储在一起的数组称为单元数组。单元数组中的每个元素是其他任意一种数据类型,通常可以将相关的尺寸大小不同的数据组合在一起。 a=1,good,1 2 3 a = 1 good 1x3 double(1)创建单元数组:cellc=cell(n):生成一个n*n维的空数组c=cell(m,n):生成一个m*n维的空数组c=cell(size(A):生成一个和所包含的数组A阶数完全相同的空数组EX1:A=eye(2) c=cell(size(A) A = 1 0 0 1c = EX2:给

25、单元数组赋值D=cell(1,3) D1,1=Good; D1,2=1 2;4 5;D1,3=1+4i; D D = D = Good 2x2 double 1.0000+ 4.0000i EX3:利用直接输入的方法创建单元数组,单元数组的下标用圆括号括起来,右边是单元数组的内容,用花括号括起来。Aa(1,1)=GOOD;Aa(1,2)=200;Aa(2,1)=5-6i;Aa(3,2)=1 2;4 5 Aa = GOOD 200 5.0000- 6.0000i 2x2 double (2)单元数组的显示A、直接显示Aa Aa = GOOD 200 5.0000- 6.0000i 2x2doub

26、leB、利用函数显示celldisp(Aa) celldisp(Aa,Bb)C、利用图形显示单元数组 cellplot(Aa) cellplot(Aa,legend) (4)单元数组的变形 E=reshape(X,1,6) cellplot(E) E = Welcome 4x4 double 3x3 double (5)字符型单元数组:由于字符矩阵要求矩阵的每一行的长度相等,需要在字符串的尾端加入空格,在读取的时候,又常常将末尾的空格去掉,很不方便。由于单元数组允许不同的单元内有不同类型和长度的数据,问题就可以避免。cellstr:将标准的字符型数组转换为字符型单元数组。EX1:ne=aaa;

27、bb ; cellstr(ne) ans = aaa bb5、结构型(struct):把不同类型的数组存储在一起的数组称为结构数组。结构数组相当于数据库的记录。结构数组中不同类型的数组是通过不同的域名来区分的。在MATLAB的结构数组中,每个元素都是由不同的数据类型所组成的,不同的数据类型分别放在不同的数据区域里,称为结构数组的域。(1)建立结构数组A、利用函数struct建立结构数组调用格式:s=struct(field 1,values 1,field 2,values 2,)例sxx=struct(name,zhao,Li,wang,age,20,21,29,address,changd

28、a) %注意: 所有的address都赋相同的值 sxx(1) sxx(2) B、利用赋值语句直接生成结构数组sss.name=zhou; sss.age=10; sss.address=changda; sss sss.name=zhao sss = name: zhao age: 10 address: changda sss(3).address=chang an sss = 1x3 struct array with fields: name age address 相关函数 A、getfield:获取结构数组中某个域的内容B、setfield:设置结构数组中某个域的内容C、rmfie

29、ld:删除结构数组的域D、isfield:判断某个变量域是否是一个结构数组的域E、isstruct:判断某个变量域是否是一个结构数组第3章 Matlab编程基础3.1 Matlab 程序设计1、设置完整的路径;(1)对于用户程序中使用的文件名和变量名,系统按照以下顺序搜索: A、查找对象是否是工作空间的变量; B、查找对象是否是系统的内部函数; C、查找对象是否是在系统的当前目录下。(2)路径设置的方法: A、在命令窗口下使用cd命令; B、在菜单栏下的Current directory下。2、参数值要集中放在程序的开始部分,便于维护;3、每行程序后输入分号,则执行程序行不会显示在屏幕上;如果

30、不输入分号,则执行程序行会显示在屏幕上;4、符号“%”后的内容是注释行;5、如果语句在一行中放不下,则可以在行末键入三个点(),指示下一行为续行;6、遇到不明白的命令,多使用在线帮助命令或系统演示示例;7、尽量使程序模块化,采用主程序调用子程序的方法,将所有子程序合并在一起来执行全部的操作。 MABLAB程序的基本组成部分: %说明部分清除命令(可选)定义变量(局部变量和全局变量)按照顺序行执行的命令语句控制语句开始 控制语句体 控制语句结束 其他命令(如绘图等)3.1.2 Matlab的工作方式有二种1. 交互式的指令操作方式。即用户在命令窗口中输入命令并按下回车键后,系统执行该指令并立即给

31、出运算结果。 2. m文件的编程方式。m文件是由 matlab语句构成的文件,且文件名必须以.m为扩展名,如ex.m。用户可以用任何文件编辑器来对M文件进行编辑。 MATLAB语言编写的磁盘文件称为M文件,扩展名为m,格式为*.m,M文件可以互相调用,也可以调用它自己。(1)M文件在功能上分为:A、底稿文件对于简单的问题,在命令窗口的MATLAB提示符下,输入MATLAB的语句,这样可以快速有效地得到结果。当问题比较复杂时,需要执行一系列语句,在MATLAB提示符下键入语句就变的很麻烦。对这个问题,MATLAB提供了一种逻辑解决方案,允许用户把MATLAB命令放在一个简单的文本文件中,这些文件

32、称为底稿文件。 B.函数文件a. 格式: function f1,f2,=fun(x,y,z,)其中x,y,z,是形式输入参数,f1,f2,为返回的形式输出参数值,fun为形式函数名,函数名一般就是这个函数文件的文件名。b.文件前面几行由%开始的语句构成了M文件的帮助信息,当键入:help 文件名 可得到文件的说明信息。(help为在线帮助)(2)函数文件和底稿文件的区别: a、形式上,函数文件第一行必须包含关键字function,且有函数名和输入输出形式参数,而底稿文件没有; b、函数文件可以传递参数,底稿文件不具备参数传递功能; c、函数文件中定义及使用的变量都是局部变量,只在本函数内有效

33、,底稿文件中定义及使用的变量都是全局变量,在退出文件后仍有效。 3.1.3 程序流程控制1.顺序结构:Matlab 从上到下依次执行各语句,该结构最简单。2.循环结构 (1)for-end 循环 用于循环次数事先确定的,格式为 for i=n:s:m (初值:步长:终值) 语句体 end s 为步长,可以为正数,负数或小数。 说明:变量x通常称为循环变量。循环变量可以是一个数组。如果循环变量是数组,在for和end语句之间的commands按数组中的每一列执行一次。在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:, n)。例如,x=0 2 3;4 7 9for a=

34、x /把矩阵x的每一列元素依次赋给变量Ab=a+4end 运行结果:x = 0 2 3 4 7 9b = 4 8b = 6 11b = 7 13与For循环相关的其它规定:(1)For循环不能用For循环内重新赋值循环变量n来终止。(2)For循环可以嵌套。(3)当有一个等效的数组方法来解给定的问题时,应避免用For循环。例如, n=1:10; x=sin(n*pi/10) (4)为了得到最大的速度,在For循环(While循环)被执行之前,应预先分配数组。例如,在For循环内每执行一次命令,变量x的大小增加1。迫使MATLAB每通过一次循环要花费时间对x分配更多的内存。为了消去这个步骤,Fo

35、r循环的例子应重写为x=zeros(1,10); % preallocated memory for x for n=1:10 x(n)=sin(n*pi/10); end(2)while-end 循环 用于循环次数不能事先确定的,格式为 while 表达式 语句体 end 只有表达式为真,就执行语句体,表达式为假,终止该循环。 说明:表达式可以是一个矩阵,且矩阵中的所有元素都为非0时,才执行循环体中的内容。如果表达式为一空矩阵,则循环体中的内容永远不会被执行。 注意:要想在任何时候终止循环(for或while循环),可利用break语句。 num=1;a=0; while num5 % gi

36、ve 20% discount for larger purchases cost=(1-20/100)*cost; end costcost = 200 4.Switch分支结构语句格式为 switch 表达式0 case 表达式1的值 命令1 case 表达式2的值 命令2. otherwise 命令行nend switch语句可以根据一个变量或表达式的值执行特定的语句。先计算switch后边表达式0的值,然后检查case子句后面的值是否与表达式0的值相等,如表达式1的值与之相等,则执行命令行1,否则继续检查第二个case子句,如果所有case子句的值都不等于表达式0的值,则执行other

37、wise后面的命令行n。 在switch中,如果一个case条件满足,执行完这个case后,直接跳到end语句后面的语句,不在判断其他case语句。5、return语句用来终止当前正在执行的函数中的命令,返回调用它的函数。 第4章 MATLAB多项式计算 4.1 多项式4.1.1 多项式的表示Matlab中用按降幂排列的多项式系数组成的行向量表示多项式,如:p(x)=x3-2x-5 被表示为:p = 1 0 2 5; 1多项式的加减运算2多项式乘法运算函数conv(P1,P2)用于求多项式P1和P2的乘积。这里,P1、P2是两个多项式系数向量。例4-1 求多项式x4+8x3-10与多项式2x2

38、-x+3的乘积3多项式除法 函数Q,r=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。deconv是conv的逆函数,即有P1=conv(P2,Q)+r。例4-2 求多项式x4+8x3-10除以多项式2x2-x+3的结果。4.1.2 多项式的导数对多项式求导数的函数是:p=polyder(A):求多项式A的导函数p=polyder(A,B):求A与B积的导函数p,q=polyder(A,B):求A/B的导函数,导函数的分子存入p,分母存入q。上述函数中,参数A,B是多项式的向量表示,结果p,q也是多项式的向量表示。例4-3 求有理分式的导数。命令如下:P=1;Q=1,0,5;p,q=polyder(P,Q)4.1.3 多项式的求值 两种求多项式值的函数: polyval(P,x) polyvalm(P,x) 两者的区别在于前者是代数多项式求值,而后者是矩阵多项式求值。1代数多项式求值polyval函数用来求代数多项式的值,其调用格式为:Y=polyval(P,x)若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。例4-4 已知多项式x4+8x3-10,分别取

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服