,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,医学图形图像处理识别技术与医学信息分析,目录内容,序 医学信息学简述,第一讲 医学信号处理概述,第二讲 医学图形信号的采集、存储与处理,第三讲,Mathlab,与图形信号的处理识别,第四讲 医学图像信号的采集、存储格式、处理方法,第五讲,Mathlab,、,Vtk,、,Mtk,与医学图像的处理,第六讲 医学信息挖掘,第七讲 用于教学的医学图片处理技术,作业,第三讲,Mathlab,与图形信号的处理识别,MATLAB,软件的使用介绍,图形信号的处理与识别程序介绍,临床电生理数据分析实验模拟软件介绍,实验,一、,MATLAB,软件的使用介绍,1.MATLAB,的简介,(1)MATLAB,高级交互式软件包,(2)MATLAB,典型应用,数学计算,算法推导,建模和仿真模拟,数据分析和结果的可视化,工程图形绘制应用程序开发(包括用户图形界面的建立),(3)MATLAB,产生的历史背景,调用,EISPACK,和,LINPACK,的,FORTRAN,子程序库,EISPACK,和,LINPACK,的接口程序,MATLAB,发展成为适合多学科,多种工作平台的功能强大的大型软件。,美国,MathWorks,公司设计的“科学和工程计算的高级交互式软件包”,Cleve Moler,、,New Mexico,、,John Little,MATLAB,软件,_,续,1,(3),MATLAB的语言特点,语言简洁紧凑,使用方便灵活,库函数极其丰富。,运算符丰富。,MATLAB,既具有结构化的控制语句,又有面向对象编程的特性。,程序限制不严格,程序设计自由度大。,程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。,MATLAB,的图形功能强大。,MATLAB,的缺点是程序的执行速度较慢。,功能强大的工具箱。,源程序的开放性。,如:解方程组,Ax=b,x=Ab,MATLAB,软件,_,续,2,2.MATLA,的安装,进入,MATLAB,软件安装程序目录,然后单击“,Setup”,程序,在安装程序的引导下,逐步完成以下操作,:,(1),选择“,Install”,安装或”,Update license”,升级许可证,单击,Next,;然后输入姓名、公司与序列号,单击,Next,。,(2),选择接受许可证协议,单击“,Yes”,单击,Next,,然后选择“,Typical”,典型安装,单击,Next,。,(3),选择或输入安装目的路径,单击,Next,,后单击“,Yes”,(4),单击,Install,,系统开始安装。,MATLAB,软件,_,续,3,(5),在提示插入第,2,张,CD,时,插入,CD2,,然后单击,OK,,接着在文件扩展名警示对话框内单击,Yes to all,。,(6),单击,Next,,接着单击,Finish,。,(7),如果在单击Finish按钮之前,选择了“Start”选项,则此时进入MATLAB工作环境。,MATLAB,软件,_,续,4,3.MATLAB启动与退出,启动,MATLAB,,进入,MATLAB,工作环境,启动,MATLAB,MATLAB,软件,_,续,5,结束,MATLAB,,退出,MATLAB,工作环境,键入exit,键入quit,直接关闭MATLAB的命令视窗,退出,MATLAB,MATLAB,软件,_,续,6-1,4.MATLAB,变量与基本输入输出,变量命名的规则,:第一个字母必须是英文字母;字母间不可留空格;最多只能有,19,个字母,,MATLAB,会忽略多余字母。,变量定义与输入输出,向量与标量,矩阵,行和列组成的数据表,行向量,矩阵只有一行时,称为行向量。,列向量,矩阵只有一列时,称为列向量。,标量,矩阵只有,1,个元素时,称为标量。,MATLAB,软件,_,续,6-2,变量定义,var=expt;,expt,可以是数字、变量、操作符和函数等组成。,例如:,X=7,A=1 2 3;4 5 6;7 8 9,B=11 12 13 14,C=21;22;23;24,D=X*B,注意:,用方括号“,”,确定的范围内逐行给定元素,相同行元素由空格“”或逗号“,”,分隔,不同行数据由分号“,;”,或回车键分隔。,语句结尾没有分号的命令在屏幕显示结果;有分号的命令只执行而不显示。,MATLAB,软件,_,续,7,5.MATLAB,常用命令,(1)MATLAB,常用的基本数学函数,abs(x),:纯量的绝对值或向量的长度,sqrt(x),:开平方,round(x),:四舍五入至最近整数,fix(x),:无论正负,舍去小数至最近整数,sign(x),:符号函数,(Signum function),exp(x),:自然指数,pow2(x),:,2,的指数,log(x),:以,e,为底的对数,log10(x):以10为底的对数,举例,:4x,2,+58x-89=0,(,a=4,b=58,c=89,),MATLAB,软件,_,续,8,(2),适用于向量的常用函数,min(x):,向量,x,的元素的最小值,max(x):,向量,x,的元素的最大值,mean(x):,向量,x,的元素的平均值,median(x):,向量,x,的元素的中位数,std(x):向量x的元素的标准差,diff(x):向量x的相邻元素的差,sort(x):对向量x的元素进行排序(Sorting),length(x):向量x的元素个数,sum(x):向量x的元素总和,举例,:,对,130,名正常成年男子红细胞数,(RBC,万,/mm),的数据进行描述性统计。,(x=zeros(130,1),平均、中位数、众数、标准差,MATLAB,软件,_,续,9,适用于向量的常用函数,_,续,prod(x):向量x的元素总乘积,cumsum(x):,向量,x,的累计元素总和,cumprod(x):,向量,x,的累计元素总乘积,dot(x,y):,向量,x,和,y,的内积,cross(x,y):,向量,x,和,y,的外积,MATLAB,软件,_,续,10,一些常用的操作函数,format,语句是控制输出的显示格式,句法如下:,format,设置默认显示格式,5,位的定点数,format type,设置按指定的,type,格式输出显示。,例如:,format rat Ratio of small integers,format(type),与上面语句一样,但以函数形式出现,disp(x),显示矩阵函数,%,注释语句,zeros,、,ones,预先定义矩阵的大小。,例如:,h=zeros(6);%,生成,6,6,的,0,矩阵,MATLAB,软件,_,续,11,(3)重复命令,1,),for,循环(,for-loop,),其基本形式为:,for,变量,=,矩阵;,运算式;,end,变量值会被依次设定为矩阵的每一行,来执行,for,和,end,之间的运算式。因此,若中断情况,运算式执行的次数等于矩阵的行数。其中“,;”,是终结内语句的可抑制的重复显示。,举例,:,产生一个长度为,6,的调和数列,x=zeros(1,6);%x,是一个,16,的矩阵,for i=1:6,x(i)=1/i;,end,MATLAB,软件,_,续,12,2)while循环,其基本形式为:,while,条件式;,运算式;,End,实现功能:只要条件成立,就会一再执行运算式。,举例,:,用,while,循环产生一个长度为,6,的调和数列,x=zeros(1,6);%x,是一个,16,的零矩阵,i=1;,while i 0.5,disp(Given random number is greater than 0.5.);,else,disp(Given random number is less than 0.5.);,end,MATLAB,软件,_,续,14,(,5,),将多个命令写入一个M文件,若要一次执行大量的,MATLAB,命令,可将这些命令存于一个文件类型为,m,的文件中,并在,MATLAB,提示号下键入此文件名即可执行。包含,MATLAB,命令的文件以,m,为扩展名,通称,M,文件(,M-files,)。,举例,:,名为,test.m,的,M,文件有以下内容:,%This is my first test M-file.,%Roger Jang,March 3,1997,fprintf(Start of test.m!n);,for i=1:3,fprintf(i=%d-i3=%dn,i,i3);,end,fprintf(End of test.m!n);,MATLAB,软件,_,续,15,建立,test.m,的,M,文件,进入,MATLAB,编辑器,FileNewM-File,在编辑器内输入以下内容,%This is my first test M-file.,%Roger Jang,March 3,1997,fprintf(Start of test.m!n);,for i=1:3,fprintf(i=%d-i3=%dn,i,i3);,end,fprintf(End of test.m!n);,保存文件到指定或默认的目录下,FileSave,输入文件名“,test.m”,MATLAB,软件,_,续,16,执行文件“,test.m”,进入文件所在目录或查看文件,CD,dir,执行,test.m,test,Start of test.m!,i=1-i3=1,i=2-i3=8,i=3-i3=27,End of test.m!,MATLAB,软件,_,续,17,注意,:,M,档案可分为,命令集,(Scripts),及,函数,(Functions),。前述的,test.m,即为命令集,其效用和将命令逐一输入完全一样,因此在命令集直接使用工作空间的变量,则在命令集中设定的变量,可在工作空间中看得到。,函数则需要用到输入参数,(,Input arguments),和,输出参数,(Output arguments),来传递资讯。,例如:计算一个正整数的阶乘(,Factorial,),可以写一个如下的,MATLAB,函数并将之存档于,fact.m,:,function output=fact(n),%FACT Calculate factorial of a given positive integer.,output=1;,for i=1:n,output=output*i;,end,其中,fact,是函数名,,n,是输入参数,,output,是输出参数,而,i,则是此函数用到的暂时变量。,MATLAB,软件,_,续,18,要使用此函数,直接键入函数名及适当输入参数值即可。,y=fact(5),y=,120,注意:,在执行,fact,之前,你必须先进入,fact.m,所在的目录。,在执行,fact(5),时,,MATLAB,会进入一个下层的暂时工作空间(,Temperary workspace,),将变量,n,的值设定为,5,,然后进行各项函数的内部运算,所有内部运算所产生的变量都存在此暂时工作空间中。运算完毕后,,MATLAB,会将最后输出参数,output,的值设定给上层的变量,y,,并将清除此暂时工作空间及其所含的所有变量。,MATLAB,软件,_,续,19,(6)MATLAB,的文件、目录等操作指令,显示当前目录,pwd,显示当前工作目录,s=pwd,将当前工作目录赋予变量,s,改变工作目录,cd,显示当前工作目录,w=cd,将当前工作目录赋予,w,cd(directory),设置当前工作目录为,directory,指定的目录,cd(.),将当前工作目录改为它的上级目录,cd directory or cd.,与上面两条指令等同,MATLAB,软件,_,续,20,MATLAB,的文件、目录等操作指令,_,续,显示目录列表,dir,列示当前工作目录的文件,dir name,列示指定的文件,