MATLAB教程图形图像处理及MATLAB实现.ppt

上传人:wj 文档编号:12684859 上传时间:2023-06-07 格式:PPT 页数:192 大小:2.73MB
下载 相关 举报
MATLAB教程图形图像处理及MATLAB实现.ppt_第1页
第1页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第2页
第2页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第3页
第3页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第4页
第4页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第5页
第5页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第6页
第6页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第7页
第7页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第8页
第8页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第9页
第9页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第10页
第10页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第11页
第11页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第12页
第12页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第13页
第13页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第14页
第14页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第15页
第15页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第16页
第16页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第17页
第17页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第18页
第18页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第19页
第19页 / 共192页
MATLAB教程图形图像处理及MATLAB实现.ppt_第20页
第20页 / 共192页
亲,该文档总共192页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB教程图形图像处理及MATLAB实现.ppt

《MATLAB教程图形图像处理及MATLAB实现.ppt》由会员分享,可在线阅读,更多相关《MATLAB教程图形图像处理及MATLAB实现.ppt(192页珍藏版)》请在冰点文库上搜索。

MATLAB教程图形图像处理及MATLAB实现.ppt

1,DrWangZhengsheng-LectureNotes,MATLAB,1MATLAB简介,DrWangZhengsheng-LectureNotes,2,Matlab简介,在欧美各高等院校,Matlab已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。

Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。

DrWangZhengsheng-LectureNotes,3,Matlab简介,Matlab:

MatrixLaboratory矩阵实验室,Matlab的发展,1980年,Moler教授用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。

1984年,Moler等成立了TheMathWorks的公司,用C语言完全改写Matlab,并推出第一个商业版。

增添图形图像处理、符号运算、以及与其他流行软件的接口功能,使得Matlab的功能越来越强大。

到九十年代,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头。

DrWangZhengsheng-LectureNotes,4,目前,Matlab已成为世界顶尖的数学应用软件,以其强大的工程计算、算法研究、工程绘图、应用程序开发、数据分析和动态仿真等功能,在航空航天、机械制造和工程建筑等领域发挥着越来越重要的作用。

就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。

Matlab的发行,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简介,DrWangZhengsheng-LectureNotes,5,购买(下载)Matlab软件,Matlab的安装,插入光盘,自动运行;或点击安装程序setup.exe,必须安装的部件MatlabSymbolicMathToolboxExtendedSymbolicMath,这里以Matlab7.0.4为例自R2008a开始增加了激活要求,DrWangZhengsheng-LectureNotes,6,Matlab的特点与功能,Matlab具有很强的数值计算功能,Matlab以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维),按照IEEE的数值计算标准进行计算,提供十分丰富的数值计算函数,方便计算,提高效率,Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握,Matlab是一个交互式软件系统,输入一条命令,立即就可以得出该命令的结果,DrWangZhengsheng-LectureNotes,7,Matlab的特点与功能,Matlab符号计算功能,Matlab和著名的符号计算语言Maple相结合,Matlab的编程功能,Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。

通过Matlab进行编程完成特定的任务,Matlab的绘图功能,Matlab提供丰富的绘图命令,很方便实现数据的可视化,DrWangZhengsheng-LectureNotes,8,Matlab丰富的工具箱(toolbox),Matlab的特点与功能,根据专门领域中的特殊需要而设计的各种可选工具箱,Matlab的Simulink动态仿真集成环境,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能,DrWangZhengsheng-LectureNotes,9,Matlab的基本用法,Matlab系统的启动,使用Windows“开始”菜单运行Matlab系统启动程序matlab双击Matlab快捷图标,Matlab系统的退出,在Matlab主窗口File菜单中选择ExitMatlab在Matlab命令窗口输入exit或quit单击Matlab主窗口的“关闭”按钮,DrWangZhengsheng-LectureNotes,10,Matlab的工作界面,命令窗口,当前工作目录,当前工作空间,输入命令的历史记录,命令提示符,DrWangZhengsheng-LectureNotes,11,定义矩阵:

直接输入法,矩阵用方括号“”括起,例:

A=123;456;789,矩阵同一行中的元素之间用空格或逗号分隔,矩阵行与行之间用分号分开,直接输入法中,分号可以用回车代替,例:

矩阵,Matlab的操作对象是矩阵,:

命令提示符,不用输入回车:

运行所输入的命令,DrWangZhengsheng-LectureNotes,12,矩阵元素可以是任何数值表达式,例:

x=-1.3,sqrt(3),(1+2+3)*4/5,矩阵元素赋值,矩阵元素的单独赋值,例:

x(5)=abs(x

(1),例:

x(5)=abs(x(6)?

Matlab自动将向量x的长度扩展到5,并将未赋值部分置零。

DrWangZhengsheng-LectureNotes,13,大矩阵可以把小矩阵作为其元素,矩阵元素赋值,例:

A=A;111213,在原矩阵的下方加一行,如何在原矩阵的右边添加一列?

DrWangZhengsheng-LectureNotes,14,单个元素的引用,例:

A(2,3),矩阵元素的引用,多个元素的引用:

冒号的特殊用法,利用小括弧和元素所在的位置(下标),x(i):

向量x中的第i个元素A(i,j):

矩阵A中的第i行,第j列元素,例:

x=3:

2:

1,DrWangZhengsheng-LectureNotes,15,例:

x(1:

3)A(3,1:

3),矩阵元素的引用,A(i:

j,m:

n)表示由矩阵A的第i到第j行和第m到第n列交叉线上的元素组成的子矩阵。

可利用冒号提取矩阵的整行或整列。

例:

A(1,:

)A(:

1:

3)A(:

:

),DrWangZhengsheng-LectureNotes,16,Matlab帮助系统,DrWangZhengsheng-LectureNotes,17,Matlab查找命令,lookfor按指定的关键词查询与之相关的命令,例:

lookforinverse,DrWangZhengsheng-LectureNotes,18,变量命名原则,Matlab变量,DrWangZhengsheng-LectureNotes,19,分号和续行符的作用,Matlab变量,若不想在屏幕上输出结果,可以在语句最后加分号,如果语句很长,可用续行符“”(三个点)续行续行符的前面最好留一个空格,例:

DrWangZhengsheng-LectureNotes,20,变量的查询,Matlab变量,who显示工作空间中的所有变量,whos查看工作空间中变量的详细属性,DrWangZhengsheng-LectureNotes,21,系统预定义变量,Matlab变量,pi:

圆周率,其值为imag(log(-1),inf,Inf:

无穷大,nan,NaN:

Not-a-Number,一个不定值,如0/0,eps:

浮点运算相对精度,特殊变量ans,i,j:

虚部单位,即,应尽量避免给系统预定义变量重新赋值!

DrWangZhengsheng-LectureNotes,22,数与算术表达式,Matlab数值运算,浮点运算的相对误差为eps,浮点数表示范围为:

10-30810308,复数作为矩阵元素输入时,加号两边不能有空格!

DrWangZhengsheng-LectureNotes,23,数学运算符,+加法,Matlab数值运算,-减法,*乘法,/和除法(右除和左除),幂运算,命令分隔符:

逗号和分号,DrWangZhengsheng-LectureNotes,24,输出格式,Matlab的输出,Matlab以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量“ans”,Matlab中数的输出格式可以通过format命令指定,format只改变变量的输出格式,但不会影响变量的值!

DrWangZhengsheng-LectureNotes,25,各种format格式,DrWangZhengsheng-LectureNotes,26,变量的存储,存储当前工作空间中的变量,save将所有变量存入文件matlab.mat,savemydata将所有变量存入指定文件mydata.mat,存储指定的变量,savemydata.mat将所有变量存入文件mydata.mat,save文件名变量名列表,例:

savemydataAxz,变量名列表中各变量之间用空格分隔,DrWangZhengsheng-LectureNotes,27,变量的读取,清除当前工作空间中的变量,clear清除当前工作空间中的所有变量,clearAx清除指定的变量,DrWangZhengsheng-LectureNotes,28,几个小技巧,Matlab的命令记忆功能:

上下箭头键,命令补全功能:

Tab键,可以先输入命令的前几个字符,再按上下键缩小搜索范围,用Esc键删除命令行,DrWangZhengsheng-LectureNotes,29,Lecture2MATLAB矩阵(数值)运算,DrWangZhengsheng-LectureNotes,30,利用函数建立数值矩阵:

MATLAB提供了许多生成和操作矩阵的函数,可以利用它们去建立矩阵。

例如:

reshape函数和diag函数等。

reshape函数用于建立数值矩阵。

diag函数用于产生对角阵。

利用M文件建立矩阵:

对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。

其步骤为:

第一步:

使用编辑程序输入文件内容。

第二步:

把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。

第三步:

在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。

建立矩阵,DrWangZhengsheng-LectureNotes,31,利用M文件建立矩阵:

对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。

其步骤为:

第一步:

使用编辑程序输入文件内容。

第二步:

把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。

第三步:

在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。

子矩阵操作,建立矩阵,DrWangZhengsheng-LectureNotes,32,2矩阵的基本运算()矩阵转置()矩阵加和减()矩阵乘法()矩阵除法Ab=inv(A)*b()矩阵的乘方a2,DrWangZhengsheng-LectureNotes,33,3矩阵的函数helpmatfunMatrixfunctions-numericallinearalgebra.Matrixanalysis.norm-Matrixorvectornorm.normest-Estimatethematrix2-norm.rank-Matrixrank.det-Determinant.trace-Sumofdiagonalelements.null-Nullspace.orth-Orthogonalization.rref-Reducedrowechelonform.subspace-Anglebetweentwosubspaces.,DrWangZhengsheng-LectureNotes,34,3矩阵的函数Linearequations.and/-Linearequationsolution;usehelpslash.inv-Matrixinverse.rcond-LAPACKreciprocalconditionestimatorcond-Conditionnumberwithrespecttoinversion.condest-1-normconditionnumberestimate.normest1-1-normestimate.chol-Choleskyfactorization.cholinc-IncompleteCholeskyfactorization.lu-LUfactorization.luinc-IncompleteLUfactorization.qr-Orthogonal-triangulardecomposition.lsqnonneg-Linearleastsquareswithnonnegativityconstraints.pinv-Pseudoinverse.lscov-Leastsquareswithknowncovariance.,DrWangZhengsheng-LectureNotes,35,3矩阵的函数Eigenvaluesandsingularvalues.eig-Eigenvaluesandeigenvectors.svd-Singularvaluedecomposition.gsvd-Generalizedsingularvaluedecomposition.eigs-Afeweigenvalues.svds-Afewsingularvalues.poly-Characteristicpolynomial.polyeig-Polynomialeigenvalueproblem.condeig-Conditionnumberwithrespecttoeigenvalues.hess-Hessenbergform.qz-QZfactorizationforgeneralizedeigenvalues.schur-Schurdecomposition.,DrWangZhengsheng-LectureNotes,36,3矩阵的函数Matrixfunctions.expm-Matrixexponential.logm-Matrixlogarithm.sqrtm-Matrixsquareroot.funm-Evaluategeneralmatrixfunction.Factorizationutilitiesqrdelete-DeleteacolumnorrowfromQRfactorization.qrinsert-InsertacolumnorrowintoQRfactorization.rsf2csf-Realblockdiagonalformtocomplexdiagonalform.cdf2rdf-Complexdiagonalformtorealblockdiagonalform.balance-Diagonalscalingtoimproveeigenvalueaccuracy.planerot-Givensplanerotation.cholupdate-rank1updatetoCholeskyfactorization.qrupdate-rank1updatetoQRfactorization.,DrWangZhengsheng-LectureNotes,37,4建立矩阵的函数常用函数有:

eye(size(A)产生与A矩阵同阶的单位矩阵zeros(m,n)产生0矩阵ones(m,n)产生幺矩阵rand(m,n)产生随机元素的矩阵Size(a)返回包含两个元素的向量。

Length(a)返回向量的长度。

DrWangZhengsheng-LectureNotes,38,常见矩阵生成函数,DrWangZhengsheng-LectureNotes,39,5数组运算

(1)数组的加和减

(2)数组的乘和除(3)数组的乘方,DrWangZhengsheng-LectureNotes,40,6应用举例,1、行列式计算;2、求解线性方程组;3、解特征值问题,DrWangZhengsheng-LectureNotes,41,Lecture3MATLAB图形与可视化(Graphic),DrWangZhengsheng-LectureNotes,42,Lecture3Matlab图形可视化,基本要求

(1)掌握图形窗口的创建与控制,以及图形窗口的基本操作;

(2)熟练掌握二维和三维绘图基本的命令、线型控制;(3)初步掌握用特殊的图形来表现特殊数据的性质,如面积图、直方图、饼图等。

(4)掌握坐标轴的控制和图形标注命令及其用法。

DrWangZhengsheng-LectureNotes,43,Lecture3Matlab图形可视化,A、二维平面图形与坐标系1.几个基本的绘图命令a.线性坐标曲线plot函数命令plot是MATLAB二维曲线绘图中最简单、最重要、使用最广泛的一个线性绘图函数。

它可以生成线段、曲线和参数方程曲线的函数图形。

命令格式:

plot(X,Y)plot(x1,y1,x2,y2,):

综合调用方式,DrWangZhengsheng-LectureNotes,44,Lecture3Matlab图形可视化,用命令plot(x,y)绘制函数y=cos(x)在两个周期内的图形。

x=0:

0.01:

2*pi;y=cos(x);plot(x,y)在同一图形窗口中用命令plot(x,y)绘出正弦余弦函数的图形。

x=0:

0.01:

2*pi;y=sin(x);cos(x);plot(x,y),DrWangZhengsheng-LectureNotes,45,Lecture3Matlab图形可视化,二维函数曲线专用命令fplot用plot绘图在确定自变量的取值间隔时,一般采用平均间隔,有时会因某处间距太大,而不能反映出函数的变化情况。

fplot是绘制函数y=f(x)图形的专用命令,它的数据点是自适应产生的,对那些导数变化较大的函数,用fplot函数绘出的曲线比等分取点所画出的曲线更加接近真实。

fplot函数命令的调用格式为:

X,Y=fplot(fun,lims)fun:

函数名字符串;lims:

定义x的取值区间,lims=xmin,xmax;二维函数曲线专用命令ezplot,DrWangZhengsheng-LectureNotes,46,Lecture3Matlab图形可视化,2.线型和颜色plot函数可以设置曲线的线段类型、定点标记和线段颜色。

常用的线段、颜色与定点标记参数,DrWangZhengsheng-LectureNotes,47,调用格式:

plot(x,y,s),s为类型说明参数,是字符串。

s字符串可以是三种类型的符号之一,也可以是线型与颜色和定点标记与颜色的组合;如果没有s参数,plot将使用缺省设置(实线,前七种颜色顺序着色)绘制曲线;在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将擦掉坐标系中已有的图形对象。

可以用holdon命令在一个坐标系中增加新的图形对象。

注意MATLAB会根据新图形的大小,重新改变坐标系的比例。

用不同的线型和标注来绘制两条曲线。

t1=0:

0.1:

2*pi;t2=0:

0.1:

6;y1=sin(t1);y2=sqrt(t2);plot(t1,y1,:

hb,t2,y2,-g),Lecture3Matlab图形可视化,DrWangZhengsheng-LectureNotes,48,Lecture3Matlab图形可视化,3.图形窗口的分割有时需要在一个图形窗口中显示几幅图,以便对几个函数进行直观、便捷的比较。

由于每个绘图命令在绘制数据图像时都会将已有图形覆盖掉,而用hold命令不能实现同时显示几个不同坐标尺寸下的图形,用figure命令再创窗口又很难同时比较由不同的数据绘得的图像。

实现在同一个窗口中同时显示多个图像的命令subplot。

使用格式为:

subplot(m,n,i)其含义为:

把图形窗口分割为m行n列子窗口,然后选定第i个窗口为当前窗口。

subplot命令不仅用于二维图形,对三维图形一样适用。

其本质是将figure窗口分为几个区域,再在每个区域内分别绘图。

DrWangZhengsheng-LectureNotes,49,Lecture3Matlab图形可视化,用subplot函数把两种不同的图形综合在一个图形窗口中。

subplot(2,2,1)t=0.1:

0.1:

2*pi;y=sin(t);semilogx(t,y)gridonsubplot(2,2,2)t=0:

0.1:

4*pi;y=sin(t);plot(t,y)subplot(2,2,3)x=1:

0.01:

5;y=exp(x);plotyy(x,y,x,y,semilogx,plot)subplot(2,2,4)x=1:

0.1:

10;y=sqrt(x);plot(x,y,:

rd),DrWangZhengsheng-LectureNotes,50,Lecture3Matlab图形可视化,4.坐标系的调整实现坐标系的调整的命令是axis函数。

调用格式为:

axis(xmin,xmax,ymin,ymax,zmin,zmax)坐标的最小值(xmin,ymin,zmin)必须小于相应的最大值(xmax,ymax,zmax),否则会出错。

自动坐标系与用axis函数调整后的坐标系的比较。

subplot(2,1,1)t=0:

0.1:

4*pi;y=sin(t);plot(t,y)subplot(2,1,2)t=0:

0.1:

4*pi;y=sin(t);plot(t,y)axis(0,max(t),min(y),max(y),DrWangZhengsheng-LectureNotes,51,Lecture3Matlab图形可视化,B、三维绘图1.三维曲线绘图命令三维函数plot3主要用来表现单参数的三维曲线,与二维绘图函数plot相比,只多了第三维数据。

其调用格式为:

plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)参数的含义如下:

Xn、Yn、Zn:

第一到三维数据,是尺寸相等的向量/矩阵;s、s1、s2:

是字符串,用来设置线型、颜色、数据点标记。

DrWangZhengsheng-LectureNotes,52,Lecture3Matlab图形可视化,x、y、z是向量时,plot3命令的使用t=0:

0.1:

8*pi;plot3(sin(t),cos(t),t)title(绘制螺旋线)%用命令title对图形主题进行标注xla

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

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

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