MATLAB教程(图形图像处理及MATLAB实现).ppt
《MATLAB教程(图形图像处理及MATLAB实现).ppt》由会员分享,可在线阅读,更多相关《MATLAB教程(图形图像处理及MATLAB实现).ppt(192页珍藏版)》请在冰豆网上搜索。
MATLAB1MATLAB简介简介1DrWangZhengsheng-LectureNotesMatlab简介q在欧美各高等院校,Matlab已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。
Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。
qMatlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。
2DrWangZhengsheng-LectureNotesMatlab简介qMatlab:
MatrixLaboratory矩阵实验室qMatlab的发展的发展l1980年,Moler教授用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。
l1984年,Moler等成立了TheMathWorks的公司,用C语言完全改写Matlab,并推出第一个商业版。
l增添图形图像处理、符号运算、以及与其他流行软件的接口功能,使得Matlab的功能越来越强大。
l到九十年代,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头。
3DrWangZhengsheng-LectureNotesq目前,Matlab已成为世界顶尖的数学应用软件,以其强大的工程计算、算法研究、工程绘图、应用程序开发、数据分析和动态仿真等功能,在航空航天、机械制造和工程建筑等领域发挥着越来越重要的作用。
就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。
qMatlab的发行的发行1984年,Matlab1.0(DOS版,182K,20多个函数)1992年,Matlab4.0(93年推出Windows版,加入simulink)1994年,Matlab4.2(得到广泛重视和应用)1999年,Matlab5.3(真正实现32位运算)2002年,Matlab6.5(采用JIT加速器)2004年,Matlab7.0自2006年起,Matlab每年更新两次Matlab简介4DrWangZhengsheng-LectureNotesq购买(下载)Matlab软件Matlab的安装q插入光盘,自动运行;或点击安装程序setup.exen必须安装的部件MatlabSymbolicMathToolboxExtendedSymbolicMathl这里以Matlab7.0.4为例l自R2008a开始增加了激活要求5DrWangZhengsheng-LectureNotesMatlab的特点与功能qMatlab具有很强的数值计算功能具有很强的数值计算功能lMatlab以以矩阵矩阵作为数据操作的基本单位,作为数据操作的基本单位,但无需预先指定矩阵维数(但无需预先指定矩阵维数(动态定维动态定维)l按照按照IEEE的数值计算标准进行计算的数值计算标准进行计算l提供十分丰富的数值计算函数,方便计算,提高效率提供十分丰富的数值计算函数,方便计算,提高效率lMatlab命令与数学中的符号、公式非常接近,命令与数学中的符号、公式非常接近,可读性强,容易掌握可读性强,容易掌握qMatlab是一个交互式软件系统是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果输入一条命令,立即就可以得出该命令的结果6DrWangZhengsheng-LectureNotesMatlab的特点与功能qMatlab符号计算功能符号计算功能Matlab和著名的符号计算语言和著名的符号计算语言Maple相结合相结合qMatlab的编程功能的编程功能Matlab具有具有程序结构控制程序结构控制、函数调用函数调用、数据结构数据结构、输入输输入输出出、面向对象面向对象等程序语言特征,而且等程序语言特征,而且简单易学简单易学、编程效率编程效率高高。
通过。
通过Matlab进行编程完成特定的任务进行编程完成特定的任务qMatlab的绘图功能的绘图功能Matlab提供丰富的绘图命令,提供丰富的绘图命令,很方便实现数据的可视化很方便实现数据的可视化7DrWangZhengsheng-LectureNotesqMatlab丰富的工具箱(丰富的工具箱(toolbox)Matlab的特点与功能根据专门领域中的特殊需要而设计的各种可选工具箱根据专门领域中的特殊需要而设计的各种可选工具箱qMatlab的的Simulink动态仿真集成环境动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能仿真结果等功能SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification8DrWangZhengsheng-LectureNotesMatlab的基本用法qMatlab系统的启动系统的启动l使用使用Windows“开始开始”菜单菜单l运行运行Matlab系统启动程序系统启动程序matlabl双击双击Matlab快捷图标快捷图标qMatlab系统的退出系统的退出l在在Matlab主窗口主窗口File菜单中选择菜单中选择ExitMatlabl在在Matlab命令窗口输入命令窗口输入exit或或quitl单击单击Matlab主窗口的主窗口的“关闭关闭”按钮按钮9DrWangZhengsheng-LectureNotesMatlab的工作界面命令窗口命令窗口当前工当前工作目录作目录当前工当前工作空间作空间输入命令的输入命令的历史记录历史记录命令命令提示符提示符10DrWangZhengsheng-LectureNotesq定义矩阵:
直接输入法定义矩阵:
直接输入法l矩阵用方括号矩阵用方括号“”括起括起例:
例:
A=123;456;789l矩阵同一行中的元素之间用矩阵同一行中的元素之间用空格空格或或逗号逗号分隔分隔l矩阵行与行之间用矩阵行与行之间用分号分号分开分开l直接输入法中,分号可以用直接输入法中,分号可以用回车回车代替代替例:
例:
矩阵qMatlab的的操作对象是操作对象是矩阵矩阵l:
命令提示符,不用输入:
命令提示符,不用输入:
命令提示符,不用输入:
命令提示符,不用输入ll回车回车回车回车:
运行所输入的命令:
运行所输入的命令:
运行所输入的命令:
运行所输入的命令11DrWangZhengsheng-LectureNotesq矩阵元素可以是任何数值表达式矩阵元素可以是任何数值表达式例:
例:
x=-1.3,sqrt(3),(1+2+3)*4/5矩阵元素赋值q矩阵元素的单独赋值矩阵元素的单独赋值例:
例:
x(5)=abs(x
(1)例:
例:
x(5)=abs(x(6)?
MatlabMatlab自动将向量自动将向量x的长度扩展到的长度扩展到5,并将未赋值部分置零。
并将未赋值部分置零。
12DrWangZhengsheng-LectureNotesq大矩阵可以把小矩阵作为其元素大矩阵可以把小矩阵作为其元素矩阵元素赋值例:
例:
A=A;111213在原矩阵的下方加一行在原矩阵的下方加一行如何在原矩阵的右边添加一列?
如何在原矩阵的右边添加一列?
13DrWangZhengsheng-LectureNotesq单个元素的引用单个元素的引用例:
例:
A(2,3)矩阵元素的引用q多个元素的引用:
冒号的特殊用法多个元素的引用:
冒号的特殊用法利用小括弧和元素所在的位置利用小括弧和元素所在的位置(下标下标)x(i):
向量向量x中的第中的第i个元素个元素A(i,j):
矩阵矩阵A中的第中的第i行,第行,第j列元素列元素a:
b:
c产生一个由产生一个由等差序列等差序列组成的向量;组成的向量;a是首项,是首项,b是公是公差,差,c确定确定最后一项;若最后一项;若b=1,则则b可以省略。
可以省略。
例:
例:
x=1:
2:
5y=1:
2:
6例:
例:
x=2:
1:
5y=2:
5例:
例:
x=3:
2:
114DrWangZhengsheng-LectureNotes例:
例:
x(1:
3)A(3,1:
3)矩阵元素的引用A(i:
j,m:
n)表示由矩阵表示由矩阵A的第的第i到第到第j行和第行和第m到第到第n列交叉线上的元素组成的列交叉线上的元素组成的子矩阵子矩阵。
可利用冒号提取矩阵可利用冒号提取矩阵的整行或整列。
的整行或整列。
例:
例:
A(1,:
)A(:
1:
3)A(:
:
)15DrWangZhengsheng-LectureNotesMatlab帮助系统q联机帮助联机帮助lhelp显示指定命令的简短使用说明显示指定命令的简短使用说明例:
例:
helpeighelphelpq详细使用帮助详细使用帮助ldoc以网页形式以网页形式显示指定命令的帮助页显示指定命令的帮助页例:
例:
doceigq其它相关命令其它相关命令helpdesk、helpwin16DrWangZhengsheng-LectureNotesMatlab查找命令llookfor按指定的关键词查询与之相关的命令按指定的关键词查询与之相关的命令例:
例:
lookforinverselwhich显示指定函数所在的目录显示指定函数所在的目录例:
例:
whicheigq其它相关命令其它相关命令cd、dir、more17DrWangZhengsheng-LectureNotesq变量命名原则变量命名原则Matlab变量u以以字母开头字母开头u后面可以跟后面可以跟字母、数字字母、数字和和下划线下划线u长度长度不超过不超过63个字符个字符(6.5版本以前为版本以前为19个个)u变量名变量名区分字母的区分字母的大小大小写写qMatlab语句的通常形式语句的通常形式变量变量=表达式表达式表达式是用运算符将有关运算量连接起来的式子,表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号其结果被赋给赋值号“=”左边的变量左边的变量18DrWangZhengsheng-LectureNotesq分号和续行符的作用Matlab变量l若不想在屏幕上输出结果,可以在语句最后加若不想在屏幕上输出结果,可以在语句最后加分号分号l如果语句很长,可用如果语句很长,可用续行符续行符“”(三个点)续行(三个点)续行续行符续行符的前面最好留一个空格的前面最好留一个空格例:
例:
19DrWangZhengsheng-LectureNotesq变量的查询Matlab变量lwho显示工作空间中的所有变量显示工作空间中的所有变量lwhos查看工作空间中变量的详细属性查看工作空间中变量的详细属性20DrWangZhengsheng-LectureNotesq系统预定义变量Matlab变量upi:
圆周率圆周率,其值为,其值为imag(log(-1)uinf,Inf:
无穷大无穷大unan,NaN:
Not-a-Number,一个不定值,如,一个不定值,如0/0ueps:
浮点运算相对精度浮点运算相对精度q特殊变量特殊变量ansui,j:
虚部单位,即虚部单位,即应尽量避免给系统预定义变量重新赋值!
应尽量避免给系统预定义变量重新赋值!
21DrWangZhengsheng-