ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:986.96KB ,
资源ID:4083853      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4083853.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matlab实训课.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Matlab实训课.docx

1、Matlab实训课Matlab实训课题一 Matlab基础1、 Matlab是什么?MATLAB是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有: 数学和计算 算法开发 建模,模拟和原形化 数据分析,探索和可视化 科学与工程制图 应用开发,包括图形用户界面的建立MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。名称“MATLAB”代表matrix laboratory(矩阵实验室)。MATLAB最初是编写来提供给对由LI

2、NPACK和EINPACK工程开发的矩阵软件简易访问的。今天,MATLAB使用由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算的软件中的技术发展。MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研究、开发和分析所选择的工具。MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是,工具箱使你能学习和应用专门的技术。工具箱是MATLAB函数(M-文件)的全面的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱的领域有:信号处理,控制系

3、统神经网络,模糊逻辑,小波分析,模拟仿真等等。MATLAB 产品被广泛应用于下列领域: 测量测试 数学建模与分析 信号处理 财经金融建模与分析 工作空间窗口图像处理与地理信息2、 Matlab桌面工具的介绍打开编辑器窗口这些工具是: 命令窗口:运用命令窗口去调入变量,运行函数和M-文件。例1:控制输出值格式的格式命令format (控制显示的数据的数值格式。只影响数据的显示结果,而与Matlab如何计算及储存它们无关)format shortx = 4/3 1.2345e-6 x = 1.3333 0.0000 format shorte x = 4/3 1.2345e-6 x = 1.333

4、3e+000 1.2345e-006其他格式 format shortg1.3333 1.2345e-006format long1.33333333333333 0.00000123450000format longe1.333333333333333e+000 1.234500000000000e-006format longg1.33333333333333 1.2345e-006format bank1.33 0.00format rat4/3 1/810045format hex3ff5555555555555 3eb4b6231abfd271如果表达式无法在一行输入完,用三点加回车

5、键表示下一行继续该语句的输入.例如:例2:长命令行的输入s = 1 -1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7 . - 1/8 + 1/9 - 1/10 + 1/11 - 1/12;例3:命令行的编辑(键盘上的多个箭头键和控制键允许撤消,编辑和重新执行之前的命令)和命令窗口常用指令Ctrl+p召回上一行指 令及含 义 cd设置当前工作目录Ctrl+n召回下一行clf清除图形窗Ctrl+b后退一个字符clc清除指令窗中显示内容Ctrl+f前进一个字符clear清除工作空间中保存的变量Ctrl+Ctrl+r右移一个单词dir列出指定目录下的文件和子目录Ctrl+Ctrl+l

6、左移一个单词edit打开M文件编辑器HomeCtrl+a移至行始exit关闭/退出 EndCtrl+e移至行末quit关闭/退出 EscCtrl+u清除该行more使其后的显示内容分页进行DelCtrl+d删除光标所在字符return返回到上层调用程序;BackspaceCtrl+h删除光标之前字符type显示指定M文件的内容Ctrl+k删除至行末which指出其后文件所在的目录 命令历史窗口在控制窗的输入内容都被记录在命令历史窗口中。在命令历史中,你可以看到以前用过的函数,并且可以复制和执行选定行。 编辑器窗口用来生成和调试M-文件,这些M-文件是你为运行MATLAB函数所写的程如果仅是要看

7、M-文件的内容,可以用type命令使它在命令窗口中显示。 工作空间浏览器Matlab工作空间包含内建Matlab处理任务时以及储存在记忆体中的变量排列。你可以通过使用函数、运行M-文件、装载已存文件等方式增加变量到工作区。双击可查看、更改变量值 3、奇异的魔方雕版画-忧郁者I 欧洲文艺复兴时期,德国的一个艺术家兼业余数学爱好者阿布列西特.杜勒的作品。这幅图布满了各种各样的数学符号,而且如果你仔细观察的话就会发现在右上角有一个矩阵。那个就是奇妙的魔方矩阵。 下面让我们来输入杜勒的魔方的一组元素,只要遵循下列几个基本步骤就可以了: 用空格或者逗号来区分一行里不同的元素。 用分号“;”来区分不同的行

8、。 用方括号来括住全体元素。在命令窗口输入:A = 16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1 A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 sum(A) %每一列的数字加起来的结果ans = 34 34 34 34 如果每一行加起来又会怎样呢?A %一个矩阵的转置矩阵ans = 16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1 sum(A) %包含由行元素的和组成的列向量ans = 34 34 34 34 对角线元素由diag函数很容易就被列出来diag(A) ans = 16 10

9、7 1 sum(diag(A) ans = 34 另外的对角线呢?即所谓的反对角线,在数学上就不是那么重要了。所以Matlab就没有相应的函数。但在图形函数中,函数fliplr产生一个左右调转的矩阵。sum(diag(fliplr(A) ans =34 我们用Matlab证明了在杜勒的木板图中的那个矩阵的确是一个魔术方阵。关于矩阵记i行j列元素为A(i,j)。例如A(4,2)就是第4行2列的元素。在魔方阵中就是15。实际上用A(k)就可以代表阵中的第k行了,这只用了一个下标。这是经常用来表示行和列向量的方法。也可以应用到两维的矩阵,其中的列是由原来的列一直排下去构成的。对魔方来说,A(8)就是

10、A(4,2)的另一中表达方法,它的值是15。如果想用矩阵以外的值,系统就会出错。 t = A(4,5) ? Index exceeds matrix dimensions. 如果输入一个数值到矩阵以外的位置,矩阵的大小就会变化来容纳新的数据。X = A;X(4,5) = 17 X = 16 3 2 13 0 5 10 11 8 0 9 6 7 12 0 4 15 14 1 17冒号算子冒号:是Matlab里面一个十分重要的算子,适用于各种不同的表达式。如 1:10 表示一行从1到10的整数 100:-7:50 改变递变的间隔,指定一个间隔长度 100 93 86 79 72 65 58 51按

11、此 A(1:k,j) 表示A的第j列前k个元素。如:A(1:3,3) ans = 2 11 7 因此sum(A(1:4,4)表示计算A的第4列元素的和。但是有一种更加方便的办法。关键字:本身可以表示某行或某列的全体元素,可以用关键字end来表示最后一行或者最后一列的全体元素,所以sum(A(:,end) %计算A的最后一列元素的和ans = 34 为什么一个44的魔方矩阵的魔术和是34呢?如果我们从1加到16再把答案除以4,答案当然是34。实际上Matlab提供了一个函数可以计算出任意规格的魔方矩阵,毫不奇怪,这个函数就是magic。magic(5) ans = 17 24 1 8 15 23

12、 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 【练习1】用magic函数求取杜勒的魔方矩阵。Matlab提供产生基本矩阵的四个函数:zeros产生一个全零矩阵; ones产生一个全1矩阵rand产生一个元素是均匀分布随机数的矩阵; randn 产生一个元素是正态分布的随机数的矩阵C=zeros(2,4) C = 0 0 0 0 0 0 0 0 F = 7*ones(3,3) F =7 7 7 7 7 7 7 7 7 N = fix(10*rand(1,10) %fix函数功能是向零取整N = 1 9 9 4 8 1 4 9 7 9 R =

13、 randn(4,4) R =1.0668e+000 2.9441e-001 -6.9178e-001 -1.4410e+000 5.9281e-002 -1.3362e+000 8.5800e-001 5.7115e-001 -9.5648e-002 7.1432e-001 1.2540e+000 -3.9989e-001 -8.3235e-001 1.6236e+000 -1.5937e+000 6.9000e-001 【练习2】创建一个34的110随机数的矩阵。矩阵连接连接是一个合并小矩阵成大矩阵的过程。事实上,你创建第一个矩阵时就是通过将它的各自独立的元素连接在一起的。中括号是连接的算

14、子。B= A A+32;C C B = 16 3 2 13 48 35 34 45 5 10 11 8 37 42 43 40 9 6 7 12 41 38 39 44 4 15 14 1 36 47 46 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0行与列的删除X = A;X(:,2) = X = 16 2 13 5 11 8 9 7 12 4 14 1 如果删除矩阵的单个元素,其结果就不再是矩阵了。所以,如下的表达式X(1,2) = ? Subscripted assignment dimension mismatch.然而,用单独的下标则是删除一个单独元素或连续的

15、元素,并把剩下的元素改成行向量的形状。因此X(2:2:10) = X = 16 9 2 7 13 12 1 加载命令加载命令load读出含有由早期Matlab版本形成的矩阵的二进制文件,或者读出含有数值数据的文本文件。文本文件应该由一个数字的矩阵表格构成,由空格隔开,每一线排一行,而且每一行有相同数量的元素。如将用微软的写字板,创建一个含有这四行的文本文件,并以magic.dat为名储存。 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0在命令窗口load I:/magic.dat %读这个文件并创建一

16、个含有我们的矩阵例子的变量magikmagic magic = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 M-文件用M-文件创建自己的矩阵,这些M-文件是包含Matlab代码的文本文件。用Matlab编辑器或另外的文本编辑器去创建一个文件,它包含你将输入到Matlab命令行的同样的语句。例如,创建一个文件含有这五行 A = . 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0 ;用一个后缀名为.m的dule.m名字保存该文件。在命令窗口dule%读出该文件并产生一个变

17、量A,含有我们的矩阵示例。A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 Matlab与Microsoft Word (Windows)关联notebook %开启Word新文档,并提示Matlab此后自动作为服务器notebook(filename) %开启名为filename的Word文档,如filename不在当前路径,则应加入文件的全路径。notebook(-setup) %创建Matlab与Microsoft Word接口,命令窗口将显示创建成功与否信息。 利用Notebook可以在word环境下操作Matlab。其产生的文件称为M-book,可

18、包含固定的文本、Matlab命令和Matlab的输出。 Notebook的功能在于:使用户能在Word环境中“随心所欲地享用”MATLAB的浩瀚科技资源,为用户营造融文字处理、科学计算、工程设计于一体的完美工作环境。 M-book.dot模板的外形和使用方法,几乎与普通 Word 模板 Normal.dot 完全相同。因此,在M-book中,文字、图象、表格、数学公式等的输入、排版、编辑方法,与在普通Word文档没有什么区别。在Notebook中,凡参与Word和Matlab之间信息交换的部分,就称之谓“Cells(Cell group)”。由M-book 送向Matlab的指令,称为(Inp

19、ut cells);由 Matlab返回 M-book的计算结果,称为(Output cells)。较之普通Word,Notebook最宝贵的东西就是Inputcells(group)。从应用上讲,学会其创建和运行,就意味着掌握了Notebook。Cells(group)创建、正确运行的两个基本操作: 以普通文本形式输入的必须是MATLAB指令。特别注意:标点符号必须是在英文状态下输入的。 不管文本形式的一条指令有多长,不管一行有多少条文本形式指令,不管有多少行文本形式指令,只要能用鼠标把它们同时“点亮”选中,那么可以被创建或运行,具体如下:(A)在文本内容“点亮”后,按组合键 Ctrl-En

20、ter ,或选中下拉菜单项Evaluate Cell,那么被“点亮”部分就被激活成Inputcells(group),文字颜色将呈现为象征生命的绿色。与此同时,细胞所含指令被送进 Matlab运行,最后在该Cell的下方嵌入计算结果(数据或图形)。这就是输出细胞,它的文字用蓝色显示。(B)在文本内容“点亮”后,按组合键 Alt-D,或选中下拉菜单项Define Input Cell,那么被“点亮”部分只是变成了Inputcells(group),没被送去运行,当然也就没有运行结果。【练习3】利用notebook功能在Word环境下,在一张图上画出一个周期内的单位幅值正弦、余弦图。课题二 Mat

21、lab数学计算1、 简单的计算为易于学习,本节以算例算例归纳一些 MATLAB 最基本的规则和语法结构。【例 1】求12+2(7-4)32的算术运算结果。用键盘在 Matlab指令窗中输入以下内容或在M-book中(12+2*(7-4)/32 ans = 2变量命名规则 变量名、函数名是对字母大小写敏感的。如变量 myvar和 MyVar表示两个不同的变量。sin 是Matlab定义的正弦函数名,但 SIN,Sin 等都不是。 变量名的第一个字符必须是英文字母,最多可包含 63 个字符(英文、数字和下连符)。如 myvar201是合法的变量名。 变量名中不得包含空格、标点、运算符,但可以包含下

22、连符。如变量名 my_var_201 是合法的,且读起来更方便。【例 2】运用以下指令,以便初步了解预定义变量。本例演示:预定义变量已经存在的事实;format longrealmaxans = 1.797693134862316e+308 realminans = 2.225073858507201e-308 pians =3.141592653589793 多项式的表示方法和运算【例3】p(x)=x3-3x-5 可以表示为p=1 0 -3 5,求x5时的值用p=1 0 -3 5;polyval(p,5) %polyval(p,a) ans = 115 也可以求向量:a=3 4 5;poly

23、val(p,a) ans = 23 57 115 求多项式的根【例4】求x4-5x2+6的根p=1 0-5 0 6;x=roots(p) %roots(p),p为多项式的系数向量,求得的根返回向量x。x = -1.7321 -1.4142 1.7321 1.4142 反过来,已知多项式的根,求该多项式用函数poly(x)G=poly(x) G = 1.0000 0.0000 -5.0000 -0.0000 6.0000 多项式乘法(执行两个数组的卷积)【例5】求(x3+4x-1)(x2+8)x1=1 0 4 -1;x2=1 0 8;relt=conv(x1,x2) %conv(x1,x2)的逆

24、运算是deconv(x1,x2)即多项式除法,返回商式及余式relt = 1 0 12 -1 32 -8 x_2=deconv(relt,x1)Q r=deconv(x1,x2)x_2 = 1 0 8Q = 1 0r = 0 0 -4 -1 【练习1】 1)求多项式3y4+2y2-8y-56,y=2.1的值。 2)求(x4+5x2-1)(x2-x+9)面向复数设计的运算是MATLAB 特点之一。MATLAB 的所有运算都是定义在复数域上的。这样设计的好处是:在进行运算时,不必像其他程序语言那样把实部、虚部分开处理。为描述复数,虚数单位用预定义变量 i 或 j 表示。复数z=a+bj= rej直

25、角坐标表示和极坐标表示之间转换的 MATLAB 指令如下:real(z) 给出复数z的实部a=rcos 。imag(z) 给出复数z的虚部b=rsin 。abs(z) 给出复数z的模angle(z) 以弧度为单位给出复数z的幅角【例6】图示复数z=3+4 j,z=1+2j 的和z1=4+3*j;z2=1+2*j;z12=z1+z2 %以下用于绘图clf,hold on %clf 清空图形窗。逗号用来分隔两个指令。plot(0,z1,z12,g,LineWidth,3) plot(0,z12,-r,LineWidth,3) plot(z1,z12,s,MarkerSize,8) hold off

26、,grid on, axis equal axis(0,6,0,6) text(3.5,2.3,z1) text(5,4.5,z2) text(2.5,3.5,z12) xlabel(real) ylabel(image) shgz12 = 5.000000000000000 + 5.000000000000000i【练习2】用 Matlab计算。本例证实:Matlab 运算定义是在复数域的实质。a=-8; r_a=a(1/3)r_a = 1.0000 + 1.7321i 解答% 先构造一个多项式 ( p(r)=r3+a )p=1,0,0,-a; %p 是多项式 p(r) 的系数向量R=roo

27、ts(p) %求多项式的根R = -2.0000 1.0000 + 1.7321i 1.0000 - 1.7321i 用图形表示MR=abs(R(1); %计算复根的模t=0:pi/20:2*pi; %产生参变量在 0到 2*pi间的一组采样点x=MR*sin(t); y=MR*cos(t); plot(x,y,b:),grid on %画一个半径为 R的圆 %注意“英文状态逗号”在不同位置的作用hold on plot(R(2),.,MarkerSize,30,Color,r) %画第一象限的方根plot(R(1,3),o,MarkerSize,15,Color,b) %画另两个方根axis

28、(-3,3,-3,3) %保证屏幕显示呈真圆hold off可见对复数进行方根运算时,Matlab只给出处于“第一象限”的那个根。2、 数组运算 面向数组设计的运算MATLAB 特点之二在 MATLAB中,标量数据被看作 (11)的数组(Array)数据。所有的数据都被存放在适当大小的数组中。为加快计算速度(运算的向量化处理),MATLAB对以数组形式存储的数据设计了两种基本运算:一种是所谓的数组运算;另一种是所谓的矩阵运算。【例4】对复数数组进行求实部、虚部、模和幅角的运算。本例演示:复数数组的生成;MATLAB 指令对数组元素并行操作的实质。(1)创建复数数组AR= 1,3;2,4 %数组

29、标识符”;元素分隔符空格或逗号“,”;数组行间分隔符分号;”AI=5,7 %或回车符用来分隔数组中的行。6,8 A=AR-AI*i %形成复数矩阵AR = 1 3 2 4AI = 5 7 6 8A = 1.0000 - 5.0000i 3.0000 - 7.0000i 2.0000 - 6.0000i 4.0000 - 8.0000i (2)求复数数组的实部和虚部A_real=real(A) A_image=imag(A)A_real = 1 3 2 4A_image = -5 -7 -6 -8 (3)求复数数组中各元素的模和幅角Am2=abs(A) Aa2=angle(A)*180/pi %以度为单位计算幅角Am2 =

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2