DSP01b_Matlab简介_第1页
DSP01b_Matlab简介_第2页
DSP01b_Matlab简介_第3页
DSP01b_Matlab简介_第4页
DSP01b_Matlab简介_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 北京邮电大学信息与通信工程学院多媒体技术中心门爱东北京邮电大学信息与通信工程学院多媒体技术中心门爱东信息与通信工程学院多媒体技术中心信息与通信工程学院多媒体技术中心MATLAB 简介简介Introduction to MATLAB门爱东教授门爱东教授 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东2主题概述主题概述1 Matlab 开始开始历史、起源、功能历史、起源、功能MATLAB 窗窗 a) 命令窗

2、命令窗 b) 图形窗图形窗 c) 演示窗演示窗 d) 编辑窗编辑窗2 Matlab 基础基础3 Matlab 程序程序4 Matlab 扩展扩展5 Matlab 进阶进阶 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东3Matlab 开始开始 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与

3、通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东4MATLAB 开始:开始:历史和起源历史和起源n 最初用最初用 Fortran 编写:编写: 新墨西哥大学计算机科学系主任新墨西哥大学计算机科学系主任 Cleve Moler 在在70年后期开发,年后期开发,使其学生可以交互访问使其学生可以交互访问 LINPACK/EISPACK 库:可信赖的数值和库:可信赖的数值和矩阵计算技术矩阵计算技术 由于其方便和强大,迅速在各个大学和社会得到扩散。由于其方便和强大,迅速在各个大学和社会得到扩散。n 命名命名 MATrix LABoratory MATLABn 早期发行早期发行

4、限制的脚本限制的脚本 行打印图形行打印图形 最初针对大型机,随后发行最初针对大型机,随后发行 Dos 和和 MAC 版本版本n 现在的商业版本现在的商业版本 The MathWorks Inc 公司开发公司开发. Core 采用采用 C 语言编写,出色的可扩展性语言编写,出色的可扩展性 运行于多个平台,优化的接口和计算运行于多个平台,优化的接口和计算 专业版和学生版专业版和学生版 扩展包括扩展包括 “SIMULINK” 和各种和各种 “TOOLBOXES”Cleve Moler, Chief Scientist / Founderhttp:/ Digital Signal Processing

5、, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东5 MATLAB 开始:开始:功能功能n Matlab 是什么?是什么? “技术计算环境,用于技术计算环境,用于高性能数值计算和可视化高性能数值计算和可视化”(官方定义)官方定义)n Matlab 能做什么?能做什么?l为为线性代数线性代数和和科学计算科学计算提供对计算工具的提供对计算工具的“无编译无编译”访问。访问。l利用利用复数数据复数数据的的数组和矩阵数组和矩阵作为基本的变量类型作为基本的变量类型(也有

6、结构和多维性能、字符数据、目标对象)(也有结构和多维性能、字符数据、目标对象)l对于计算的可视化解释,无缝隙集成了对于计算的可视化解释,无缝隙集成了 2D 和和 3D 图形。图形。l对于特定的应用和学科需要,允许和鼓励用户扩展对于特定的应用和学科需要,允许和鼓励用户扩展(M-files 和和 Toolboxs) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东6MatLab 开始:开始:窗窗 (Window

7、s)n 命令窗命令窗 Command Window 当首次进入当首次进入 Matlab 时,命令窗是激活的。时,命令窗是激活的。 在提示符在提示符 处输入交互命令或表达式,例处输入交互命令或表达式,例 help, sqrt(9) 结果自动显示结果自动显示 (ans = )命令(提示符处键入)Matlab 输出Matlab提示符()和光标 ( | ) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东7n 命令

8、窗命令窗 Command Window MATLAB 解释器,解释器,即时即时计算计算/反馈反馈/评价评价 3.5*6.2ans = 21.7000 exp(j*3*pi/4)ans = -0.7071 + 0.7071i MatLab 开始:开始:窗窗 (Windows) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东8n 工作空间窗工作空间窗 Workspace Window 用于显示目前变用于显示目

9、前变量名称、大小、量名称、大小、类型(一般是双类型(一般是双精度的),和所精度的),和所占内存大小。占内存大小。MatLab 开始:开始:窗窗 (Windows) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东9n 图形窗图形窗 Graphics Window用于显示绘图、图形和图象用于显示绘图、图形和图象例如,键入命令例如,键入命令 plot(1,2,4,9,16,1,2,3,4,5)Matlab 画出

10、结果如下:画出结果如下:可以编辑图形、坐标轴的特性可以编辑图形、坐标轴的特性MatLab 开始:开始:窗窗 (Windows) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东10n 演示窗演示窗 Demo Window在命令窗中键入在命令窗中键入 Demo 激活演示窗激活演示窗从左边窗口所列的主题中选择所需的演示从左边窗口所列的主题中选择所需的演示MatLab 开始:开始:窗窗 (Windows) Dig

11、ital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东11n 编辑窗编辑窗 Edit Window用于生成和修改用于生成和修改 M-files (Matlab 程序脚本)程序脚本)命令窗提示符处键入命令窗提示符处键入 edit 命令窗命令窗 File - New or Open 新的或旧的新的或旧的 M 文件文件.工具栏工具栏MatLab 开始:开始:窗窗 (Windows) Digital Signal Proces

12、sing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东12n Help 窗窗通过下拉通过下拉 help 菜单访问菜单访问 - 选择选择 Matlab help or 工具工具栏中选择栏中选择 “?”选择查询的主题选择查询的主题在命令窗中键入在命令窗中键入 help 激活激活“帮助帮助”的非交互版本的非交互版本在下拉在下拉 help 菜单中选择菜单中选择 help 的的 HTML 版本版本(安装时需安装时需选择)选择)MatLab 开始:开始:窗窗 (Wi

13、ndows) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东13主题概述主题概述1 Matlab 开始开始2 Matlab 基础基础基本的数据结构基本的数据结构矩阵矩阵特殊字符特殊字符工作空间管理工作空间管理获得帮助获得帮助3 Matlab 程序程序4 Matlab 扩展扩展5 Matlab 进阶进阶 Digital Signal Processing, Men Aidong, Multimedia Te

14、chnology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东14n 矩阵是矩阵是 MATLAB 的基础的基础n 矩阵数据结构矩阵数据结构Matlab 中所有的变量都表示为矩阵中所有的变量都表示为矩阵标量:标量:11 矩阵矩阵向量:向量:n1 或或 1n 矩阵矩阵矩阵剖析矩阵剖析元素按行列排列元素按行列排列特定的元素可以通过它们的行列位置来引用,特定的元素可以通过它们的行列位置来引用, 如如 a(4,2) = 7 Matlab 基础:基础:矩阵数据结构矩阵数据结构Row 行行Column 列列方阵:行列数相等的矩阵方阵:行

15、列数相等的矩阵a=2 0.5;-4 1;3 2;1 7 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东15Matlab 基础:基础:矩阵数据结构矩阵数据结构% 矩阵输入 A=1 3 5; 6 9 2; 4 8 7A = 1 3 5 6 9 2 4 8 7 det(A) %求矩阵求矩阵 A 的行列式的行列式ans = 5 A2+3*A %矩阵运算矩阵运算ans = 42 79 61 86 142 68 92

16、 164 106MATrix LABoratory- 矩阵数据矩阵数据-线性代数规则线性代数规则 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东16MatLab 基础:基础:特殊字符特殊字符n 分号分号 ;禁止回应禁止回应 echot=0:5;t;tt = 0 1 2 3 4 5 B=1 4 3; 2 9 -5B = 1 4 3 2 9 -5矩阵行分隔矩阵行分隔 Digital Signal Proces

17、sing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东17n 冒号冒号 :例举中项目的分隔例举中项目的分隔:用于产生包含递增或递减数字序列的:用于产生包含递增或递减数字序列的向量向量 x=0:2:12x = 0 2 4 6 8 10 12代表矩阵某行或某列的所有元素代表矩阵某行或某列的所有元素 S 第第 4 行的所行的所 有元素有元素MatLab 基础:基础:特殊字符特殊字符 Digital Signal Processing, Men Aidong,

18、Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东18n 冒号:冒号:从先前定义的矩阵中选择一个从先前定义的矩阵中选择一个子矩阵,子矩阵,假设假设 命令命令 C1=C(:, 2:3) C2=C(3:4,1:2)结果如下:结果如下: MatLab 基础:基础:特殊字符特殊字符 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信

19、工程学院多媒体中心门爱东19n 单引号单引号 共轭转置运算共轭转置运算(注意注意: 共轭!共轭!): 矩阵矩阵 A=A 的转置的转置表示行列互换,得到新的矩阵表示行列互换,得到新的矩阵 A wierd=hello therewierd =hellothere字符串声明字符串声明 m=1+j; 2-3*jm = 1.0000 - 1.0000i 2.0000 + 3.0000iMatLab 基础:基础:特殊字符特殊字符 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多

20、媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东20 n=1+j; 2-3*j.n = 1.0000 + 1.0000i 2.0000 - 3.0000in 周期周期“ .”修改一元或二进制操作修改一元或二进制操作(注意:下例中取消共轭)(注意:下例中取消共轭)n 空矩阵空矩阵:没有包含任何元素的矩阵,例如:没有包含任何元素的矩阵,例如数组运算数组运算:乘:乘 .* 除除 ./ . 等,具体的后面再讲。等,具体的后面再讲。MatLab 基础:基础:特殊字符特殊字符 Digital Signal Processing, Men Aidong, Multimedia Technolog

21、y Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东21n 逗号逗号 ,在一行中分在一行中分隔多个命令,隔多个命令,没有输出抑没有输出抑制。制。 a=3; b=1b = 1 a=3 b=1? a=3 b |Missing operator, comma, or semi-colon. a=3, b=1a = 3b = 1 a=3 % b=1a = 3n 百分比符号百分比符号 此行中其后的所有的命令都忽略此行中其后的所有的命令都忽略(用于注释)用于注释)MatLab 基础:基础:特殊字符特殊字符 Digital Signal P

22、rocessing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东22n 工作空间工作空间 (Workspace):):显示目前变量名称、大显示目前变量名称、大小、类型和所占内存大小等。小、类型和所占内存大小等。cleart=0:5;T=0:0.5:5;whoYour variables are:T t whos Name Size Bytes Class T 1x11 88 double array t 1x6 48 double arrayGrand

23、total is 17 elements using 136 bytesclear 函数从函数从工作空间中清除工作空间中清除变量(函数)变量(函数)n 非常快速的键入:非常快速的键入: a=exp(j*t); whosMatlab 基础:基础:工作空间工作空间 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东23n 管理命令:管理命令:在命令窗中键入下列命令在命令窗中键入下列命令 (有些任务也可以有些任务也

24、可以通过通过 File 下拉菜单访问):下拉菜单访问):MatLab 基础:基础:工作空间管理工作空间管理P.S. 这些命令都这些命令都有许多选项。有许多选项。例如例如 matlab.mat 只是缺只是缺省文件名。省文件名。 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东24MatLab 基础:基础:获得帮助获得帮助n 几种方法几种方法命令行命令行 helpHELP topics:matlabgenera

25、l - General purpose commands. :matlabfunfun - Function functions and ODE solvers. :toolboxsignal - Signal Processing Toolbox.For more help on directory/topic, type help topic.下拉菜单下拉菜单 Help注意注意: 多种方式,包括多种方式,包括 HTML and PDF Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大

26、学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东25n lookfor 命令将在大多数命令将在大多数 help 主题中进行关键词主题中进行关键词搜索搜索 (用用 Ctrl-C 终止搜索,可能需要一定时间终止搜索,可能需要一定时间)n 注意在命令行注意在命令行 help 描述中描述中命令命令 都采用大写字母都采用大写字母 help eps EPS Floating point relative accuracy. EPS returns the distance from 1.0 to the next largest floating point number

27、. EPS is used as a default tolerance by PINV and RANK, as well as several other MATLAB functions. See also REALMAX, REALMIN. EPS? Undefined variable or capitalized internal function EPS; Caps Lock may be on. epseps = 2.2204e-016MatLab 基础:基础:获得帮助获得帮助 Digital Signal Processing, Men Aidong, Multimedia

28、Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东26主题概述主题概述1 Matlab 开始开始2 Matlab 基础基础3 Matlab 程序程序4 Matlab 扩展扩展5 Matlab 进阶进阶n 变量:变量:变量名称、赋值和分配变量名称、赋值和分配n 函数:函数: 基本计算、结果显示基本计算、结果显示 数组运算数组运算 vs.矩阵运算矩阵运算 基本数学函数和数据分析函数基本数学函数和数据分析函数 多项式定义和处理多项式定义和处理n 绘图:绘图:2D和和3Dn 程序流程控制:程序流程控制: 关系和逻辑

29、运算关系和逻辑运算 块结构化的编程(块结构化的编程(If、For、While)n 程序文本:程序文本: 脚本文件脚本文件 M-Files 函数文件函数文件 Function Files Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东27MATLAB 程序:程序:变量命名变量命名n MATLAB 区分大小写区分大小写! (注意在线注意在线 Help 中都采用中都采用大写字母)。因此,大写字母)。因此,A 和

30、和 a 表示不同的变量。表示不同的变量。n 变量名字必须变量名字必须以字母开头以字母开头 A-Z a-zn 每个名字由每个名字由 31个字母、数字和下划线等个字母、数字和下划线等唯一唯一组成组成n 使用使用 who or whos 检测当前工作空间中变量检测当前工作空间中变量n 使用使用 which 命令诊断是否存在名字冲突命令诊断是否存在名字冲突 which detdet is a built-in function. det=125.2; which detdet is a variable. clear det Digital Signal Processing, Men Aidong,

31、 Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东28n 变量赋值:直接的显式列出变量赋值:直接的显式列出数值放在方括号里数值放在方括号里 A=3,5;数值通常按行输入,行之间用分号隔开数值通常按行输入,行之间用分号隔开 C=-1,0,0;1,-1,0;0,0,2;省略最后的分号,将使省略最后的分号,将使 Matlab 自动显示矩阵值自动显示矩阵值MATLAB 程序:程序:变量赋值变量赋值自动输出自动输出每行可分别列出每行可分别列出 Digital Signal Processing

32、, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东29长的行数据可以长的行数据可以在逗号后加省略号(在逗号后加省略号(3个点),个点),得以在下一得以在下一行继续。行继续。 F=1, 52, 64, 197, 42, -42, 55, 82, 22, 109通过引用特定的位置可以单独改变某个矩阵元素通过引用特定的位置可以单独改变某个矩阵元素如果如果 S=5, 6, 4用命令用命令 S(2)=8 把矩阵把矩阵 S 的第二个元素的数值由的第二个元素的数值由 6

33、改为改为 8.可以引用先前定义的矩阵,重新定义一个新的矩阵。例如,可以引用先前定义的矩阵,重新定义一个新的矩阵。例如,如果如果 S=5,6,4,我们定义一个新的矩阵:,我们定义一个新的矩阵:SMATLAB 程序:程序:变量赋值变量赋值 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东30n 用户输入用户输入 User InputInput 命令显示一个字符串,并等待用户响应命令显示一个字符串,并等待用户响应

34、输入的数值存为特定的变量输入的数值存为特定的变量矩阵必须使用正确的语法从键盘输入。矩阵必须使用正确的语法从键盘输入。注意这个命令在运行注意这个命令在运行 Matlab 脚本时非常有用脚本时非常有用user responseMATLAB responseMATLAB 程序:程序:变量赋值变量赋值 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东31n .mat 文件是文件是 save 命令的缺省格式命令的缺省

35、格式紧凑格式,节省磁盘空间紧凑格式,节省磁盘空间不能输出给其它应用软件不能输出给其它应用软件n save 命令的通用形式命令的通用形式 save -option1 -option2, etc. 例如:例如:MATLAB 程序:程序:变量的保存和调入变量的保存和调入OperationMATLAB Syntax变变量量 m 存存为为文文件件 file.matsave file m变变量量 m 以以 8bit 数数字字精精度度/文文本本格格式式存存为为文文件件 file.matsave file.dat m -ascii变变量量 m 以以 16bit 数数字字精精度度/文文本本格格式式存存为为文文件

36、件 file.matsave file.dat m -ascii -double变变量量 m 以以 16bit 数数字字精精度度/文文本本格格式式存存为为文文件件 file.mat ,每每个个元元素素以以制制表表符符 tab 划划界界。save file.dat m -ascii double -tabsn ASCII(text)文件)文件可以用字处理软件可以用字处理软件(wordpad or NotePad)浏览、修)浏览、修改或准备。改或准备。n ASCII 文件中矩阵文件中矩阵的每一行包含一个的每一行包含一个隔离隔离 line。 Digital Signal Processing, Me

37、n Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东32MATLAB 程序:程序:简单的变量分配简单的变量分配 n 标量标量 Scalars clear; a=1; b=2.0; c=1+j*2; d=Hello; whos Name Size Bytes Class a 1x1 8 double array b 1x1 8 double array c 1x1 16 double array (complex) d 1x5 10 char arrayGrand to

38、tal is 8 elements using 42 bytes Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东33n 数组数组 Arrays (实数、复数、字符)实数、复数、字符)=(double, complex, char) clear; a=0:0.1:1; b=0:0.1:1; c=0:0.1:1; d=0 j 1; e=1 abc 3; whos Name Size Bytes Class a

39、 1x11 88 double array b 1x11 88 double array c 11x1 88 double array d 1x3 48 double array (complex) e 1x5 10 char arrayGrand total is 41 elements using 322 bytesWhat is the content of variable e ?MATLAB 程序:程序:简单的变量分配简单的变量分配 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮

40、电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东34n 矩阵矩阵 (实数、复数实数、复数) clear; a=0 1; 5 9; b=j 1; 0 2; c=a b; d=a; b; e=; whos Name Size Bytes Class a 2x2 32 double array b 2x2 64 double array (complex) c 2x4 128 double array (complex) d 4x2 128 double array (complex) e 0 x0 0 double arrayGrand total is 24

41、 elements using 352 bytes利用利用 “空矩阵空矩阵 ” 分配,例如上述的分配,例如上述的 e 变量,用变量,用于各种初始化任务,例如预先分配内存空间。于各种初始化任务,例如预先分配内存空间。MATLAB 程序:程序:简单的变量分配简单的变量分配 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东35n 结构结构 Structures范例范例: “结构化的数据集合结构化的数据集合” my

42、=Jerry; mystuff.age=35; mystuff.family=Chris Margo Maxmystuff = name: Jerry age: 34 family: 1x3 cell whos Name Size Bytes Class mystuff 1x1 692 struct arrayGrand total is 25 elements using 692 bytes help struct STRUCT Create or convert to structure array. . See also CLASS, CELL, GETFIELD,

43、SETFIELD, RMFIELD, FIELDNAMES.也能产生结构也能产生结构“数组数组”注意注意: MATLAB Objects are structures with methods!MATLAB 程序:程序:变量分配变量分配 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东36n Matlab 标量计算服从标准的代数优先顺序标量计算服从标准的代数优先顺序(运算顺序运算顺序)n 两个标量两个标量

44、a 和和 b 之间的算术运算:之间的算术运算:MATLAB 函数:函数:标量运算和特殊的标量标量运算和特殊的标量n 特 殊 的 标 量 值 :特 殊 的 标 量 值 : Matlab 预定义的一些预定义的一些数值。数值。n 在在 Matlab 中重新定中重新定义这些数值将引起义这些数值将引起不可预测的结果。不可预测的结果。OperationMATLAB Syntax加加 additiona + b减减 subtractiona - b乘乘 multiplicationa * b除除 divisiona / b幂幂 exponentiationa b Digital Signal Process

45、ing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东37MATLAB 函数:函数:数组运算数组运算 vs 矩阵运算矩阵运算n 当计算涉及非标量变量时,必须注意维数和说明当计算涉及非标量变量时,必须注意维数和说明n 有两个基本说明:有两个基本说明: Array Operations 数组运算数组运算 (元素对元素)元素对元素) Matrix/Vector 矩阵运算矩阵运算n 两者都有用,用户必须仔细编写计算,并从两者都有用,用户必须仔细编写计算,并从 Ma

46、tlab 中选择合适的函数。中选择合适的函数。 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东38MATLAB 函数:函数:数组运算数组运算n 数组运算:两个相同大小的矩阵的元素对元素运算数组运算:两个相同大小的矩阵的元素对元素运算(点运算)(点运算)n 特别注意:数组(特别注意:数组(Array)运算和矩阵()运算和矩阵(Matrix)运算不相同!)运算不相同!OperationMATLAB Synta

47、xadditiona + bsubtractiona - bmultiplicationa .* bdivisiona ./ bexponentiationa . ba = 3 4 2 2 1 5b = 5 6 7 8 9 10a.*b = 15 24 14 16 9 50 x=0:1:5;pofx=x2+2*x+1? Error using = Matrix must be square. pofx=x.2+2*x+1pofx = 1 4 9 16 25 36 Digital Signal Processing, Men Aidong, Multimedia Technology Centr

48、e, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东39MATLAB 函数:函数:数组运算数组运算 t=linspace(0,2*pi,5)t = 0 1.5708 3.1416 4.712 6.2832 cos(t).2+sin(t).2ans = 1 1 1 1 1 n 关键是关键是 “.” 和非矩阵函数和非矩阵函数 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院

49、多媒体中心门爱东40n 不同于前面讨论的数组不同于前面讨论的数组 (arry) 运算运算n 某些矩阵运算只能在某些条件下方能执行:如果某些矩阵运算只能在某些条件下方能执行:如果矩阵是方阵,或如果两个输入矩阵是一致的。矩阵是方阵,或如果两个输入矩阵是一致的。MATLAB 函数:函数:矩阵运算矩阵运算 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东41MATLAB 函数:函数:矩阵运算矩阵运算n 行行/列列

50、内部维数必须一致内部维数必须一致 a=2 3; 5 1; b=1 2; c=a*b? Error using = *Inner matrix dimensions must agree. c=a*bc = 8 7 a=2 0; 0 3; exp(a), expm(a)ans = 7.38905609893065 1.00000000000000 1.00000000000000 20.08553692318767 ans = 7.38905609893065 0 0 20.08553692318770n 选择合适的选择合适的 MATLAB 函数函数! (“m” suffix) Digital

51、Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东42MATLAB 函数:函数:特殊矩阵特殊矩阵MATLAB MatrixCommandResultzeros(m,n)产产生生 mn 零零矩矩阵阵ones(m,n)产产生生 mn 全全 1 矩矩阵阵zeros(m)产产生生 mm 全全零零方方阵阵ones(m)产产生生 mm 全全 1 方方阵阵eye(m)产产生生 mm 单单位位矩矩阵阵diag(A)把把矩矩阵阵 A 的的主主

52、对对角角元元素素放放为为一一个个列列向向量量diag(V,0)以以向向量量 V 为为主主对对角角线线元元素素产产生生一一个个矩矩阵阵rand均均匀匀分分布布的的随随机机矩矩阵阵randn正正态态分分布布的的随随机机矩矩阵阵tril提提取取左左下下三三角角阵阵triu提提取取右右上上三三角角阵阵n 特殊矩阵:内置函数用于标准处理特殊矩阵:内置函数用于标准处理and many more. Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通

53、信工程学院多媒体中心门爱东43MATLAB 函数:函数:基本数学运算基本数学运算n 指定数组元素上的运算指定数组元素上的运算MATLABFunctionDescriptionabs(x)计计算算 x 的的绝绝对对值值sqrt(x)计计算算 x 的的平平方方根根round(x)把把 x 舍舍入入到到最最近近的的整整数数(四四舍舍五五入入)fix(x)把把 x 沿沿 0 的的方方向向舍舍入入到到最最近近的的整整数数floor(x)把把 x 舍舍入入为为比比 x 小小的的最最近近的的整整数数ceil(x)把把 x 舍舍入入为为比比 x 大大的的最最近近的的整整数数sign(x)若若 x 小小于于 0

54、,返返回回 1,若若 x 是是 0,返返回回 0;其其它它返返回回 1。rem(x,y)计计算算 x/y 的的余余数数,如如 rem(25,4)=1exp(x)计计算算 ex 的的值值log(x)计计算算 x 的的自自然然对对数数 log(x) ,以以 e 为为底底。Log2(x)计计算算 log2(x)log10(x)计计算算 log10(x) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东44MATL

55、AB 函数:函数:基本数学运算基本数学运算n 三角函数三角函数Matlab 中的三角函数把角度表示为弧度中的三角函数把角度表示为弧度可用的函数包括可用的函数包括 sin(x), cos(x), tan(x), asin(x), acos(x), atan(x)。其余的三角函数可以通过相应的关系计算,例如其余的三角函数可以通过相应的关系计算,例如 sec(x)=1/cos(x) Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学

56、院多媒体中心门爱东45MATLAB 函数:函数:数据分析函数数据分析函数MATLABFunctionDescriptionmax(x)(a) 返回向量返回向量 x 的最大值的最大值(b) 返回矩阵返回矩阵 x 中每列的最大元素,输出一个行向量中每列的最大元素,输出一个行向量max(x,y)比较大小相等的矩阵比较大小相等的矩阵 x 和和 y,返回同样大小的一个,返回同样大小的一个矩阵,此矩阵包含两个矩阵中每个位置上较大值矩阵,此矩阵包含两个矩阵中每个位置上较大值min(x)(a) 返回向量返回向量 x 的最小值的最小值(b) 返回矩阵返回矩阵 x 中每列的最小元素,输出一个行向量中每列的最小元素

57、,输出一个行向量min(x,y)比较大小相等的矩阵比较大小相等的矩阵 x 和和 y,返回同样大小的一个,返回同样大小的一个矩阵,此矩阵包含两个矩阵中每个位置上较小值矩阵,此矩阵包含两个矩阵中每个位置上较小值mean(x)(a) 计算向量计算向量 x 元素的均值元素的均值(b) 计算矩阵计算矩阵 x 每列的均值,构成行向量每列的均值,构成行向量median(x)(a) 计算向量计算向量 x 元素的中值元素的中值(b) 计算矩阵计算矩阵 x 每列的中值,构成行向量每列的中值,构成行向量 Digital Signal Processing, Men Aidong, Multimedia Techno

58、logy Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东46MATLAB 函数:函数:数据分析函数数据分析函数 Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与通信工程学院多媒体中心门爱东47MATLAB 函数:函数:数据分析函数数据分析函数n 更多更多. cholCholesky 因数分解因数分解 cond矩阵制约数矩阵制约数 det行列式行列式 eig特征值和特

59、征向量特征值和特征向量 Eigenvalues and eigenvectors expm矩阵指数矩阵指数 inv逆矩阵逆矩阵 logm矩阵对数矩阵对数 luLU 因子因子 norm矩阵和向量范数矩阵和向量范数 nullNull space poly特征多项式特征多项式 rank矩阵秩矩阵秩 rrefReduced row echelon formand many, many more Digital Signal Processing, Men Aidong, Multimedia Technology Centre, BUPT北京邮电大学信息与通信工程学院多媒体中心门爱东北京邮电大学信息与

60、通信工程学院多媒体中心门爱东48MATLAB 函数:函数:结果显示结果显示n 最简单的方法:键入矩阵的名字最简单的方法:键入矩阵的名字矩阵的名字将被重复矩阵的名字将被重复矩阵的内容将在下一行中显示矩阵的内容将在下一行中显示 MATLABCommandDisplay ModeExampleformat shortdefault15.2345format long14 decimals15.23453333333333format short e4 decimals1.5235e+01format long e15 decimals1.523453333333333e+01format bank2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论