第一篇 Matlab基础.ppt_第1页
第一篇 Matlab基础.ppt_第2页
第一篇 Matlab基础.ppt_第3页
第一篇 Matlab基础.ppt_第4页
第一篇 Matlab基础.ppt_第5页
已阅读5页,还剩49页未读, 继续免费阅读

下载本文档

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

文档简介

1、MATLAB 图像处理工具箱祝强QQ群:102576396,C1 Matlab概述,2,考核标准,平时成绩 50 大作业 50,C1 Matlab概述,3,课程章节安排 1、Matlab基础 2、Matlab程序设计 3、Matlab图形绘制 4、利用Matlab解方程 5、Matlab基本图像操作 6、Matlab图像分析 7、Matlab图像时频变换 8、Matlab图形用户界面制作,C1 Matlab概述,4,MATLAB概述,MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。 20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler

2、设计的一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,即用FORTRAN编写的萌芽状态的MATLAB。 1984年,Moler等人合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,新增了数据图视功能。,1.1 Matlab的发展历程,C1 Matlab概述,5,MathWorks公司于1993年推出MATLAB 4.0,其后又发行了5.0、6.0、6.5直至7.0等版本。 MATLAB成为了最具吸引力、应用最为广泛的科学计算语言; 现今的matlab7.0拥有更丰富的数据类型和

3、结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。,1.1 Matlab的发展历程,C1 Matlab概述,6,MATLAB是基于矩阵运算的处理工具; 矩阵由数字行列构成,矩阵的一行或一列也称为向量。MATLAB将一切变量或数据都当做矩阵(向量)看待; 例如 C = A + B ,A,B,C都是矩阵,是矩阵的加运算; 即使一个常数,Y=5,MATLAB也看做是一个11的矩阵;,MATLAB和矩阵运算,矩阵和Matlab,C1 Matlab概述,7, a=1 2 b=3 2 a.*b% a*b=1 2 ans = 3 4 a./b% a/b ans

4、= 0.3333 1.0000 inv pinv a/b ab a./b,C1 Matlab概述,8,1.2 Matlab界面,命令行 ,命令窗口 Command Windows,工作窗口 Workspace,历史命令 Command History,工作路径窗口 Current Directory,C1 Matlab概述,9,1、命令行 输入单行命令,回车产生结果; 2、命令窗口 显示结果,同时也会显示程序代码中存在的错误,以及错误所在的行数和列数; 3、工作空间 显示当前M文件或命令行中定义的变量值,以及程序中产生的中间变量,double-click; 4、历史命令窗口 显示本次打开Mat

5、lab后所执行过的命令; 5、路径及作用 File-SetPath 设置Matlab工作路径; 当创建一个新的工作目录或文件夹时,要把该目录添加到工作路径中,否则Matlab无法找到在该目录中定义的函数或M文件; test,C1 Matlab概述,10,1.3 Matlab的功能,1、数值计算 数值表达式所用的变量必须先被赋值,然后用于计算; a=2;b=3; a+b*(b-a) ans=5 2、符号计算 由定义的符号对象来从事符号计算; sym a b c; solve(a*x2+b*x+c),C1 Matlab概述,11,3、解线性、非线性方程,求极值,求解微分方程 数值表达式所用的变量必

6、须先被赋值,然后用 于计算; a=1 2 -8; y=ploy2sym(a); 4、图形输出 二维图形plot、subplot 、polar、三维图形plot3、图像imshow ;,C1 Matlab概述,12,C1 Matlab概述,13,C1 Matlab概述,14,工程常用曲线 1、阿基米德螺旋线 等速 在匀速旋转的圆盘之上有一个质点,质点从圆心沿某个半径向外运动,则质点在平面上投影出一条螺线,这螺线就是阿基米德螺线。 m1_1.m 2、渐开线 直线在圆上纯滚动时,直线上一点的轨迹称为该圆的渐开线。该圆称为渐开线的基圆,直线称为渐开线的发生线。 渐开线的形状仅取决于基圆的大小,基圆越小

7、,渐开线越弯曲,基圆越大,渐开线越平直。 m1_2.m,C1 Matlab概述,15,MATLAB语言的特点 1、语言简洁紧凑,使用方便灵活,库函数丰富; 2、运算符丰富( C语言); 3、MATLAB具有结构化的控制语句; 4、程序限制不严格,设计自由度大; 5、程序可移植性好; 6、图形功能强大; 7、功能强大的工具箱。MATLAB包含数百个核心内部函数及各种可选的工具箱,工具箱又分为两类:功能性工具箱、学科性工具箱;,1.4 Matlab的语言特点,C1 Matlab概述,16,底层功能扩展 功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能,功

8、能性工具箱用于多种学科。 专业性功能开发 学科性工具箱是专业性比较强的,面向专门的学科领域。如control toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,用户可直接使用。,C1 Matlab概述,17,开放的源程序; 除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。 9. MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行。 缺点:速度慢-解释语言-混合编程,1.4 Ma

9、tlab的语言特点,C1 Matlab概述,18,MATLAB工具箱 符号数学工具箱 SIMULINK仿真工具箱 控制系统工具箱 信号处理工具箱 图像处理工具箱 通讯工具箱 系统辨识工具箱 小波分析工具箱 神经元网络工具箱 金融工具箱,C1 Matlab概述,19,Matlab基本运算功能,C1 Matlab概述,20,1、基本算术运算符,1.5 Matlab的算术运算符,C1 Matlab概述,21,slow down a=5; b=4; c=sqrt(a2-b2); y=2*a+sqrt(b*c2/10) y = 11.8974 注意:“;”的作用,C1 Matlab概述,22,矩阵a、b

10、 a*b 矩阵相乘 a.*b 矩阵对应元素相乘 a=1 1; 2 2; b=2 2; 2 2; a*b ans = 4 4 8 8 a.*b ans = 2 2 4 4,C1 Matlab概述,23,矩阵a、b a./b 矩阵对应元素相除,b对应元素做分母; a.b 矩阵对应元素相除,a对应元素做分母; a=1 1; 2 2; b=2 2; 2 2; a./b ans = 0.5000 0.5000 1.0000 1.0000 a.b ans = 2 2 1 1,C1 Matlab概述,24,矩阵a、b ak 矩阵的幂,等于k个矩阵a相乘,a*a.a; a. k 矩阵对应元素的幂; a=1 1

11、; 2 2; a2 ans = 3 3 6 6 a.2 ans = 1 1 4 4,C1 Matlab概述,25,2、关系运算符 用于比较、判断,1.6 Matlab的关系运算符,C1 Matlab概述,26,3、逻辑运算符 逻辑运算符用于将关系表达式或逻辑量连接起来,构成较复杂的逻辑表达式。逻辑表达式的值也是逻辑量。(TRUE/FALSE),1.7 Matlab的逻辑运算符,C1 Matlab概述,27,MATLAB数据类型 数值 整型、浮点数 逻辑 字符串 单元格数组 矩阵 结构数组 struct 函数句柄,1.8 Matlab的数据类型,C1 Matlab概述,28,数据格式命令,C1

12、Matlab概述,29,分类方法一 双精度型 (系统默认类型) 单精度型 带符号整数 无符号整数 分类方法二 标量 数组 矩阵,C1 Matlab概述,30,分类方法三 实数 复数 z1=1+2i z1 = 1.0000 + 2.0000i 字符串类型 包含在一对单引号中的字符集合。 s=hello, MATLAB%定义字符串变量s s = hello, MATLAB,C1 Matlab概述,31,变量的命名方式 变量名由字母、数字和下划线组成; 变量名中的英文字母大小写是有区别的; 变量名的最大长度是有规定的; 不同版本的系统规定不同:19个字符、31或63个字符等,可调用namelengt

13、hmax函数得到系统规定长度; namelengthmax ans = 63,C1 Matlab概述,32,C1 Matlab概述,33,C1 Matlab概述,34,C1 Matlab概述,35,三角函数以弧度为单位 sin(30) ans = -0.988031624092862 sin(30*pi()/180) ans = 0.5 a=-12;b=8; mod(a,b) ans = 4 rem(a,b) ans = -4,C1 Matlab概述,36, a=1.9 2.3 -1.9 -2.3; fix(a)% 向零方向取整 ans = 1 2 -1 -2 floor(a) % 向下取整

14、ans = 1 2 -2 -3 ceil(a) % 向上取整 ans = 2 3 -1 -2 round(a) % 向最近方向取整 ans = 2 2 -2 -2,C1 Matlab概述,37,C1 Matlab概述,38,C1 Matlab概述,39, a=1 4 5 3 2; sort(a) ans = 1 2 3 4 5 cumsum(a) % 累计和,依次向后累加 ans = 1 5 10 13 15 sum(a) % 求和,所有元素的和 ans = 15 通过实例来理解各个函数的具体含义,C1 Matlab概述,40,建立矩阵或向量 1、输入法 矩阵的元素用方括号括起来,按矩阵行的顺

15、序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。 a=1 2 3;3 2 1;2 1 3 a = 1 2 3 3 2 1 2 1 3 b=1,2,3;3,2,1;2,1,3 b = 1 2 3 3 2 1 2 1 3,1.10 建立矩阵或向量,C1 Matlab概述,41,2由函数建立矩阵 对于比较大且比较复杂的矩阵,可以通过M文件来创建矩阵或向量。,C1 Matlab概述,42, ones(2,2) ans = 1 1 1 1 zeros(2,2) ans = 0 0 0 0 eye(2,2) ans = 1 0 0 1,C1 Matlab概述,43,3利用冒号

16、表达式建立一个向量 冒号表达式可以产生一个行向量: a1:step:a2 其中a1为初始值,a2为终止值,step为步长。 a=1:0.2:2 a = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000,C1 Matlab概述,44,4、利用linspace函数产生行向量 linspace(a,b,n) 其中a和b是生成向量的第一个和最后一个元素,n是元素总数。等价于 a:(b-a)/(n-1):b a=linspace(1,2,6) a = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000,C1 Matlab概述,45,5、利

17、用小矩阵组合形成大矩阵 一个矩阵可以有其他多个矩阵组合而成,注意行、列维数要统一。 a=1,2,3; 4,5,6; b=7,8,9; c=a;b c = 1 2 3 4 5 6 7 8 9,C1 Matlab概述,46,6、生成对角矩阵 diag(k k k k ) diag(k,k,k,k ) a=diag(1,2,3,4) a = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 也可以用于抽取矩阵的主对角线元素; b=(diag(a) b = 1 2 3 4,C1 Matlab概述,47,7、生成范德蒙矩阵 vander(k1 k2 k3) vander(k1,k2,k3)

18、 vander(k1:k2:k3) a=vander(1 2 3) a=vander(1:0.5:2) a = a = 1 1 1 1 1 1 4 2 1 2.25 1.5 1 9 3 1 4 2 1 范德蒙矩阵的特点,C1 Matlab概述,48,8、生成幻方矩阵 magic(k) a=magic(4) a = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 b=magic(3) b = 8 1 6 3 5 7 4 9 2,C1 Matlab概述,49,9、生成希尔伯特矩阵(Hilbert matrix) 矩阵元素为k(i,j),i、j分别为其行标和列标 K(i,j)=1/(i+j-1) hilb(n) format rat a=hilb(3) a = 1 1/2 1/3 1/2 1/3 1/4 1/3 1/4 1/5,C1 Matlab

温馨提示

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

评论

0/150

提交评论