您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > MATLAB-实习报告
实习报告实习题目:MATLAB的设计与绘图专业:学号:一.概述MATLAB作为一种高级科学计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境。世界上许许多多的科研工作者都在使用MATLAB产品来加快他们的科研进程,缩短数据分析和算法开发的时间,研发出更加先进的产品和技术。二.实验目的1.进一步熟悉MATLAB的软件环境和基本使用方法;2.巩固运用MATLAB、矩阵运算、多项式运算、字符串、单元数组、符号计算功能、绘图及句柄图形及它们的命令语句;3.学习和巩固数字图形图像处理在MATLAB中的知识和运用;4.培养我们独立自学、设计和撰写实验报告的能力;5.通过对MATLAB的进一步学习,是我们加深所学内容的认识,理解,掌握,能把所学知识运用到实际工作中;三.实习日记1.熟悉MATLAB的软件环境和基本使用方法(第一周)MATLAB的语言的基本功能和特点:它是一种高级科学计算语言,相对于传统的C、C++或者FORTRAN语言,MATLAB提供了高效快速解决各种科学计算问题的方法。它具有数学计算、开发工具、数据的可视化、交互式编辑创建图形、集成的算法开发编程语言和环境、图形用户界面开发环境——GUIDE、开放性、可扩展性强、专业应用工具箱等强大的功能。具有易于学习、使用方便、支持多种操作系统、丰富的内部函数、强大的图形和符号功能等优点。路径设置:除MATLAB默认的搜索路径外,用户可以设置搜索路径。设置方法为:选择MATLAB窗口中的File|SetPath命令,进入路径搜索对话框。MATLAB的搜索顺序:当在命令窗口中或者一个M文件中输入一个元素名时,MATLAB按照下面的顺序搜索该元素的意义,以元素foo为例:1)查找工作区中是否存在名为foo的变量;2)在当前路径中查找是否存在名foo.m的文件;3)按照顺序查找搜索路径中是否存在该文件。如果存在多个名为foo.m的文件,则调用首先查到的文件。因此,在为变量和函数命名时,需考虑MATLAB的路径搜索顺序,合为变量和函数命名,保证程序的正确运行。3.熟练运用MATLAB的矩阵运算、多项式运算的运算方法、(第二、三周)例题1:求矩阵方程AX=B,其中210131021A,011001B.解:A=[1,2,0;1,3,1;0,1,2];B=[1,0;0,1;-1,0];X=A\BX=3-4-120-1例题2:求矩阵210121012的行列式,秩,逆,特征值,特征向量,条件数解:a=[2,1,0;1,2,1;0,1,2];det(a)ans=4rank(a)ans=3inv(a)ans=0.7500-0.50000.2500-0.50001.0000-0.50000.2500-0.50000.7500eig(a)ans=0.58582.00003.4142[V,D]=eig(a)V=0.5000-0.70710.5000-0.7071-0.00000.70710.50000.70710.5000D=0.58580002.00000003.4142cond(a)ans=5.8284例题5:求积分103^dxx解:x=0:0.01:1;y=x.*x.*x;trapz(x,y)ans=0.2500例题6:xydxdy01解:f=inline('x.*y','x','y');i=dblquad(f,0,1,0,1)i=0.25004.熟悉MATLAB的字符串、单元数组(第四周)2).字符串的字符串的显示字符串的显示有两种方式:直接显示和利用disp函数进行显示。字符串的执行3).字符串的比较字符串的比较主要为比较两个字符串是否相同,字符串中的子串是否相同和字符串中的个别字符是否相同。用于比较字符串的函数主要是strcmp和strncmp。strcmp:用于比较两个字符串是否相同。用法为strcmp(str1,str2),当两个字符串相同时返回1,否则返回0。当所比较的两个字符串是单元字符数组时,返回值为一个列向量,元素为相应行比较的结果。strncmp:用于比较两个字符串的前面几个字符是否相同。用法为strncmp(str1,str2,n),当字符串的前n个字符相同时返回1,否则返回0。当所比较的两个字符串时单元数组时,返回值为列向量,元素为相应行比较的结果。4).字符串的查找和替换一个字符串是由单引号括起来的简单文本。在字符串中的每个字符都是数组中的一个元素,这些数字是由ASCII字符表示的。这些字符和整数之间可以相互转化。5.熟悉MATLAB的程序设计(第五周)例1:某日测得从零点开始每隔2小时的环境温度数据如下(℃):12,9,9,10,18,24,28,27,25,20,18,15,13,推测中午1点(即13点)的温度,并画出这一天的温度曲线.解1)写脚本文件并运行x=0:2:24;y=[129910182428272520181513];x1=13;y1=interp1(x,y,x1),y2=interp1(x,y,x1,'spline')2)写脚本文件并运行xi=0:1/3600:24;y1i=interp1(x,y,xi);y2i=interp1(x,y,xi,'spline');plot(x,y,'o',xi,y1i,'-',xi,y2i,'-.')输出这一天的温度曲线,见图6.熟悉MATLAB的符号计算功能(第六周)1)。符号变量、表达式的生成例题1:用sym函数生成符号表达式aex+bsinx解:a=sym('a');b=sym('b');x=sym('x');e=sym('e');f=a*e^x+b*sin(x)f=sym('a*e^x+b*sin(x)')例题2:用syms函数生成符号变量解:symsabf=a+bsymsxy5symsxyf17..熟悉MATLAB的绘图及句柄图形(第七、八周)例题1.在一个窗口中画出x=tsin(3t),y=tsint,并适当标注,写出程序并记下简图。解:t=0:0.01:2*pi;x=t.*sin(3*t);y=t.*sin(t);plot(x,y);例题2:利用坐标轴对象实现图形窗口的任意分割x=linspace(0,2*pi,20);y=sin(x);axes('Position',[0.2,0.2,0.2,0.7],'GridLineStyle','-.');plot(y,x);gridonaxes('Position',[0.4,0.2,0.5,0.5]);t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);axes('Position',[0.55,0.6,0.25,0.3]);[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);mesh(x,y,z);8、学习图形图像在MATLAB中的运用(第九周)数字图像处理主要研究的内容有以下几个方面:(1)图像变换。由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅里叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。(2)图像编码压缩。图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。(3)图像增强和复原。图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。(4)图像分割。图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。(5)图像描述。图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。四、作品(第十周)1.用xlsread读取xls中数据;用griddata进行三维插值;首先得重新产生向量(x轴与y轴都是),然后产生网格矩阵,再根据已知数据(xls中给的),对网格矩阵应用griddata数据插值求z值。2.通过对数字图形图像学习,完成了对图形的“空域变换增强、线性平滑滤波、低通滤波、高通滤波、二值图像分析;五.总结在实验中经常会遇到通过MATLAB生成的图像不令人满意的时候,通过对生成图像的多方面修改总结,我初步掌握了处理图像更加完好的基本方法,这样对以后的应用会有很大的帮助,毕竟我们希望运算出来的结果一目了然,形象而精确。完美的图像就给我们增加了很强的视觉效果让我们更容易理解和认识抽象事务。学习了MATLAB这门课程,我了解该软件的基本功能,也知道了该软件在我们生活中的重要地位。随着社会的不断发展,科技的不断进步,计算机的普及,它也被应用在越来越多的方面。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,MATLAB的最突出的特点就是简洁。MATLAB相对于其他的一些编程软件有许多的优点:一、语言简洁紧凑,使用方便灵活,库函数极其丰富。二、运算符丰富。三、MATLAB既具有结构化的控制语句(如for循环、while循环),又有面向对象编程的特性。四、语法限制不严格,程序设计自由度大。五、程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。六、MATLAB的图形功能强大。用madlab创建矩阵时,方法有两种:第一、可以直接依次输入矩阵各行各列的元素,但矩阵元素必须用[]括住,矩阵元素必须用逗号或空格分隔,在[]内矩阵的行与行之间必须用分号分隔。第二、用MATLAB函数创建矩阵。MATLAB可以进行矩阵的加减、乘除的元素,求可逆矩阵、转置矩阵,求矩阵的特征值,求线性方程组等等。MATLAB的功能是非常强大的,MATLAB不仅有强大的运算功能,它还有强大的绘图功能,我对它的了解也仅仅就是一点点,或许说还没有入门。比如说它含有丰富的内建函数,例如数学函数中的三角函数、复函数、多项式函数、数据分析函数的求平均值、最大最小值、排序等,以及逻辑/选择函数如if-else等,还有用来模拟随机发生事件的随机函数。这些我都不了解。虽学习MATLAB的时间虽然很短,但却让我了解到了它的强大和它的功能。我想就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不可能知道所有。老师只是个指路的明灯,最终的学习还是要靠自己。而且在摸索过程中,我们能够发现和体会学习的快乐!六、参考文献1,、MATLAB从入门到精通杨丹,赵海滨主编,北京:中国铁道出版社,20132、MATLAB程序设计教程刘
本文标题:MATLAB-实习报告
链接地址:https://www.777doc.com/doc-5695864 .html