MATLAB基础与应用(电子信息工程专业)

上传人:文*** 文档编号:90935842 上传时间:2019-06-20 格式:PPT 页数:112 大小:3.47MB
返回 下载 相关 举报
MATLAB基础与应用(电子信息工程专业)_第1页
第1页 / 共112页
MATLAB基础与应用(电子信息工程专业)_第2页
第2页 / 共112页
MATLAB基础与应用(电子信息工程专业)_第3页
第3页 / 共112页
MATLAB基础与应用(电子信息工程专业)_第4页
第4页 / 共112页
MATLAB基础与应用(电子信息工程专业)_第5页
第5页 / 共112页
点击查看更多>>
资源描述

《MATLAB基础与应用(电子信息工程专业)》由会员分享,可在线阅读,更多相关《MATLAB基础与应用(电子信息工程专业)(112页珍藏版)》请在金锄头文库上搜索。

1、MATLAB基础与应用,电子信息工程专业,提 纲,MATLAB简介 MATLAB基础 利用MATLAB进行信号与系统分析,MATLAB简介,MATLAB是由美国的MathWorks公司推出的应用软件。 MATLAB是Matrix Laboratory(矩阵实验室)的缩写。,3,MATLAB是什么?,用于科学工程计算的高效率高级语言 语言开发系统 适合多学科、多种工作平台的功能强大的大型软件,4,MATLAB的主要构成,编程语言:以矩阵和数组为基本数据单位的编程语言; 工作环境:一系列应用工具提供编写、调试程序的环境; 图形处理:包括绘制图形和创建GUI等。 数学库函数:包含丰富的数学函数和其他

2、复杂功能函数; API:为MATLAB与其它语言编写的程序进行交互提供接口。,5,MATLAB语言特点(一),采用统一的数据和变量对象矩阵,即数据是矩阵元素的数据,变量是矩阵变量; 在生成矩阵对象时,不要求做明确的维数说明,有丰富的矩阵处理功能; 功能强、易学易用,还可根据实际需要扩充功能; 一条语句或一个函数相当于C语言中的一个子程序或一个处理功能; MATLAB还拥有各种实用的软件,提供了许多通信系统模型,能对系统直接进行仿真;,6,MATLAB语言特点(二),用户可以自己编写函数,绘制系统响应曲线; MATLAB还具有符号运算功能,直接用符号算式进行演算; MATLAB提供了SIMULI

3、NK软件包,该软件包提供了通信和控制系统方块图的图形编程形式,这样利用通信系统方块图的图形对系统直接进行仿真,使得一个很复杂的系统仿真变得相当容易。,7,MATLAB采用了面向对象的技术,以矩阵作为基本数据结构和以矩阵运算为基础,集科学计算和图形可视化为一体。 MATLAB是高层次的矩阵/数组语言,具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。 MATLAB还带有许多针对不同应用所开发的工具箱(Toolboxs)。,8,MATLAB语言特点(三),MATLAB已成为各种系统仿真、数字信号处理、科学可视化的标准语言。 MATLAB已确认为必须掌握的计算工具,是从理论通向实际

4、的桥梁,是最可信赖的科技资源之一。,9,MATLAB语言重要性,MATLAB产品族可以用来进行如下工作:,* 数值分析; * 数值和符号计算; * 工程与科学绘图; * 控制系统的设计与仿真; * 数字图像处理; * 数字信号处理; * 通讯系统设计与仿真; * 财务与金融工程。,10,操作桌面的缺省外貌,11,命令窗口(指令窗) 命令历史窗口(历史指令窗) 工作空间窗口(浏览器) 当前路径(当前目录)窗口,通用操作界面,命令窗口(指令窗)(Command Window) 工作空间窗口(浏览器) ( Workspace Browser ) 命令历史窗口(历史指令窗)(Command Histo

5、ry) 当前路径(当前目录)窗口( Current Directory Browser) 内存数组编辑器(Array Editor ) M文件编辑/调试器( Editor/Debugger ) 帮助导航/浏览器(Help Navigator/Browser) 图形窗口(Figure),12,命令窗口的常用控制指令,13,指令行中的标点符号,14,指令行中的标点符号,15,命令窗口中指令行的编辑,为方便操作,MATLAB不但允许用户在指令窗中对输入指令进行各种编辑和运行,而且允许用户对已经输入的指令进行回调、编辑和重运行。,16,Workspace Browser工作空间窗口简介,列出数据的变量

6、信息,包括变量名、变量数组大小(尺寸)、变量字节大小和变量类型。 基本工作空间或简称为工作空间(Workspace) MATLAB在进行运算时,将变量存储在内存中,这些存储变量的内存空间称为基本工作空间,简称工作空间。 暂时(临时)工作空间: 每当MATLAB在调用执行某一函数时,即进入该函数的暂时工作空间(可视为基本工作空间的下层空间),函数在此空间进行运算,而不影响到基本空间内的变量,当函数执行结束后,MATLAB会同时删除函数的暂时工作空间,并回到基本空间。,17,内存变量查阅、删除的指令操作法,在指令窗中运用who, whos查阅MATLAB内存变量。 who命令:查看现存于基本空间的

7、变量 whos命令:详细查看现存于基本空间的变量 在指令窗中运用clear指令可以删除内存(工作空间内)的某一或所有变量 如:clear A , clearall,18,M脚本文件编写初步,M脚本文件 该文件中的指令形式和前后位置,与解决同一个问题时在命令窗中输入的那组指令没有任何区别。 MATLAB在运行这个脚本时,只是简单地从文件中读取一条条指令,送到MATLAB中去执行。 与在指令窗中直接运行命令一样,脚本文件运行产生的变量都驻留在MATLAB基本工作空间中。 文件扩展名是“.m”。,19,M 文 件 调 试,M语言文件的编辑器meditor不仅仅是一个文件编辑器,同时还是一个可视化的调

8、试开发环境。在M文件编辑器中可以对M脚本文件、函数文件进行调试,以排查程序的错误。M文件的调试不仅可以在文件编辑器中进行,而且还可以在命令行中结合具体的命令进行,但是过程相对麻烦一些,所以重点讲述在M文件编辑器中进行可视化调试的过程。 一般地来说,应用程序的错误有两类,一类是语法错误,另外一类是运行时的错误。其中,语法错误包括了词法或者文法的错误,例如函数名称的拼写错误等。而运行时的错误是指那些程序运行过程中得到的结果不是用户需要的情况。但是,由于M文件是一种解释型语言,语法错误和运行时的错误都只有在运行过程中才能发现,所以程序的调试往往是在程序无法得到正确结果时进行程序修正的惟一手段。,20

9、,M语言的断点( Breakpoints ),为了能够有效地处理各种情况,M语言的断点类型除了类似C语言的用户定义的断点外,还有几种自动断点,分别为 * Stop if Error。 * Stop if Warning。 * Stop if NaN or Inf。 * Stop if All Errors。 这些自动断点可以在程序中设置,当程序运行过程中发生了错误或者警告,则程序运行中断,进入调试状态。,21,M文件编辑器的Breakpoints菜单,22,调试程序的按钮,23,小 结,MATLAB提供了一种高级编程语言M语言,这种语言的语法结构与C语言非常类似,任何熟悉C语言的用户学习使用M

10、语言都不会有任何障碍。 尽管M语言是一种解释性的编程语言,但是随着MATLAB版本的不断升级,以及充分利用MATLAB提供的各种编程技巧,能够有效提高M语言应用程序的执行效率,使M语言成为了工程领域中最适合进行算法开发验证的编程语言。,24,MATLAB基础,一、MATLAB的工作方式 二、如何获取帮助 三、表达式变量、数值、算数运算符、关系运算符、逻辑运算符、冒号运算符 四、数组及其运算 五、函数文件 六、循环(FOR、 WHILE 循环) 七、基本绘图语句,25,一、MATLAB的工作方式,(1)窗口命令方式 (2)运行以 .m 为扩展名磁盘文件,26,工作方式举例,%用plot函数画一个

11、方波 t=-1 0 0 1 1 3; x=0 0 1 1 0 0; plot(t,x); xlabel(t);ylabel(x(t); axis(-1 3 0 2);,直接在命令窗口输入以上命令,建一个名字为my_file.m的文件,然后在命令窗口输入文件名及回车。,27,二、如何获取帮助,命令窗口输入: help+函数名 例如 help plot,28,三、表达式,不需要变量的类型说明 变量名的第一个字符必须是字母 变量名长度:不超过31个字符 大写和小写的字母视为不同的字符 例如:num_students = 25 MATLAB默认的预定义变量,变量,29,MATLAB默认的预定义变量,每

12、当MATLAB启动时,预定义变量(Predefined variable)就被产生。,30,建议:不要对预定义变量名重新赋值,以免产生混淆。,MATLAB默认的预定义变量,每当MATLAB启动时,预定义变量(Predefined variable)就被产生。,31,建议:不要对预定义变量名重新赋值,以免产生混淆。,三、表达式,数值,MATLAB用常规的十进制表示数值 用i或j作为后缀来表示复数的虚部 例 1.235e5表示1.235105,x=2+3j abs(x) 求复数x的模 angle(x) 求复数x的相角(弧度) real(x) 求复数x的实部 imag(x) 求复数x的虚部 conj

13、(x) 求复数x的共轭,32,三、表达式,运算符号,(1)算数运算符,+ 加 - 减 * 乘 / 除 乘方 矩阵的复共轭转置,33,三、表达式,运算符号,(2)逻辑运算符,A & B 逻辑与(and) A | B 逻辑或(or) A 逻辑非(not),值为0时表示逻辑假(F),其它任何非零值表示逻辑真。,34,三、表达式,运算符号,(3)关系运算符,A B 大于 A = B 大于等于 A = B 等于 A = B 不等于,35,三、表达式,运算符号,(4) 冒号运算符,表达式 1:10 表示产生一个行向量,它的值为 1 2 3 4 5 6 7 8 9 10 表达式 10:-2:1 表示产生一个

14、递减的行向量,它的值为 10 8 6 4 2,36,四、数组及其运算,1. 数组的构造,用冒号:产生数组,例 x=2:5 产生一个数组,它的值为 x(1)=2, x(2)=3, x(3)=4, x(4)=5,例 x=linspace(0,2,11)将区间0,2均匀抽样11点作为数组x。,给2维数组赋值时,用分号表示一行的结束。如:z=1 2; 3 4。,用linspace产生数组,37,1. 数组的构造,MATLAB 提供了一些产生基本矩阵的函数 zeros 产生矩阵元素全为0的矩阵 ones 产生矩阵元素全为1的矩阵 rand 产生(0,1)均匀分布随机数矩阵 randn 产生正态分布随机数

15、矩阵,四、数组及其运算,38,2. 数组的运算,数组和一个标量相加或相乘 例 y=x-1 z=3*x 2个数组的对应元素相乘除 .* ./ 例 z=x.*y 确定数组大小的函数 size(A) 返回值数组A的行数和列数(二维)。 length(B) 确定数组B的元素个数(一维)。,四、数组及其运算,39,五、函数文件,M文件的第一行包含function。 功能: 建立一个函数,可以同MATLAB的库函数一样使用。,40,五、函数文件,例1 编一个绘制图示波形的函数。,function y=tri(t) y= abs(t)=1.*(1-abs(t);,调用函数tri,并画出它的波形,t=-2:0

16、.05:2; plot(t,tri(t);,解:,41,六、For 循环,例2 编写计算s=1+2+3+100的MATLAB程序。,s=0; for n=1:100 s=s+n; end,解:,42,七、While 循环,s=0; n=1; eps=1e-6;,while 1/(n*n) eps s=s+1/(n*n); n=n+1; end,例3 计算 的值,且误差小于10-6。,fprintf(s=%.5fn,s),解:,43,八、plot函数绘图函数(continuous),t=linspace(0,4*pi,512); plot(t,sin(t),t,cos(t),-.); title(my figure); xlabel(t); legend(sin(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 公司方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号