收藏 分享(赏)

第一篇 Matlab基础.ppt

上传人:hwpkd79526 文档编号:10069524 上传时间:2019-10-05 格式:PPT 页数:54 大小:920.50KB
下载 相关 举报
第一篇 Matlab基础.ppt_第1页
第1页 / 共54页
第一篇 Matlab基础.ppt_第2页
第2页 / 共54页
第一篇 Matlab基础.ppt_第3页
第3页 / 共54页
第一篇 Matlab基础.ppt_第4页
第4页 / 共54页
第一篇 Matlab基础.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

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 Mo

2、ler设计的一组调用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

4、ans =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、历史命令窗口显示本次打开Matl

5、ab后所执行过的命令; 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.m2、渐开线直线在圆上纯滚动时,直线上一点的轨迹称为该圆的渐开线。该圆称为渐开线的基圆,直线称为渐开线的发生线。 渐开线的形状仅取决于基圆的大小,基圆越小,渐开线越弯曲,基圆越大,

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 Matlab的语言特点,C1 Matl

9、ab概述,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 a*b 矩阵相乘 a.*b 矩阵对应元

10、素相乘 a=1 1; 2 2; b=2 2; 2 2; a*b ans = 4 48 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.50001.0000 1.0000 a.b ans = 2 21 1,C1 Matlab概述,24,矩阵a、b ak 矩阵的幂,等于k个矩阵a相乘,a*aa; a. k 矩阵对应元素的幂; a=1 1; 2 2; a2 ans = 3 36 6 a

11、.2 ans =1 14 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 Matlab概述,29,分类方法一 双精度型 (系统默认类

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

13、 = 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) % 向下取整 ans = 1 2 -2 -3 ceil(a) % 向上取整 a

14、ns = 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 33 2 12 1 3 b=1,2,3;3,2,1;2,1,3 b =1 2 33 2 12 1 3,1.10 建立矩阵或向量,C1 Matlab概述,41,2由函数建立矩阵 对于比较大且比较复杂的矩阵,可以通过M文件来创建矩阵或向量。,C1 Matlab概述,42, ones(2,2) ans =1 11 1 zeros(2,2) ans =0 00 0 eye(2,2) ans =1 00 1,C1 Matlab概述,43,3利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量: a1:step:a2 其中a1为初始值,a2

16、为终止值,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、利用小矩阵组合形成大矩阵一个矩阵可以有其他多个矩阵组合而成,注意行、列维数要统一。 a=1,2,3; 4

17、,5,6; b=7,8,9; c=a;b c =1 2 34 5 67 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 00 2 0 00 0 3 00 0 0 4 也可以用于抽取矩阵的主对角线元素; b=(diag(a) b = 1 2 3 4,C1 Matlab概述,47,7、生成范德蒙矩阵 vander(k1 k2 k3) vander(k1,k2,k3) vander(k1:k2:k3) a=vander(1 2 3) a=vander(1:0.5:2) a = a =1

18、 1 1 1 1 14 2 1 2.25 1.5 19 3 1 4 2 1范德蒙矩阵的特点,C1 Matlab概述,48,8、生成幻方矩阵 magic(k) a=magic(4) a =16 2 3 135 11 10 89 7 6 124 14 15 1 b=magic(3) b =8 1 63 5 74 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

19、 1/4 1/5,C1 Matlab概述,50,10、抽取矩阵元素若要引用一个矩阵的某个元素,可以用下标的方式进行抽取。在循环程序中,经常采用下标对矩阵中各个元素进行处理。 a=1,2,3;4,5,6; b=a(2,2) b =5 c=a(1,2) c =2,C1 Matlab概述,51,11、利用冒号表达式获得子矩阵 A(:,j)表示取矩阵A的第j列全部元素;A(i,:)表示矩阵A第i行的全部元素;A(i,j)表示取矩阵A第i行、第j列的元素。 A(i:i+m,:)表示取矩阵A第ii+m行的全部元素;A(:,k:k+m)表示取矩阵A第kk+m列的全部元素;A(i:i+m,k:k+m)表示取矩

20、阵A第ii+m行内,并在第kk+m列中的所有元素。 此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end运算符表示某一维的末尾元素下标。,C1 Matlab概述,52, a=1,2,3,4;4,5,6,7;1,2,3,4; b=a(:,2) b =252 c=a(2,:) c = 4 5 6 7 d=a(2:3,1:2) d =4 51 2 e=a(2,2:end) e = 5 6 7,C1 Matlab概述,53,12、矩阵的删除x=表示把x的内容清空,但变量x仍然存在,如果要删除工作空间里的变量,采用clear命令。 e e = 5 6 7 e= e =,C1 Matlab概述,54,over,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报