![图像处理MATLAB1_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/5f609545-0174-4344-97cb-1a9bf44f1230/5f609545-0174-4344-97cb-1a9bf44f12301.gif)
![图像处理MATLAB1_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/5f609545-0174-4344-97cb-1a9bf44f1230/5f609545-0174-4344-97cb-1a9bf44f12302.gif)
![图像处理MATLAB1_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/5f609545-0174-4344-97cb-1a9bf44f1230/5f609545-0174-4344-97cb-1a9bf44f12303.gif)
![图像处理MATLAB1_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/5f609545-0174-4344-97cb-1a9bf44f1230/5f609545-0174-4344-97cb-1a9bf44f12304.gif)
![图像处理MATLAB1_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/5f609545-0174-4344-97cb-1a9bf44f1230/5f609545-0174-4344-97cb-1a9bf44f12305.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 1. MATLAB简介简介1.1MATLAB的发展史及特点的发展史及特点 p MATLAB内容:内容: MATLAB内容涉及矩阵代数、微积分、应用数内容涉及矩阵代数、微积分、应用数学、有限元法、科学计算、信号与系统、神经网络、学、有限元法、科学计算、信号与系统、神经网络、小波分析及其应用、数字图像处理、计算机图形小波分析及其应用、数字图像处理、计算机图形学学 、电子线路、电机学、自动控制与通信技术、电子线路、电机学、自动控制与通信技术、物理、力学、机械振动、财务工程等方面。利用物理、力学、机械振动、财务工程等方面。利用MATLAB可以实现数据分析计算、系统应用开发及可以实现数据分析计算、系统
2、应用开发及图形用户界面的设计等功能。图形用户界面的设计等功能。pMATLAB语言特点语言特点(1)编程效率高:编程效率高: MATLAB语言是一种面向科学与工程计算的高语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,犹如在级语言,允许用数学形式的语言编写程序,犹如在演算纸上排列出公式与求解问题。所以编程效率高,演算纸上排列出公式与求解问题。所以编程效率高,易学易懂。易学易懂。(2)用户使用方便:用户使用方便: MATLAB语言是一种解释执行语言,即把编辑、语言是一种解释执行语言,即把编辑、编译、连接以及执行和调试融为一体。编译、连接以及执行和调试融为一体。 MATLAB提
3、供了方便的应用程序接口(提供了方便的应用程序接口(API),),允许用户编写的与允许用户编写的与MATLAB互相配合的互相配合的C或或Fortran程序的文件库,使用户可以在程序的文件库,使用户可以在MATLAB环境下直接环境下直接调用已经编译过的调用已经编译过的C或或Fortran子程序,实现混合编子程序,实现混合编程。程。(3)扩充能力强和灵活的接口功能:扩充能力强和灵活的接口功能: 高版本的高版本的MATLAB包括丰富的库函数,可以直接包括丰富的库函数,可以直接调用,而且,用户文件也可作为库函数来调用。调用,而且,用户文件也可作为库函数来调用。 另外,另外,MATLAB还提供了还提供了C
4、+、VB、VC+、及及Excel的接口,方便的接口,方便MATLAB的调用,实现混合的调用,实现混合编程。编程。(4)语句简单,内含丰富。语句简单,内含丰富。 MATLAB语言中最基本最重要的成分是函数(语言中最基本最重要的成分是函数(M文件的一种),其一般形式为文件的一种),其一般形式为a,b,c=fun(d,e,f),即即一个函数由函数名、输入变量一个函数由函数名、输入变量d,e,f和输出变量和输出变量a,b,c组成。组成。同一函数名同一函数名F,不同数目的输入变量(包括无输,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的入变量)及不同数目的输出变量,代表着不同的含
5、义。含义。(5)高效方便的矩阵和数组运算高效方便的矩阵和数组运算 数组在数组在MATLAB语言中被认为是矩阵,无需定语言中被认为是矩阵,无需定义数组的维数,并给出矩阵函数、特殊矩阵专门的义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数。库函数。(6)文字处理功能文字处理功能 MATLAB与文字处理系统与文字处理系统Microsoft Word集集成为一个整体,用户可以方便地利用成为一个整体,用户可以方便地利用Word的文字的文字编辑处理功能。编辑处理功能。M文件名不能用汉字,必须用英文文件名不能用汉字,必须用英文(7)方便的绘图功能方便的绘图功能 它有一系列绘图函数(命令),只需调用即可它有
6、一系列绘图函数(命令),只需调用即可实现二维与三维绘图功能。实现二维与三维绘图功能。(8)在线帮助,有利于自学。在线帮助,有利于自学。 在在MATLAB环境下的环境下的“在线帮助在线帮助”,可以学,可以学习各种函数的用法及其内涵。习各种函数的用法及其内涵。MATLAB6.0以上版以上版本,可以利用本,可以利用HTML方式查询详细的参考资料,或方式查询详细的参考资料,或直接访问直接访问Mathworks 公司网站获得信息。公司网站获得信息。p MATLAB7.0图像处理工具箱:图像处理工具箱: MATLAB图像处理工具箱提供了丰富的图像处理图像处理工具箱提供了丰富的图像处理函数,主要完成以下功能
7、:函数,主要完成以下功能:图像的几何操作、图像的邻域和图像块操作、线性滤图像的几何操作、图像的邻域和图像块操作、线性滤波和滤波器设计、图像变换、图像分析和增强、二值波和滤波器设计、图像变换、图像分析和增强、二值图像形态学操作、图像复原、图像编码及感兴趣区域图像形态学操作、图像复原、图像编码及感兴趣区域处理等。处理等。p MATLAB7.0支持的图像文件格式:支持的图像文件格式: BMP(bmp),GIF(gif),JPG(jpg or jpeg的灰度图和的灰度图和RGB图),图),TIF(tif)或或TIFF(tiff)格式等。格式等。 1.2 运行环境运行环境1.界面环境:界面环境: 主界面
8、窗口中有主界面窗口中有5个子窗口层叠平铺在一起,个子窗口层叠平铺在一起,选选择不同形式的显示窗口可以通过主界面中的择不同形式的显示窗口可以通过主界面中的view菜菜单中的单中的Desktop Layout。Command Window(命令窗口);(命令窗口);Launch Pad(浏览器);(浏览器);Workspace(工作空间);(工作空间);Command History(历史命令记录);(历史命令记录);Current Directory(当前目录);(当前目录);单击各个窗口中右上单击各个窗口中右上角的箭头按钮后,可角的箭头按钮后,可以单独提取此窗口。以单独提取此窗口。工作空间窗口
9、工作空间窗口命令窗口命令窗口历史命令历史命令当前目录窗口当前目录窗口uCommand Window(命令窗口)(命令窗口) 在这个窗口中可以直接进行数据运算及运行程序。在这个窗口中可以直接进行数据运算及运行程序。当当M文件出现错误时,该窗口会显示出错的具体信息以文件出现错误时,该窗口会显示出错的具体信息以便编译和调试。便编译和调试。 例:例:在提示符在提示符“”后输入后输入“1+2+3”,按,按Enter键,键, 窗口中显示的内容如下:窗口中显示的内容如下:ans= 6 当输入当输入“A=1,2,3;4,5,6;7,8,9”后系统将自动将后系统将自动将其解释为一个其解释为一个33的矩阵,按的矩
10、阵,按Enter键后显示结果为:键后显示结果为: MATLAB中矩阵运算:中矩阵运算: 只需在窗口中对已赋值的矩只需在窗口中对已赋值的矩阵直接进行各种运算即可。阵直接进行各种运算即可。如输入如输入“B=A*A”,按,按Enter键后,显示结果为:键后,显示结果为:150126102968166423630 B987654321 AuLaunch Pad(浏览器窗口)(浏览器窗口) 启动窗口:启动窗口: 在在MATLAB的的VIEW菜单中选择菜单中选择Launch Pad就就已启动该窗口。已启动该窗口。作用:作用: 用户可以在用户可以在Launch Pad窗口中启动某个工具箱窗口中启动某个工具箱
11、的应用程序。通过的应用程序。通过Launch Pad窗口,可以打开(双窗口,可以打开(双击)各工具箱中的帮助(击)各工具箱中的帮助(Help)、演示()、演示(Demos)和其他相关的文件或应用程序。和其他相关的文件或应用程序。例:例:浏览器图标浏览器图标uWorkspace(工作空间窗口)(工作空间窗口)作用:作用:主要用来查看工作空间中的变量,可以查看主要用来查看工作空间中的变量,可以查看到变量的大小、所占用的字节数以及所属的文件类到变量的大小、所占用的字节数以及所属的文件类型等。型等。进入:进入:双击工作空间浏览器双击工作空间浏览器中的变量,系统就会弹出中的变量,系统就会弹出Array
12、Editor(数组编辑器)(数组编辑器)窗口,用户在该窗口中对数窗口,用户在该窗口中对数组的大小及每个元素进行编组的大小及每个元素进行编辑,但不可以改变数组的类辑,但不可以改变数组的类型。型。uCommand History(历史命令记录)(历史命令记录) 作用:作用: 可以在该窗口中查可以在该窗口中查看曾经在看曾经在Command Window窗口里输入窗口里输入的命令。的命令。 用鼠标双击某命用鼠标双击某命令,就可以在令,就可以在Command Window窗口中运行它们。窗口中运行它们。uCurrent Directory(当前目录)窗口(当前目录)窗口作用:作用:在该窗口中可以查看在当
13、前工作路径下的在该窗口中可以查看在当前工作路径下的 MATLAB文件和与文件和与MATLAB有关的文件,并有关的文件,并 可以进行一些文件操作。可以进行一些文件操作。主要操作有:主要操作有: 查看和改变目录。查看和改变目录。 创建、重命名、复制和移动文件夹或文件。创建、重命名、复制和移动文件夹或文件。 打开、运行文件和查看文件的内容。打开、运行文件和查看文件的内容。 查找和替换文件的内容。查找和替换文件的内容。操作:操作:选定某个文件,单击选定某个文件,单击鼠标右键,弹出快捷菜单,鼠标右键,弹出快捷菜单,选择所需的操作。选择所需的操作。2.M文件的编辑调试环境文件的编辑调试环境什么是什么是M文
14、件?文件? MATLAB程序文件和脚本文件通常保存扩展名为程序文件和脚本文件通常保存扩展名为“.m”,即,即M文件。文件。启动:启动: 在在Command Window窗口中输入窗口中输入Edit命令,然后命令,然后按按Enter键,键,执行执行“File”|”New”|”M-file”命令,命令,也可以单击按钮也可以单击按钮 。(编辑调试环境中的图表功能见表)(编辑调试环境中的图表功能见表)M文件编辑调试环境中一些图标的功能如下:文件编辑调试环境中一些图标的功能如下:主要菜单的结构和功能:主要菜单的结构和功能:(1)Text菜单菜单 程序行编辑命令程序行编辑命令lComment:给选定的程序
15、行加注释。:给选定的程序行加注释。lUncomment:取消程序行的注释。:取消程序行的注释。lDecrease Indent:把当前的程序行或选定的程序块:把当前的程序行或选定的程序块 向左缩进。向左缩进。lIncrease Indent:把当前的程序行或选定的程序块:把当前的程序行或选定的程序块 向右缩进。向右缩进。lBalance Delimiters:平衡分界符。:平衡分界符。 当一个括号里面包含很多括号时,用该命令以当一个括号里面包含很多括号时,用该命令以 帮助程序员检查错误。帮助程序员检查错误。lSmart Indent:根据程序的逻辑关系自动编排格式。:根据程序的逻辑关系自动编排
16、格式。lEvaluate Selection:运行所选部分的程序。:运行所选部分的程序。(2)debug菜单菜单 (调试命令)(调试命令)lStep:继续调试过程。:继续调试过程。lStep In: 运行当前程序行,如果运行当前程序行,如果当前行调用了另当前行调用了另 外一个函外一个函数,则跳转到这个函数里。数,则跳转到这个函数里。lContinue:运行程序,直到遇到下一个断点。:运行程序,直到遇到下一个断点。lGo Until Cursor:如果没有遇到断点,则运行程序:如果没有遇到断点,则运行程序 到光标制定行。到光标制定行。lExit Debug Mode:退出调试模式。:退出调试模式
17、。(3)Breakpoints菜单菜单nSet/Clear Breakpoint:设置:设置/清除断点。清除断点。:清除所有断点。:清除所有断点。nStop if Error:程序运行遇到错误则停止。:程序运行遇到错误则停止。nStop if Warning:程序运行遇到警告则停止。:程序运行遇到警告则停止。nStop if NaN or Inf:程序运行遇到非数值或无:程序运行遇到非数值或无穷大则停止。穷大则停止。将光标移到某将光标移到某个变量时,将弹出一个变量时,将弹出一个窗口显示该变量的个窗口显示该变量的内容。内容。 1.3 MATLAB 编程简介编程简介1.3.1 M文件的创建、保存和
18、调试文件的创建、保存和调试nM文件:文件:MATLAB有两种常用的工作方式:有两种常用的工作方式:一种是直接交互的命一种是直接交互的命令行操作方式,另一种是文件的编辑方式。令行操作方式,另一种是文件的编辑方式。 在命令行操作方式下,在命令行操作方式下,MATLAB被当作一种高级被当作一种高级“数字演算和图示器数字演算和图示器”来使用。来使用。MATLAB程序文件是一程序文件是一个个ASCII码文件(标准的文本文件),扩展名为码文件(标准的文本文件),扩展名为“.m”,即即M文件。文件。M文件功能:大大扩展了文件功能:大大扩展了MATLAB的能力。的能力。 通过工具箱,通过工具箱,MATLAB被
19、应用到控制、信号处理、被应用到控制、信号处理、小波分析、系统辨识、图像处理等各个方面。这些工具小波分析、系统辨识、图像处理等各个方面。这些工具箱全部由箱全部由M文件构成。文件构成。1.M文件的创建:文件的创建:l在在MATLAB主界面窗口执行命令主界面窗口执行命令“File”/”New”/ “M-file”。l单击单击 “白纸白纸”按钮。按钮。此时,就可在新创建的此时,就可在新创建的M文件中输入具体的程序了。文件中输入具体的程序了。例:例:2.M文件的保存:文件的保存:l在在M文件编译窗口中执行命令文件编译窗口中执行命令“File”/”Save”,并选并选择一个目录按择一个目录按“确定确定”就
20、完成了就完成了M文件的保存,快文件的保存,快捷键为捷键为Ctrl+S。l在图标栏目中单击在图标栏目中单击 按钮,可同时完成文件按钮,可同时完成文件的保存和运行,的保存和运行,在在Command Window里可以查看里可以查看运行结果。运行结果。例:例:3.M文件的调试文件的调试 MATLAB调试功能可以确定调试功能可以确定MATLAB程序代码中程序代码中的语法错误和运行错误,在程序文件运行期间都可以的语法错误和运行错误,在程序文件运行期间都可以任意调试查看任意调试查看MATLAB工作区的变量值,逐行运行工作区的变量值,逐行运行M文件。文件。 调试功能提供了命令行交互式接口,可以通过调试功能提
21、供了命令行交互式接口,可以通过Command Window窗口的菜单进行操作。窗口的菜单进行操作。注意:注意:MATLAB调试命令只能应用于函数调试命令只能应用于函数M文件,不文件,不 能应用于其它的能应用于其它的M文件。文件。调试命令如下表:调试命令如下表: 1.3.2 命令文件和函数文件命令文件和函数文件 M文件有两种运行文件:一种是执行一系列文件有两种运行文件:一种是执行一系列MATLAB语句的语句的命令文件命令文件;另一种是接受输入参数和;另一种是接受输入参数和产生输出的产生输出的函数文件函数文件。 当函数文件定义后,既可在当函数文件定义后,既可在Command Window窗口里调用
22、它,也可在命令文件程序脚本中调用它。窗口里调用它,也可在命令文件程序脚本中调用它。命令文件和函数文件在保存时的扩展名都是命令文件和函数文件在保存时的扩展名都是 “.m”。1.命令文件命令文件 命令文件是一些程序命令行的组合。命令文件是一些程序命令行的组合。 命令文件可以对命令文件可以对Workspace中的变量进行操作,中的变量进行操作,也可以产生新的变量。命令文件产生的所有变量都会也可以产生新的变量。命令文件产生的所有变量都会保留在保留在Workspace里,用户可以在以后的程序里对其里,用户可以在以后的程序里对其进行操作,除非被其他相关命令删除。进行操作,除非被其他相关命令删除。例:例:绘
23、制出花瓣图案。绘制出花瓣图案。 程序执行完之后,可以执行命令程序执行完之后,可以执行命令“whos”查看工查看工作空间中的变量。作空间中的变量。2.函数文件函数文件 函数文件用来定义一个函数,在定义的过程中必函数文件用来定义一个函数,在定义的过程中必须指定须指定函数名函数名和和输入、输出参数输入、输出参数; 在定义不带输入输出参数的函数时,要由在定义不带输入输出参数的函数时,要由 MATLAB程序语句给出一系列的操作和处理,从而实程序语句给出一系列的操作和处理,从而实现一定的功能。现一定的功能。例:例:定义一个函数,并在定义一个函数,并在Command Window窗口里窗口里 调用它。调用它
24、。注意:注意:在在MATLAB中,函数名和文件名必须相同,中,函数名和文件名必须相同, 如:例中函数名是如:例中函数名是f,文件名是,文件名是“f.m”。注意注意: :用分号用分号“;”表示取消输出;表示取消输出;回车表示运行程序。回车表示运行程序。例:函数文件例:函数文件”fibfun.m”,函数文件的组成:函数文件的组成:(1)函数文件的定义行)函数文件的定义行(Function Define Line)。函数的定义行表明该函数的定义行表明该M文件是一个函数文件,并且定义文件是一个函数文件,并且定义了函数名、输入和输出参数。了函数名、输入和输出参数。例:例:fibfun.n中的第一行是函数
25、文件的定义行。中的第一行是函数文件的定义行。 其中,其中,function是关键字;是关键字; fibfun为函数名;为函数名; f为输出参数;为输出参数; n为输入参数。为输入参数。(2)H1行行。指帮助信息的第一行。指帮助信息的第一行。“%”引导的是注释引导的是注释行,不予执行,并且不需要行,不予执行,并且不需要end作为文件结束的标志。作为文件结束的标志。这一行反映该文件的概括性信息,在这一行反映该文件的概括性信息,在Command Window窗口中运行窗口中运行lookfor(查找)命令(查找)命令,可以搜索和,可以搜索和显示该行。显示该行。(3)帮助正文。)帮助正文。在在Comma
26、nd Window窗口中运用窗口中运用 help命令命令将显示这部分内容。将显示这部分内容。(4)函数体。)函数体。 函数体包含了所有执行计算和赋值了输出参数的函数体包含了所有执行计算和赋值了输出参数的MATLAB程序代码。这些代码可以是程序代码。这些代码可以是调用函数调用函数、流程控流程控制、交互式输入制、交互式输入/输出、计算、赋值、注释输出、计算、赋值、注释和和空行空行等。等。(5)注释。)注释。 注释语句以符号注释语句以符号“%”开头,可以出现在开头,可以出现在M文件的任文件的任何地方。何地方。1.3.3MATLAB的矩阵介绍的矩阵介绍 MATLAB的操作与运算主要对象是矩阵,无论的操
27、作与运算主要对象是矩阵,无论标量标量和和向量向量都可以当成矩阵处理。都可以当成矩阵处理。l特点:特点:(1)MATLAB语言对矩阵的维数和类型没有限制,语言对矩阵的维数和类型没有限制,因此因此无需对其维数和类型进行定义无需对其维数和类型进行定义。(2)矩阵中的元素可以采用)矩阵中的元素可以采用具体数值具体数值或或表达式表达式,可,可以以通过下标对元素进行访问、输入或修改通过下标对元素进行访问、输入或修改。l矩阵输入方法:矩阵输入方法:1.直接输入矩阵元素直接输入矩阵元素要求:要求:各元素之间用空格或逗号间隔,各元素之间用空格或逗号间隔,“;”表示行表示行结结 束,束,用中括号用中括号“ ”把矩
28、阵所有元素括起来。把矩阵所有元素括起来。 例如例如,在,在Command Window窗口中输入如下形式:窗口中输入如下形式: A= 2 3 4 5;1 3 5 7 ;0 3 6 9 或或 A= 2 3 4 5 1 3 5 7 0 3 6 9 结果为:结果为: A= 2 3 4 5 1 3 5 7 0 3 6 9u修改矩阵元素:修改矩阵元素:可以直接通过下标来实现。可以直接通过下标来实现。 如:如: A(3,1)=1 即矩阵即矩阵A的第的第3行第行第1列元素改为列元素改为1。u直接输入复数矩阵:直接输入复数矩阵: 两种方式:两种方式: B= 1+i 2+2i 3+3i;4+4i 5+5i 6+
29、6i 或或 B= 1 2 3;4 5 6 +i* 1 2 3 ;4 5 6 结果为:结果为: B= 1.0000+1.0000i 2.0000+2.0000i 3.0000+3.0000i 4.0000+4.0000i 5.0000+5.0000i 6.0000+6.0000i2.利用利用M文件产生矩阵文件产生矩阵 利用利用M文件产生矩阵或利用外部数据文件输入到指文件产生矩阵或利用外部数据文件输入到指定矩阵中。定矩阵中。u利用利用M文件:文件:建一个建一个M文件,在文件,在M文件窗口中输入文件窗口中输入 A= 2 3 4 5;1 3 5 7;0 3 6 9 如果文件如果文件test.m保存在保
30、存在MATLAB搜索路径中,在搜索路径中,在 MATLAB命令窗口中输入命令窗口中输入test就可产生矩阵就可产生矩阵A,这对经常,这对经常输入大矩阵或需要输入多个矩阵时很方便。输入大矩阵或需要输入多个矩阵时很方便。u利用外部数据文件装入到指定矩阵:利用外部数据文件装入到指定矩阵: 通过通过MATLAB提供的文件输入、输出函数来实现。提供的文件输入、输出函数来实现。在在Command Window窗口输入如下语句:窗口输入如下语句:I=imread(cameraman.tif)%读入图像数据,读入图像数据,该该 图像文件在图像文件在MATLAB路径下路径下在窗口中可以对矩阵在窗口中可以对矩阵I
31、进行操作:进行操作: m,n =size(I) % 查看矩阵的大小查看矩阵的大小 m= 256 n= 256I=(1:4,1:4 ) %查看矩阵查看矩阵I中的部分元素:中的部分元素:例:将图像例:将图像cameraman.tif读入到矩阵中。读入到矩阵中。 ans= 156 159 158 155 160 154 157 158 156 159 158 155 160 154 157 158 3.通过通过MATLAB语句或函数产生矩阵语句或函数产生矩阵 MATLAB中有很多产生中有很多产生特殊矩阵的函数特殊矩阵的函数,常用的,常用的特殊矩阵有单位矩阵、零矩阵、特殊矩阵有单位矩阵、零矩阵、“1”
32、矩阵、随机矩阵、矩阵、随机矩阵、对角矩阵等。对角矩阵等。 语法格式为语法格式为: A=eye(n);返回一个返回一个nn大小的单位矩阵;大小的单位矩阵; A=eye(m,n);返回一个返回一个mn大小的单位矩阵;大小的单位矩阵; A=eye(size(B);返回一个大小与返回一个大小与B一样的单位一样的单位 矩阵。矩阵。例:例: A=eye(4,3) A= 1 0 0 0 1 0 0 0 1 0 0 0(1)单位矩阵:)单位矩阵:主对角线元素为主对角线元素为1,其他元素为,其他元素为0(2)零矩阵)零矩阵 零矩阵的所有元素为零矩阵的所有元素为0,其语法格式为:,其语法格式为: A=zeros(
33、n);返回一个返回一个nn大小的零矩阵;大小的零矩阵; A=zeros(m,n);返回一个返回一个mn大小的零矩阵;大小的零矩阵; A=zeros(size(B);返回一个大小与矩阵返回一个大小与矩阵B相同的相同的 零矩阵。零矩阵。 例:例:A=zeros(3,4) A= 0 0 0 0 0 0 0 0 0 0 0 0(3)“1”矩阵矩阵 “1”矩阵的所有元素为矩阵的所有元素为1,其语法格式为:,其语法格式为: A=ones(n);返回一个返回一个nn大小的大小的1矩阵;矩阵; A=ones(m,n);返回一个返回一个mn大小的大小的1矩阵;矩阵; A=ones(size(B);返回一个与矩阵
34、返回一个与矩阵B大小相同的大小相同的1 矩阵。矩阵。 例:例:A=ones(3) A= 1 1 1 1 1 1 1 1 1(4)随机矩阵)随机矩阵 随机矩阵的元素是随机产生的。有两种函数:随机矩阵的元素是随机产生的。有两种函数: rand函数和函数和randn函数。它们的用法相同。函数。它们的用法相同。nrand函数:产生的矩阵元素服从函数:产生的矩阵元素服从(0,1)之间的均匀)之间的均匀 分布;分布;nrandn函数:产生的矩阵元素服从函数:产生的矩阵元素服从均值为均值为0,方差为,方差为1 的正态分布。的正态分布。语法格式为:语法格式为:A=rand(n): 返回一个返回一个nn大小的随
35、机矩阵;大小的随机矩阵;A=rand(m,n):返回一个返回一个mn大小的随机矩阵;大小的随机矩阵;A=rand(size(B):返回一个与矩阵返回一个与矩阵B大小相同的大小相同的 随机随机 矩阵。矩阵。例:例: A=rand(3,4) A= 0.9501 0.4860 0.4565 0.4447 0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919(5)对角矩阵)对角矩阵 对角矩阵的主对角线元素可以为非零或零,而非对角矩阵的主对角线元素可以为非零或零,而非主对角线上的元素全为主对角线上的元素全为0,其语法格式为:,其语法格式为:A=d
36、iag(v,k):v为为n个元素组成的向量,个元素组成的向量, v中的元素中的元素 放在第放在第k 条对角线上,返回的矩阵条对角线上,返回的矩阵A的大小为的大小为 n+IkI的方阵,当的方阵,当k=0时代表在主对角线上,时代表在主对角线上, k0时在主对角线之上,时在主对角线之上,k0时在主对角线之下;时在主对角线之下;A=diag(v):将:将v放在主对角线上,与上述放在主对角线上,与上述k=0相同;相同;V=diag(A,k):对矩阵:对矩阵A返回一个列向量返回一个列向量v,v由由A中第中第k 条条 对角线上元素组成;对角线上元素组成;V=diag(A):返回矩阵:返回矩阵A主对角线上的元
37、素,与上主对角线上的元素,与上 述述 k=0相同。相同。 例:例: v= 1,2,3,4 A= 1 0 0 0 v= 0 2 0 0 1 2 3 4 0 0 3 0 A=diag(v) 0 0 0 4 A= 1 0 0 0 v=diag(A) 0 2 0 0 v=1 2 3 4 0 0 3 0 0 0 0 4 (6) Hilbert 与逆与逆Hilbert矩阵矩阵Hilbert矩阵的元素为:矩阵的元素为: 1211111131211211,11nnnnnHnjihji,阶阶矩矩阵阵表表示示为为:MATLAB中提供的中提供的Hilbert矩阵的函数矩阵的函数调用方法调用方法有:有:H=hilb(
38、n):产生一个:产生一个n阶阶Hilbert 矩阵;矩阵;B=invhilb(n):产生一个:产生一个n阶逆阶逆Hilbert矩阵矩阵,n小于小于5时时 求其精确逆矩阵,大于求其精确逆矩阵,大于5时求其近似逆矩阵。时求其近似逆矩阵。其中,其中,i,j分别为行列数分别为行列数(7)Toeplitz矩阵矩阵 Toeplitz矩阵是由一行和一列来定义的矩阵,矩阵是由一行和一列来定义的矩阵, 其其语法格式为语法格式为: T=toeplitz(r)生成一个由向量生成一个由向量r构成的对称构成的对称 toeplitz矩阵,其第一行由矩阵,其第一行由r定义。定义。 T=toeplitz(c,r)生成一个非对
39、称的生成一个非对称的Toeplitz矩阵,矩阵, c作为其第一列,作为其第一列,r作为第一行,如果作为第一行,如果c和和r 的第一个元素不同,则用列中元素。的第一个元素不同,则用列中元素。 r =1,2,3,4 r = 1 2 3 4 T=toeplitz(r) T= 1 2 3 4 2 1 2 3 3 2 1 2 4 3 2 1c=5,6,7,8c= 5 6 7 8T= 5 2 3 4 6 5 2 3 7 6 5 2 8 7 6 5例:例: 1.3.4程序流程控制程序流程控制 在在MATLAB中一共有中一共有8种流程控制语句,种流程控制语句,所有的所有的流程控制语句都由流程控制语句都由end
40、来作为结束标志。来作为结束标志。1. if 语句语句 复杂的计算需要根据表达式的情况是否满足条件复杂的计算需要根据表达式的情况是否满足条件来确定下一步该做什么,来确定下一步该做什么,MATLAB提供了提供了if-else-end语句来进行判断选择。语句来进行判断选择。 if语句最简单的语句最简单的调用格式为调用格式为: if expression statements end其中,其中,expression是逻辑表达式,是逻辑表达式,statement为语句体。为语句体。执行过程:执行过程:当表达式为真时,执行语句体,否则跳过。当表达式为真时,执行语句体,否则跳过。如果有多个条件,可用下面的结
41、构:如果有多个条件,可用下面的结构: if expression1 statements1 else if expression2 statements2 else statements end执行过程是执行过程是:先判断:先判断expression1 ,如果为真,则,如果为真,则 执行命令执行命令statements1,执行完后跳出该语句继续执行完后跳出该语句继续 执行执行end后的其他语句;如果后的其他语句;如果expression1为为 假,则跳过假,则跳过statements1,接着判断,接着判断 expression2;如果为真,执行命令;如果为真,执行命令statements2,
42、依此类推,直到运行完所有的语句。依此类推,直到运行完所有的语句。 例:判断奇偶数。例:判断奇偶数。例:判断奇偶数。例:判断奇偶数。2.分支语句分支语句switch-case-otherwise语句语句 switch用于有选择性的程序设计,用于有选择性的程序设计,调用格式为调用格式为:注意:注意:与与C语言不同,当第一个语言不同,当第一个case语句为真时,余语句为真时,余下的下的 case语句将不再执行,因此这里不用语句将不再执行,因此这里不用break语句。语句。执行结果:执行结果:当当input-var=1,显示,显示1;当;当input-var=3,显,显示示2 or 3 or 4;当;
43、当input-var=7,显示,显示something else。例:例:例:例:设一个设一个M函数,该函数接收一幅图像函数,该函数接收一幅图像f,并将,并将 其其转换为一个指定的类,称该类为转换为一个指定的类,称该类为newclass。该转换只。该转换只对三种图像类有效,即对三种图像类有效,即uint8类图像,类图像,uint16类图像和类图像和double类图像。类图像。switch newclass case uint8 g=im2uint8(f); case uint16 g=im2uint16(f); case double g=im2double(f); otherwise err
44、or (Unknown or improper image class.) 3.for语句语句 for循环的最大特点是它的循环判断条件是对循环的最大特点是它的循环判断条件是对循环次循环次数数的判断,在一般情况下,的判断,在一般情况下,for语句的循环次数是确定语句的循环次数是确定的,的,调用格式为调用格式为: for index=start:increment:end statements end 其中,其中,start为起始值;为起始值;increment为增量,默认增量为增量,默认增量 为为1;end为终值。为终值。例:例:还可以用数组的方式编写:还可以用数组的方式编写:嵌套的嵌套的for
45、循环语句:循环语句: 4.While语句语句 同同for循环比较,循环比较,while语句的语句的判断控制可以是判断控制可以是一个逻辑判断语句,一个逻辑判断语句,因此它的适用范围更广。因此它的适用范围更广。While语句的语句的循环次数是由表达式控制循环次数是由表达式控制的,当表达的,当表达式为假时循环停止。式为假时循环停止。其其调用格式为调用格式为: while expression statements end例:例:while循环在循环在a和和b均降至均降至0 时,程序终止。时,程序终止。 a=10; b=5; while a a=a-1; while b b=b-1; end end
46、5.continue语句语句 continue语句一般语句一般用在用在for或或while循环里循环里,其功其功能是直接进入下一次循环,不执行本次循环体余下的能是直接进入下一次循环,不执行本次循环体余下的语句。语句。例:例:计算一个计算一个M文件里代码的行数,不包括空行和注文件里代码的行数,不包括空行和注 释行。释行。6.break 语句语句break语句用来语句用来结束结束for或或while循环循环,当循环遇到,当循环遇到break语句时跳出循环,接着语句时跳出循环,接着执行循环外面的语句执行循环外面的语句。例:显示一个例:显示一个M文件的注释语句,程序代码为:文件的注释语句,程序代码为:
47、7.try和和catch语句语句 try和和catch语句为试探式语句结构。语句为试探式语句结构。调用格式为调用格式为: try, statement, , statement, catch statement, , statement, end 此语句结果先试探性地执行此语句结果先试探性地执行try和和catch之间的语句。之间的语句。如果在此执行的过程中遇到了错误,则把错误信息赋如果在此执行的过程中遇到了错误,则把错误信息赋值给值给laster变量,并放弃执行这一段语句,转而执行变量,并放弃执行这一段语句,转而执行catch和和end之间的语句。之间的语句。特点:特点:这种语言结构提供了更
48、灵活的编程方法,在这种语言结构提供了更灵活的编程方法,在一个程序里,当某一解法对一个问题行不通时,可一个程序里,当某一解法对一个问题行不通时,可 以尝试其他解法。以尝试其他解法。 8.return语句语句 return语句的功能:语句的功能:中断当前函数运行,返回上中断当前函数运行,返回上级调用函数。级调用函数。 例:当矩阵例:当矩阵A是空矩阵时中断函数的执行。是空矩阵时中断函数的执行。7.try和和catch语句语句 1.3.5 运算符运算符 MATLAB运算符分为三种主要类别:运算符分为三种主要类别:p 执行数值计算的算数运算符;执行数值计算的算数运算符;p 在数量上比较操作数的关系运算符;在数量上比较操作数的关系运算符;p 执行函数执行函数AND、OR、NOT的逻辑运算符。的逻辑运算符。一些重要的变量和常量:一些重要的变量和常量:提示:提示:eps常加在表达式的分母中,以防止分母为零常加在表达式的分母中,以防止分母为零 时的溢出现象。时的溢出现象。1.4MATLAB的帮助系统的帮助系统 MATLAB提供了强大的帮助系统,大致可以分为提供了强大的帮助系统,大致可以分为三类:命令行帮助;联机帮助;演示帮助。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高一数学教师期末工作总结
- 电子商务物流的智能化与自动化发展研究
- 电子商务平台的全球化战略布局与实施
- 电能服务品质在公共设施中的提升方法
- 年房屋出租合同范本
- 共同抚养孩子的离婚协议书
- 房产抵押担保协议书范本
- 体育用品品牌加盟协议书范本
- 研究生教育创新与未来职业发展趋势
- 辽宁省朝阳市建平县2024-2025学年高二上学期11月期中考试生物试题(解析版)
- 高考语文阅读儿童视角的作用专项训练(含答案)
- 继承人股权转让协议书
- 保障性住房配套公建工程项目可研报告
- 【基于杜邦分析的雅戈尔盈利能力分析9900字】
- 桥面系小型构件遮板等预制场施工方案
- 高二语文早读材料积累(1-20周)课件159张
- 2023版教科版二年级下册科学课堂作业本参考答案
- 规划收费标准
- 大连理工大学信封纸
- 读《教师成长力-专业成长图谱》有感
- 自动化仪表工程施工及质量验收规范
评论
0/150
提交评论