欢迎来到天天文库
浏览记录
ID:40387732
大小:757.67 KB
页数:13页
时间:2019-08-01
《模式识别讲义》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、模式识别实验讲义目录MATLAB基础1实验一感知器算法实验6实验二模式聚类算法实验8实验三图像识别实验11MATLAB基础1.矩阵定义由m行n列构成的数组称为(m×n)阶矩阵。用"[]"方括号定义矩阵,其中方括号内","逗号或""空格号分隔矩阵列数值,";"分号或"Enter"回车键分隔矩阵行数值。例:a=[a11a12a13;a21a22a23]或a=[a11,a12,a13;a21,a22,a23]定义了一个2*3阶矩阵a。a=a11a12a13a21a22a23aij可以为数值、变量、表达式或字符串,如为数值与变量得先赋值,表达式和变量可以以任何组合形式出现,字符串须每一行中的字母个数
2、相等,调用时缺省状态按行顺序取字母,如a(1)为第一行第一个字母。下标引用:单下标方式:a(1)=a11a(4)=a22(以列的方式排列a11a21a12a22a13a23)双下标方式:a(1,1)=a11a(2,1)=a212.矩阵的加减运算两矩阵相加减,是对应元素的加减,要求两矩阵具有相同的行数,相同的列数。MATLAB表达式形式:C=A+B和 C=A-B,其中Cij=Aij±Bij。3向量乘积和转置两矩阵A,B相乘,要求两个矩阵的相邻阶数相等,一般情况下不满足交换律。MATLAB表达式形式:C=A*B 其中第i行j列元素Cij为A的第i行的m个元素与B的第j列的n个对应元素的乘积之和。
3、矩阵的转置就是把矩阵的第I行就j列的元素放在第j行第i列的位置上。在MATLAB中,对于实矩阵的转置用单引号“’”表示:C=A’。4图像文件操作imread()函数从图像文件中读入图像数据,格式:A=imread(文件名,‘图像文件格式’)如:A=imread(“lena.bmp”,’bmp’)A为无符号8位整数(unit8)。如果文件为灰度函数,则A为一个二维数组,如果文件是一个真彩色RGB图像,则A是一个三维数组(m×n×3)。imwrite()函数将图像写入图像文件10格式:imwrite(A,文件名,‘图像文件格式’)如:imwrite(A,“lenabak.bmp”,‘bmp’)i
4、mwrite函数将变量A中图像按‘图像文件格式’指定的保存格式写入文件名指定的文件中。如果A是一个无符号8位整数表示的灰度图像或真彩色图像,imwrite直接将数组A中值写入文件。如果A为双精度浮点数,imwrite首先使用uint8(round(255*A))自动将数组中的值变换为无符号8位整数,即将[0,1]范围内的浮点数变换为[0,255]范围内8位整数,然后写入文件。5图像显示imshow()函数用于图像显示格式:imshow(I,n)imshow(I,[low,high])格式1,imshow函数可使用n个灰度级显示灰度图像I。如果缺省n,则使用256级灰度。格式2,imshow函
5、数可将I显示为灰度图像,灰度级范围为[low,high]。6MATLAB的M文件 MATLAB中的M文件实际上就是一个由一些MATLAB所允许的语句组成的批处理文件。它是一个ASCII码文本文件,所有文本编辑器都可对它进行编辑,但一般我们在MATLAB的集成环境中编辑修改并运行。在MATLAB的命令主窗口中点击File->New->M-file,即可打开如图A-3所示的MATLAB编辑/调试窗口。根据用户需要键入MATLAB各种命令语句,即可完成系统M文件的输入。注意%后的内容为注释内容。程序控制:(1)for循环语句格式如下:fort=表达式1:表达式2:表达式3语句体end其中,表达式1
6、的循环的初值,表达式2的值为步长,表达式3的值为循环的终值。如果表达式2省略,则默认步长为1。例:forn=1:5form=1:nr(n,m)=m*nendend(2)while循环语句格式如下:while表达式10语句体end当表达式的值为真时,执行语句体;当表达式的值为假时,终止该循环。(3)if条件判断语句格式如下:if逻辑表达式1语句体1elseif逻辑表达式2语句体2elseif逻辑表达式3语句体3……else语句体end(4)switch语句switch表达式case值1语句体1case值2语句体2……otherwise语句体end(5)子函数每个函数文件可以包含多个函数。在函数
7、文件的第一行定义的函数为主函数,当调用文件名时,调用主函数。在函数文件中,除第一行定义的函数外,其余的函数称为子函数。子函数只能被该文件里的其他函数和主函数调用。functionoutput=fact(n)%FACTCalculatefactorialofagivenpositiveinteger.output=1;fori=1:n,output=output*i;end(6)MATLAB中的运算符和特殊字符
此文档下载收益归作者所有