版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1MATLAB与信号处理2课程内容n1、MATLAB简介n2、MATLAB语言程序设计n3、MATLAB图形功能n3、基于MATLAB的数字信号处理n4、基于MATLAB的数字图像处理n5、基于MATLAB的神经网络设计31. MATLAB简介nMathwork公司n科学研究需要大量的数学计算,用传统的编程语言(C/C+, Basic, Fortran等)实现复杂计算时,需熟练地掌握所用语言的语法及编程技巧,对多数科学工作者而言,编制程序非常繁杂,不仅消耗人力与物力,而且影响工作进程和效率。n为克服上述困难,美国Mathwork公司于1984年推出了商用的“Matrix Laboratory”
2、(缩写为Matlab)软件包, 其内核采用C语言编写,并不断更新和扩充。是一种功能强、效率高便于进行科学和工程计算的交互式软件包。4nMATLAB 语言是当今国际上科学界最具影响力、也是最有活力的软件。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB 语言在各国高校与研究单位起着重大的作用。5 在美国和欧洲大学中,九十年代将MATLAB正式列入了电子工程专业研究生和本科生的教学计划, MATLAB是必须掌握的基本工具。 在设计研究单位和工业界,MATLAB也成为工程师们应该掌握的一种工具,是被认作进行高效研究、开发的首选软
3、件工具。6用户使用方便用户使用方便:稿纸似的编程,无需编译连接;稿纸似的编程,无需编译连接;高效方便的矩阵和数组运算高效方便的矩阵和数组运算 ;具有丰富的数学功能:具有丰富的数学功能: 矩阵各种运算。如:正交变换、三角分解、特征值等。矩阵各种运算。如:正交变换、三角分解、特征值等。 各种特殊函数。如:贝塞尔函数、勒让德函数、伽码函数、各种特殊函数。如:贝塞尔函数、勒让德函数、伽码函数、 贝塔函数、椭圆函数等。贝塔函数、椭圆函数等。 各种数学运算功能。如:数值微分、数值积分、插值、求极各种数学运算功能。如:数值微分、数值积分、插值、求极值、方程求根、值、方程求根、FFT 、常微分方程的数值解等。
4、、常微分方程的数值解等。nMATLAB的特点7 MATLAB的特点具有若干功能强大的应用工具箱具有若干功能强大的应用工具箱 : Communication、Control system、SIGNAL 等等方便的绘图功能方便的绘图功能 :绘图函数很丰富;:绘图函数很丰富; 二维、三维图形、图形用户界面,二维、三维图形、图形用户界面,图形用户图形用户 界面界面GUI制作工具,方便制作用户菜单和控件。制作工具,方便制作用户菜单和控件。具有很好的帮助功能:具有很好的帮助功能:提供十分详细的帮助文件、提供十分详细的帮助文件、连机查询指令连机查询指令help 指令。指令。8nMATLAB编程举例n矩阵运算
5、9n一维信号处理:信号滤波00.20.40.60.81-2.5-2-1.5-1-0.500.511.522.5Time (seconds)Time waveform信号:s1 = sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30);S=s1+s2+s30102030405000.10.20.30.40.50.60.70.80.91Frequency (Hz)Mag. of frequency response滤波器:b,a = ellip(4,0.1,40,10 20*2/Fs);H,w = freqz(b,a,512);00.20.40.6
6、0.81-1-0.8-0.6-0.4-0.200.20.40.60.81Time (seconds)Time waveform滤波后的结果sf = filter(b,a,s);10n二维信号处理:图像处理Original Blood ImageEdge Map11MATLAB的窗口12n源程序编辑器MATLAB的源程序由ACSII构成,任何文本编辑器都可以用来编写MATLAB源程序(如写字板等)。MATLAB的源程序文件名为*.m,在命令窗中直接输入文件名,并回车,既可执行该文件。在调试MATLAB程序时,如果遇到错误信号,命令窗中会给出错误信息,并指出错误在源程序的行号。13nMATLAB的
7、联机帮助Help 命令或函数名点击Help菜单142 MATLAB语言程序设计n2.1 数据类型n2.2 计算功能n2.3 MATLAB语言的控制语句n2.4 数据的I/O及保存和装载n2.5 M文件与M函数n2.6 MATLAB一些使用技巧152.1 数据类型 四种基本数据类型:四种基本数据类型: 双精度数组双精度数组 字符串数组字符串数组 元胞数组元胞数组 构架数组构架数组n1、双精度数组双精度数组nMATLAB最常用的数据类别是双精度;n在MATLAB中变量名区分大小写!16nMATLAB的赋值语句n直接赋值语句:变量=表达式, 例:x=1/3;n函数调用语句:n 返回变量列表=函数名(
8、输入变量列表), 例:x,y,z=mypro(a,b,c,d);nMATLAB中的保留常量ninf无穷大nNaN不定式,如0/0, inf/inf等npi圆周率2.1 数据类型17n矩阵的表示n矩阵运算是MATLAB的灵魂!nMATLAB中矩阵的表示非常容易:123456780AA=1,2,3; 4,5,6; 7,8,0123V V=1 2 3123V V=1; 2; 32.1 数据类型18n复杂矩阵的表示C=A B;125678349012C1 25 6 7 8 B=3 49 0 1 2A2.1 数据类型19n矩阵元素的引用与赋值123456789AA(2,3)6A(1,1:2)1 2A(:
9、,2)A(1:2,2:3)202、字符串及处理、字符串及处理 字符串是用单引号括起来的简单文本n赋值:赋值:s=Hello World! 字符串中的每个字符都是数组中的一个元素,以ASCII码存储,两个字节。2.1 数据类型21n截取:t=This is a character string. u=t(11:20) charactern合并:S=s1, s2, s3;n字符串与双精度数的转换ns=MATLAB;ndouble(s) 77 65 84 76 65 66nD=77nChar(D) M2.1 数据类型223、单元(元胞)数组(、单元(元胞)数组(Cell Array) 将相异但相关的
10、数组集成为一个数组将相异但相关的数组集成为一个数组 元胞数组的基本组分是元胞(元胞数组的基本组分是元胞(Cell),以下标来区分。),以下标来区分。 元胞可以存放任何类型、任何大小的数组元胞可以存放任何类型、任何大小的数组 同一个元胞数组中各元胞的内容可以不同。同一个元胞数组中各元胞的内容可以不同。2.1 数据类型23例:创建单元数组24254、结构(构架)数组(、结构(构架)数组(Structure Array) 也能存放各类数据。也能存放各类数据。该数组的基本组分是构架(该数组的基本组分是构架( Structure ),以下标来区分),以下标来区分构架必须在划分构架必须在划分“域域”后才能
11、使用,后才能使用,数据不能存放于构架,只能存放在域中,数据不能存放于构架,只能存放在域中,构架的域可以存放任何类型、任何大小的数组,构架的域可以存放任何类型、任何大小的数组,不同构架的同名域中存放的内容可不同。不同构架的同名域中存放的内容可不同。2.1 数据类型26例:创建结构27A.*B 两个矩阵中的元素对应相乘数组运算(点运算): .+ 加法,.- 减法,.* 乘法,. 幂, . 左除,./ 右除,.转置。1 1、基本运算、基本运算2.2 计算功能28n矩阵运算转置:加减法:乘法:除法:A 共轭A+B A-BA*BAB AX=B的解A/B XA=B的解乘方:Am2.2 计算功能29 例:例
12、: 已知 的采样数据是 维数组。 要计算 。 对一般的计算语言来说,必须采用两层循环才能得到结果。MATLAB处理这类问题则简洁快捷得多,它只需直截了当的一条指令y = exp(-2*t).*sin(5*t) ,就可获得同样是 维的 数组。 t=rand(10,10); y=exp(-2*t).*sin(5*t);t)(mn)5sin(2teyt)(mny2.2 计算功能30n标准数组的产生A=eye(100)产生100维的单位阵 eye(3)ans = 1 0 0 0 1 0 0 0 12.2 计算功能31ones(n)ones(n,m)产生全1数组zeros(n)zeros(n,m)产生全
13、0数组rand(n)rand(n,m)产生随机数组2.2 计算功能32n矩阵元素的数据变换取整:Round(A) 四舍五入取整节尾:Fix(A) 把元素按离0近的方向取整2.2 计算功能33n2、关系运算和逻辑运算n 关系运算符: n = = =n 逻辑运算符:n & | n如:A=1:9;n tf=A4n 0 0 0 0 1 1 1 1 12.2 计算功能342.3 MATLAB语言的控制语句n循环结构for 循环变量=s1:s2:s3 循环体语句组end while 逻辑变量 循环体语句组end 35n条件语句if 逻辑变量 条件块语句组end if 逻辑变量 条件块语句组1els
14、e 条件块语句组2end 2.3 MATLAB语言的控制语句36n开关结构switch 开关表达式case 表达式1 语句段1case 表达式2 语句段2otherwise 语句段nEnd 2.3 MATLAB语言的控制语句37n试探式语句结构try 语句段1catch 语言段2end 首先试探性的执行语句段1,如果发生错误,则执行语句段2。2.3 MATLAB语言的控制语句382.4 数据的I/O及保存和装载n1、数据的输入/输出n 输入(input)39n输出:disp自由格式,fprintf 格式化n 2.4 数据的I/O及保存和装载40n2、保存与装载n save: 将工作区变量保存在
15、文件中.mat n save filename或save filename variablen load:从文件中装载数据n load filename或load filename variablen可以: n fopen fclose fread fwrite fscanf fprintf2.4 数据的I/O及保存和装载41n文件打开与读写打开文件Fid=fopen(文件名,允许级别)关闭文件Fclose(fid)读文件A=fscanf(fid, 格式, N)写文件fprintf(fid, 格式, 输出变量)A=fread(fid,num,precision)fwrite(fid, array,precision)2.4 数据的I/O及保存和装载42nMATLAB程序:M文件 (M-script) M函数 (M-function) M文件:包含一组MATLAB支持的语句; 直接运行。 M函数:是MATLAB程序设计的主流; 调用。2.5 M文件与M函数43n函数的基本结构Function 返回变量列表=函数名(输入变量列表)%注释语句函数体语句End function x,y,x=mytest(a,b)% This is a sample f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论