关于Matlab的体会与感想Matlab作为一门流行范围广泛、影响大的科学计算语言,它的全称是矩阵实验室(MatrixLaboratory),在全球各类高等院校中Mantlab已经作为部分课程的基本教学工具以及大学生硕士生和博士生必须掌握的一门技能。而近年来Matlab在我国也开始走红流行起来,对这门技能的应用需求也开始大幅提高,在我国的科学研究以及应用方面的作用面也开始发挥越来越多的作用。说起Matlab的来源,它是美国MathWorks公司1984出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink两大部分,Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使Matlab成为一个强大的数学软件。它和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。鉴于Matlab的实用性,在我国的许多高校已经开始开设这方面的课程,而且在初期的成效良好,例如在数学建模比赛这方面随着Matlab的进入也使得学生在面对建模更加得心应手学期刚开始接触Matlab这门课程的时候,看着那一整本厚厚的书,觉得不知道要怎么才能学好,特别是之前有过学习C++的体会,心底里由衷感到程序学习的难度之大。但经过一段时间学习之后,我开始发现Matlab语法简单相对学习C++而言更加的容易和便捷,易于绘制图形,编程也非常容易。Matlab的操作窗口可以分为:命令窗口(用于输入命令,程序),历史窗口(输入过得命令记录)和作空间窗口,图形窗口这几部分。它包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充Matlab的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。除内部函数外,所有Matlab主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。而学习Matlab的过程其实就我自身感觉来说只有小部分时间是看书本的知识指导,大部分是要靠上机实践操作。而作为初学者的我往往有很多不懂的第方,因此‘help’是很有效并且帮助很大的的命令。只要在命令窗口直接敲“help”,就可以得到本地机器上Matlab的基本的帮助信息,对于某些部分不是很明确的命令,只知道大体之间所属的范围,譬如说某个工具包,直接在命令窗口中敲入helptoolboxname,就可以得到本工具箱有关的信息:版本号,函数名等。如果知道函数名,直接用helpfunname就可以得到相应的帮助信息。Matlab的命令除了在命令窗口输入外还可以建立M文件,其步骤为点击左上角File-new-(M-file),在点M文件中,可以先将命令输入,而后进行运行,在编写过程中也可以随时对命令进行改动改进,然后通过Runandsave进行保存并且运行,而运行后也可以及时的发现问题所在并进行修改。与此同时Matlab有着友好的工作平台和编程环境,可以兼容多种系统,无论是曾经风靡一时的XP系统还是如今的新宠儿Windows7,运行使用起来都没有障碍。作为一门简单易用的程序语言,Matlab还有着C++和C语言等程序语言相比较更为便捷的操作以及更人性化的容错率,例如在这题目:输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。要求输入百分制成绩后要判断该成绩的合理性(是否在0~100之间),对不合理的成绩应该输出出错信息,只需要输入如何简单的命令:score=input('inputs=');ifscore0|score100disp('error')elseswitchfix(score/10)case{9,10}disp('A')case{8,9}disp('B')case{7,8}disp('c')case{6,7}disp('D')otherwisedisp('E')endend既可以得到结果,这一命令相对C++来说更加的简短,因而也能更好的减少耗费在书写命令上的时间。而这只是一个例子,更多的实际应用也能让我们体验到Matlab的简便实用。它有着强大的科学计算机数据处理能力的同时还有着出色的图形处理功能,在处理数学图形方面深得使用者的喜爱,尤其是在建立函数模型方面,对于图形的着色以及空间显示效果的好处使得我们在结合函数分析数学问题的时候更为来得直观。例如:绘制函数的曲面图224coscosxyzxye,其中x的21个值均匀分布在[-5,5]范围,y的31个值均匀分布在[0,10]。只需要在命令窗输入如下简单的命令:x=linspace(-5,5,21);y=linspace(0,10,31);[x,y]=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);mesh(x,y,z)就可以得到非常直观的图像另一方面Matlab也有着实用的程序接口和发布平台,例如它可以和文字处理软件MicrosoftWord对应结合使用,利用MatlabNotebook让我们可以再Word环境下访问Matlab,这样一来,我们就可以拥有一个同时处理文字以及科学统计计算于一体的工作环境。在这种双向互动的工作环境下,我们可以把Word文档中的命令传输到Matlab中修改处理,然后再将处理后的结果再次传输回到Word文档之中。同时,我们在数学知识方面运用Matlab和数值计算方法结合也可以解决许多实际问题,由于数值计算方法在检验算法精度、比较算法优劣时常常涉及到大量的数值计算,在计算上需要花很多的时间和精力,影响到对算法的掌握,而且需要结合比较直观的图像加以理解。因而我们在面对数值计算方法学习和使用的时候难度较大,效果往往不能令人满意,而Matlab软件具有强大的符号运算,矩阵运算功能,且这些指令容易掌握,给我们带来了极大的方便,下面给出一个实例:测得飞机在高度h时的上升速度v(h)的数据如下所示h/km0246810v/(km/s)50.046.040.032.222.510.0飞机从地面上升到Hkm高度所需时间可用公式t=∫H01/v(h)dh分别用复化梯形公式和Simposon公式计算飞机上升到8km高空所需要的时间。在结合数值计算方法使用,利用Matlab运用下,命令编写如下。f=inline('5./(1/2*h+3/2)');h=(10-0)/5;temp=f(0);xk=0;fori=1:4xk=xk+h;temp=temp+2*f(xk);endtemp=temp+f(1);temp=temp*h/2;fprintf('\n复化梯形公式计算的结果:%f',temp);temp=0;h=(10-0)/2;xk=0;yk=f(0);fori=0:1xkh=xk+h/2;ykh=f(xkh);xk1=xk+h;yk1=f(xk1);temp=temp+h*(yk+4*ykh+yk1)/6;xk=xk1;yk=yk1;endfprintf('\n复化Simpson公式计算的结果:%f\n',temp);然后我们就可以得到较为直观精确的计算结果通过类似的结合运用,我们就可以计算许许多多生活中的实际问题。综合上述我深深体会到了Matlab的好处,它帮助我很好的解决了一些数学上的问题,而且我也相信在以后通过对Matlab的深入体验,它还可以给我带来更多的实际好处,这在我的数学学习方面尤其获益良多,因此,我希望在将来的日子里能深化我在Matlab知识上面的掌握与使用。以上我对Matlab这一学期来的学习体会以及使用后的一些个人观点。