人人范文网 其他心得体会

matlab心得体会(精选多篇)

发布时间:2020-06-28 08:36:40 来源:其他心得体会 收藏本文 下载本文 手机版

推荐第1篇:matlab心得体会

MATLAB学习心得体会

Matlab,提起它,不管我们上课是否认真听讲了,我们都应该对它不再陌生,我们不可否认它的强大之处,正如一节课时老师给我们说的“Matlab可以做很多事情”。通过近一段的学习,使我更加确信,它是一款集数据分析、矩阵运算、信号处理和图形显示于一体,可方便地应用于数学计算、算法开发、数据采集、系统建模和仿真、数据分析和可视化、科学和工程绘图、应用软件开发等方面的强悍软件,是研究人员、工程人员研究工作中 不可多得的工具。

正因为其强大之处,以及可视性及可交互性使我对它的学习产生了浓厚的兴趣。开学至今,短短十次课,我们学习了Matlab矩阵及其运算、Matlab程序设计、M文件操作、M文件调试、M文件高级编程以及Matlab绘图等„„不敢保证每节课都认真听讲,但都尽力去听,一段时间下来,对Matlab还是有了一定的框架性认识 及编程能力。但对于Matlab这样的软件来说,套用曾经一个老师

说的话“我给你们讲的都是皮毛,你们学到的更是皮毛中的皮毛”,虽然有点搞笑,但却是不争的事实,学习软件类的东西,最好的办法就是激发兴趣和多加练习。我想当老师在课堂上给我们演示如何用Matlab编程解决一些实际问题以及编程出现一些绚丽丰富的图形时,我们无不惊叹其美丽,我想凭这一点激发起同学们的兴趣是没有问题的,但问题是同学们为什么还说它难学呢?关键还是在于同学们下课后缺乏锻炼,加之每次课间隔时间较长,仅凭上课时记得的东西,是很难连贯及熟练运用的。

关于如何才能够更好地学习好Matlab,通过下面同学们之间的交流,综合同学及个人意见,提出以下几点建议(纯属个人观点,如有不妥,还请见谅):

1、针对学习资料:

希望邮箱中上传PPT文件标清章节号,一来方便有兴趣及精力的同学提前学习,二来方便同学下来后及时按照章节复习。(注:尤其是对初学者由易到难的过程中显得尤为重要)

2、针对上课学习

对于软件类的学习存在这样一个问题,那就是同学们上课挺感兴趣得听讲,听到入迷时恨不得立刻就找一台电脑试一试,但下课后可能去忙其他事情,不一会儿,这一份热情就消退了,也不会再去练习。针对此,考虑到目前大多数同学都有电脑的情况下,我们是否可以让同学们上课时带电脑到课堂上,一方面老师在讲台上演示,另一方面同学们在下面即时练习,这样也许会收到更好地教学效果。

3、针对课下学习

本学期Matlab学习,老师给的课下作业很少,也许老师考虑同学们比较忙,以及可能交上来的作业效果质量达不到预期效果。但我认为适量的课下作业还是非常有必要的,尤其是对于目前大学生普遍自制力较差的情况,这点显得更加有意义。针对如何布置课下作业以及布置什么作业,根据自身学习经验认为这样比较好:课下作业可以布置那些上课老师演示过的程序或PPT中程序略加改动,让同学们下课后及时完成上交。这不仅使同学们及时复习课上学习内容,也不至于使那些学习效果不佳的同学认为作业太难而直接放弃做去copy别人的。

以上即为近期学习Matlab的一些心得体会,限于学习的程度及能力有限,上文难免有认识肤浅之处,恳请批评指正。

推荐第2篇:matlab心得体会

Matlab是一个基于矩阵运算的软件

1.helpwin只是寻找函数类,一般不如用doc(相当于帮助文档中的搜索),但在用doc搜索不到帮助文件时可用helpwin,如找有关\\的帮助等;打开格式非标准的mat或xls等数据文件如dat文件或无后缀名的文件时,不要用打开方式打开,而应先打开应用程序如MATLAB或excel,然后在应用程序中打开数据文件,这样能得到正确的行数和列数;lookfor可对M文件的第一行进行关键字搜索,比help条件宽松;MATLAB大小写有区分。用which搜索路径;要打开matlab自带的m文件直接用open即可,不需要找到路径,会在当前目录和set path的路径中搜索。 2 矩阵的运算注意:标量与矩阵进行四则运算时该标量与矩阵的每个元素进行运算;两矩阵相乘左矩阵列数须等于右矩阵行数;矩阵除法有左除\\(反斜杠)和右除/(斜杠),A\\B=inv(A)*B,A/B=A*inv(B);方阵的乘方运算有四种:A^n,A^p,s^A,s.^A,其中A为方阵,n为整数,p为非整数,s为标量;A’表示矩阵A的转置,一般选中了Hermitian(共轭)复选框则元素带共轭;funm(A,’fun’)表示矩阵的函数运算,要求A是方阵,fun为矩阵运算函数名;给矩阵赋值时维数必须匹配,用方括号,一个分号为一行。

3.数组的运算注意:数组乘法运算符为.*,表示两数组中对应元素相乘;数组的除法运算符为.\\和./,表示对应元素相除;数组与数组运算时,参与运算的数组必须同维,结果为数组中每个元素进行运算所得;直接用结构名赋值即省略了(1); varargout返回输出变量list即一系列变量名称;feval(@fun,var1,„)用var1,„试算[evaluate]fun的值;读二进制文件常用fopen()和fread()组合,matlab读fortran写出的二进制文件时往往要在fopen()中加\'b\';读文本文件常用textread()和fopen();fscanf()组合,要注意格式,最好读完后对照打开看看。 4.标准差std(x,flag,dim)默认flag=0,dim=1计算公式为 的平方根,flag=1时分母为n;可通过h=figure(i),后用get(h)获得图形对象所有属性的当前值,其格式为:属性名=属性值;结构数组可在域名后加(a,b)再加.变量名,调用时输变量名可使用tab完成;利用struct函数一次输入多个结构元素时注意用单元数组,用{}而非[]。

5. 左除和右除的两边不一定是方阵,当A为m*n矩阵,B为列向量时,A\\B表示A*X=B在最小平方意义上的解,需对A进行QR分解,mn时解通过(A\'*A)\\(A\'*b)求得,而A/B = (B\'\\A\')\';积分可以查一下积分命令quad 或者 trapz。 6.注解块操作符%{和%}必须单独成行否则不起应有作用;struct([])表示结构数组,name1.name2表示name1为结构数组;函数名切记不要与MATLAB内置函数重名否则会出现错误因为系统先从当前目录寻找匹配的函数;MATLAB可以把程序制作的动画生成avi格式的视频,须把avifile(),getframe(),addframe(),close()配合起来使用。 7.启动notebook后word文档的菜单栏中没有出现Notebook菜单项,可以依次单击工具-》自定义-》命令-》宏,选择保存于mbook.dot上的宏TemplateProject.mwNewNotebook..MAIN(把他拖到菜单栏然后单击,没必要)就会出现Notebook菜单项;计算区(Calc Zone)不要弄,evaluate M-book一般也不要用;单元转换为文本可以常用。

8. 低级文件I/O函数很重要,因为它可读写二进制文件,便于与FORTRAN结合;读写之前先用fopen(filename,mode),注意都要加单引号,返回值如ans=0表示操作成功,-1表示不成功;一定要注意r和w因为w会删除原文件所有内容;读用fread(fid,count,precision,skip)其中precision如\'uint8=>char\'读取文本文件,注意在fclose(fid)之前是连续读的,不指定precision默认按字节读取可能会出现很多元素为0;fwrite(fid,A,precision,skip)用二进制格式写入文件,skip参数对于将数据插入到已知长度的记录中非常有用;重设文件指针位置用fseek(fid,offset,origin)表示在fid指定的文件上按照origin给出的参照点,相对移动offset个字节,注意如果指针不在开头要重置到开头origin应选\'cof\'当前位置而不选\'bof\'文件开始,重置完后可用ftell(fid)知道指针当前位置相对于bof的字节数,还可用ferror(fid)查询错误信息;还可用frewind(fid)函数将文件位置指针返回到文件起始位置;从文本文件读字符串行用fgets(fid,nchar)表示读一行文本并带有行结束符,每次读nchar个字符直到遇上结束符。 9.如果运行的M文件有错误,而且在命令窗口又要运行M文件中定义错误的内置函数时可能会出现错误,这时应改工作目录;有些内置函数可在命令窗口运行但在M文件中运行可能会出现错误,如sphere(n);脚本M文件与命令窗口公用变量工作区,而函数M文件有单独的变量工作区,切实注意了;关系操作表达式返回的是逻辑型值即0和1。

10.数组维数扩展时下标不要用1,因这是默认下标用1后结果是重新赋值;不同数组类型转换如cell2struct等之前一定要先看数组尺寸size(array);变量名切记不要用函数名,否则调用函数时会出错还不知错在哪,因MATLAB优先使用变量名而非函数名,比如定义了变量max再调用max()函数时就会报错Subscript indices must either be real positive integers or logicals;中括号加引号用于多个文件名可以,用于多个变量名不行;简单统计量比如最大值,最小值,平均值加减后再统计和统计后再加减结果一样;函数不管用或者出错应检查是否不小心加了等号。

11.设置坐标轴刻度和属性时用set(gca,\'xtick\',数值数组);set(gca,\'xticklabel\',字符串数组); 切记是label不要写成lable;用box off可以去掉右边和上边的刻度和边框;把右边和上边分别作为y和x轴可以加画图形,但最好不用plot而用line;有关坐标轴设置的例子可见我的程序plotNino.m;要实现坐标轴隔点标注数值且所有点间隔线均保留需设置两次坐标轴,第一次显示所有间隔线第二次用ax2=axes()后隔点标注;放大工具只对ax2有效;标注时字符矢量用{}且非数字字符必须加引号;注意annotation()中[x y w h]的x,y是对整个figure而言;标记单个数据点用scatter()即可。

12.MatLab小波分析工具箱中一些学习心得:进行多分辨率分析时,wavedec()得到的小波系数是由最后一层的低频系数和各层的高频系数首尾相连而成,不是相加;用wrcoef()可重构各单支系数的对应信号且saN+sdN+sdN-1+„+sd1近似等于原始信号s;用waverec()一次重构的结果和单支重构的和稍有差别但差别很小如e-15;用wavedec()时注意有些小波函数不能用如Morlet小波基等,具体可看wfilters();小波分解再重构后与原始信号相差最小的小波函数为db1即Haar小波基;

13.只有函数式M文件才能定义函数,脚本文件和函数不能写入同一个m文件中,即脚本文件中不允许出现function()语句但可以调用同目录下函数文件中的函数;函数文件要想保留一些中间变量的值就要在函数外部调用因为函数调用结束时会销毁临时变量空间,需另写脚本文件,要不然就将需要导出的变量作为返回的参数或者用global申明全局变量;要使函数文件中的函数易被其他脚本文件调用,文件名最好为第一函数名;一张图中画多张子图时注意subplot(‘Position’,[ ])和axes(‘OuterPosition’,[ ])在[]中值一样时子图的位置大小不一样,axes的[]所给区域按比例缩小包含坐标轴标题等故值易确定但调用时要加(..,’Parent’,*),此外subplot()可有系统给定区域;

1.help:最有效的命令(参阅了瀚海mathtools的 starrynight网友的文章)其实,可以这样说吧,如果离开matlab软件,我想我自己是基本上什么都不会。 一遇 到什么问题,通常 我的第一反应是:help ,就先说说自己对help的一些常用方法吧。 1)命令窗口直接敲“help”,你就可以得到本地机器上matlab的基本的帮助信息。 2)对于某些不是很明确的命令,只知道大体所属范围,譬如说某个工具箱,直接在 命令窗口中敲入 help toolboxname,一帮可以得到本工具箱有关的信息:版本号,函数名等。 3)知道函数名,直接用help funname就可以得到相应的帮助信息。

2.see also:不可小瞧的关联

在用help命令的时候,可能因为我们开始估计的方向不一定完全正确,在列出的帮 助信息中没有直接 给出的我们要找的东西,但是我们一定不要忽略了在帮助的最后列出的see also。 譬如:曾经遇到一个画椭球的问题。刚开始我以为这个命令函数应该在graph3d中给 出的(顺带提一句, 只用help的时候我们就可以看到matlab\\graph3dGenerate ellipsoid。

3.lookfor: matlab中的google 当我们很多什么头绪都没有的时候,我们可以求助于它,往往会收到意想不到的效果 。 譬如:曾经在gui编程的时候,遇到过这样一个问题:想拖动鼠标时,要出现一个方 框,就像你在桌面 上拖动鼠标,会出现虚线框一样。 当初我也刚开始一定都不知道该查找什么东西,后来 想起用它了。于是乎,>>lookfor Rectangle (很不好意思,当时这个矩形我还是在金山词霸中搞定的-_-) 。果然,在其中就找到 这样一条信息:GETRECT Select rectangle with mouse.^_^

4.get,set: GUI object 属性的帮手

在GUI编程中,我们可能有时候想改变某些object的属性,或者想让它安装自己的 想法实现,但是我们又不 记得这些object的属性,更别提怎么设置他们的值了。这时,可以用 get(handles)得 到此对象的所有的属性 及其当前值。用set(handles)可以得到对象所有可以设置的属性及其可能的取值。找 到我们需要的属性名字和 可能的取值之后,就意义用 get(handles,‘propertyname’)取得此属性的值, 用set(handles,‘propertyname’,values)设置此对象此属性的值。

5.Edit: 查看m源文件的助手

在应用matlab过程中,可能我们想看看它的m源文件,当然用editor定位打开也行, 但是我经常采用的式直接 在command窗口中用edit funname.m,就省去了定位的麻烦。

6.其他常用命令:which,what等

which:定位指定的函数和文件,最好带上参数-all,以便显示更加多的信息 what: 获得指定目录的m文件,mex文件以及mat文件名列表。

推荐第3篇:MATLAB心得体会

MATLAB心得体会

这学期开了MATLAB这门课程,这里面有太多的学问。只要书里面有最基本的语法和命令,对于一个有编程基础的人,MATLAB可以在一个下午的时间内学会。当然,仅仅是学会。如果想要对MATLAB比较得心应手,那么最好的办法就是练习。练习的素材很多,比如对于学经济学的,可以做一些simulation之类的,也可以试着把计量或者宏观教材里面的一些算法写写出来。一开始可能很慢,但是当你完成了一个比较大的project的时候,你的MATLAB的功力将会有巨大的提升。

用MATLAB的无非是做数值计算或者最优化,这也是MATLAB的强项,MATLAB有足够多的工具解决这些问题。但是在使用这些工具箱之前,应该首先了解一些数值计算以及最优化的理论。这一点在程序碰到问题或者计算结果不理想的时候尤为重要。很多时候结果不理想并不是自己的理论出了问题,而是盲目或者错误使用MATLAB的工具箱而导致的。比如我曾经做过一个单纯形法的优化程序,但是结果总是不理想,这个时候就要返回到单纯形法具体是一种什么样的来考虑这个问题,最后发现是由于目标的某一部分十分平缓导致的。 当然更重要的是如果你不理解理论,很多问题根本不知道如何处理。有个学化学同学就曾问我一个程序怎么写,说MATLAB肯定可以完成的。了解清楚之后才明白原来他想做的就是一个受限最小二乘。但是他不懂得什么是最小二乘,当然面对这个问题无从下手。 这个问题没有人强调,但我觉着蛮重要。这里的关键点其实很简单,就是尽量减少重复计算,哪怕是多项式复杂度以内的计算。重复计算的内容应该适时保存到内存中,以后直接调用。一个程序可能会重复运行几千次几万次,一点点的浪费时间都可能被放大很多。空间(内存)我们是可以扩充的,但是时间不是,所以绝大多数时候我们需要放弃空间,获得时间上的迅捷。

这里有个故事,曾经在某技术论坛上看到的,说腾讯公司早期做的QQ实在太过垃圾,他们追踪过QQ的行为,发现在几分钟时间里重复调用了某同一注册表项几百次。显然注册表的内容所占内存是有限的,甚至是可以忽略的,但是每次读注册表项可能都要读硬盘,这里的时间花费是很大的,为什么不把这项内容直接存储在内存里呢?

但是却多了三次计算时间。请问哪种好?不一定,看你的时间空间的权衡。但是具体到这个例子来说,第二种是不推荐的,因为:首先,第二种程序晦涩难懂,难以维护,内存不至于低到不能存储一个变量;第二,如果两个数字都特别特别大,计算a的时候会有溢出的危险。

我想几乎所有学过的人都被这样告诫过。比较好的是MATLAB自带的编辑器本身就可以自动缩进之类的,程序十分易读。但是还有一些东西是有些人不曾注意过的。比如变量名,一个好的变量名一定要有清晰的含义,让人一看就能明白,否则日后的修改维护必然要花费更多的时间去识别这些变量名的含义。这一点可以参考

这里面详细列举了很多命名的规则和技巧。

还有一点就是注释。好的注释可以极大的方便以后的维护以及代码的重用。我的习惯是在代码的开头都要交代这个代码是干什么用的,怎么用等等。在程序中一个大块的功能模块也要加上注释告诉大家你在做什么。如果某个语句很复杂,可以加注释告诉大家这句到底在干什么。这样写出来的程序维护起来或者他人使用起来将非常方便。 另有一篇十分有趣的文章分享给大家:如何写出无法维护的代码

之所以叫做程序,是因为我们所做的工作就是告诉计算机要做什么,该怎么做。所以如果你的脑子里根本不知道这个问题该怎么解决的时候,你就更加无法写出程序。找思路的一般方法是分解问题,然后逐个击破。或者在特殊情况下,需要把问题转化。

分解与转化的第一步是把实际问题转化为数学问题。这一步可能已经做好,可能没有。如果没有,那么这一步就叫做数学建模。绝大多数问题都可以转化为两类问题,一类是最优化问题,一类是求解问题。如果你能知道你在最优化什么东西或者求解什么东西,问题就简单很多。

转化问题的第二步是把数学问题转化为程序。也就是说,你要想清楚这个问题是怎么一步步实现的。 这个过程可能很简单,有现成的方法用,也有可能很复杂,还可能涉及多种转化。比如我们经济学中遇到的求解动态最优化,经常要把连续的东西离散化。

最后,考虑怎么把你的程序转化为真实的代码。这一步说简单很简单,因为只要你做好了以上两步,这一步是顺其自然的。但是当然会有很多小的细节,也许这就是所谓的technique。但是我还是觉着。 应该是debug中最常用的工具。MATLAB的编辑器中可以很方便的实现在每一行的开头有个小横线,单击一下变成红点,然后就设置成断点了。当程序运行到断点之后就会中断,然后会在主窗口显示K>>的标志,这时你可以输入命令查看内存情况等等。一步步的跟踪,直到变量值跟你的预期不一样,这时你就可以很容易的找到错误在什么地方发生了。

这个方法很简单,离开你的电脑,找一个人,随便什么人,说一遍你的程序的思路,说的越具体越好。多数情况下,你在阐述的过程中,程序的错误就会突然从你的大脑里冒出来了。 如果实在找不到就找大街上的乞讨人员吧,给他们十块钱他们应该很乐意听你说的,并且说不定还可以给你一些很好的建议,然后告诉你,十年前他们也在做同样的工作。

MATLAB心得体会

专业:电气工程及其自动化班级:学号:姓名:李博旭

电气13-2 1330070212

推荐第4篇:matlab心得体会

心得体会

虽然说本次matlab实训只有短短的一个礼拜,但在老师的耐心教导以及自身的努力下,还是获益匪浅。本次matlab实训是以信号与系统知识为实例来编写程序的,由于信号与系统正是本学期的课程,所以在理论知识上也比较容易理解,在加上老师耐心讲解,使我们的信号与系统知识也得到了巩固,可谓是一举两得。

在大一学年时,虽然已学过一学期的matlab知识,但是由于时间隔得有点久了,所以很多知识也有所遗忘了,通过本次实训,我们又重新学习巩固了所学知识,在很多matlab的应用上也有了新的体验。比如如何运用符号运算、向量表示法和计算卷积、系统的各种响应等。

Matlab这门课也算是门技术活,要想学好这门课就必须多练习,正所谓熟能生巧,练习多了就熟练了,也就能掌握好并且更好的运用这门课了,我们以前所学的知识之所以能遗忘得这么快,完全是因为我们掌握得不牢固。Matlab是一门很实用的课程,不管是信号与系统还是将来要学的数字信号处理等多门课都可以用matlab来实现,所以掌握好matlab为我们以后的学习和工作打下基础。

通过matlab的实训,同时也是对我们细心和耐心的锻炼。Matlab的编程需要很细心,一个标点符号的错误或者字符的大小写都将导致程序报错,所以这就有利于培养我们的细心。Matlab编程需要长时间的坐在电脑前工作,这就有利于培养我们的耐心,一旦坐在电脑前开始工作,常常会有一种时间过得特别的快的感觉。总之,本次matlab专题训练让我收获很多。

推荐第5篇:Matlab心得体会

Matlab心得体会

10金融3 吕淼 2010241125 在为学习这门课前就听说了他的强大,因为现在的经济模型都是需要这些分析软件的,也曾听说金融的未来方向是需要数学等等作为依托的。曾经旁听过学校数学建模的课程,当时老师用的是lingo。对那个只需要U盘携带就可以安装的小东西记忆深刻。等到学习matlab时觉得这才是真正的王道啊。

它不仅有强大的运算功能,还有强大的绘图功能,虽然学习了有一个学习,但是我对他的了解额仅仅是一点点,或许连入门都谈不上。因为我学习时了解到一个现实。就是matlab的学习依赖有比较好的数学功底,其中我看最经常运用到的就是矩阵。我从网上了解到matlab是一门高等数学和计算机技术结合的东西,学习它必须具有相应的数学和计算机知识。然而很可惜,我的书写不是很好。每次讲到这个部分的时候就觉得听说理解无能了。特别是我今年还是大二,有一次老师讲课时用到协方差。无可避免的我笑了,因为协方差是我们下节课概率论数理统计老师要讲的内容。大一的时候还不觉得,但是大二,越是学习以后的内容越是感觉到时间不够用。或许时间是够用的,但是无法放弃那些占用自己时间表的无用项目。虽然这学期的学习的时间短暂,就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不可能知道所有。老师只是个指路人,最终的学习还是要靠自己。而且在摸索的过程中,我们能够发现和体会学习的快乐。痛并快乐着是种常态了吧。

自我感觉学习matlab与其说是学习一门软件,更不如说是学习一门语言。用一种数理的语言描述现象,揭示表象下的规律。此外,我认为matlab中的作图功能很强大,不仅简单的函数现象可以明确画出,而且一些点状物,甚至立体图也可以画出。大一上微积分的时候,老师曾经多次在课件中加入用matlab画出的图来。不论是一维二维三维等等,都能很好的画出来。只要能编写出函数式,在短短的几秒之内,他就会呈现在你眼前。另外就是图形的直观性,这是由阴影的制作的。而且可以根据需要,坐标图上加标题,坐标轴标记,文本注释级栅格等,也可以指定图线形式,比如是虚线。颜色也可以自己来定。可以在同一张图上画,也可以单个显示。

今年选择金融matlab一方面出于希望能够提前修完大三时期的课程,能够空出更多的时间去考研或者为就业做准备。另一个考虑就是希望明年能够参加数学建模大赛,今年种种纠结放弃了,觉得万分可惜。明年也就是大三下学期的话我就会再来一次,而且还会更加坚定些。那么学习matlab的话对明年的计划也是有帮助的。在学习的过程中,因为以前学过acce中的select语言,觉得就编写这方面是有共性的,但是matlab的编程语言似乎更多更复杂一点,这是由于涉及的数学模型,数学公式更多的原因。老师在讲解的过程中是通过一个个具体的金融例子来讲解的,而不是就matlab这个具体的软件工具进行讲解。这个给我带来相当大的打击,因为我发现我不仅仅是工具不能够熟练,涉及到的专业知识也是一知半解。这更加坚定了我要好好学习专业知识的决心,大学四年有几个人是希望荒度过去的呢?可是今年的这门课真的是让我感到没学到什么,估计也是因为我抱着看一看的随意态度来的吧,也没有那种遇到不懂的就一定要弄懂它的决心和毅力。说什么都是借口了,无法掩饰我没有学好它的事实。事实上,我觉得今年这门课的重点并不是让我们掌握这种软件的具体用法,而是主要向我们展示如何用它去解决一些金融问题,数学问题。这点让我很郁闷,因为我不懂得原理,听起来这门课倍感吃力啊。可是嘛,年轻没有什么不可以,又有谁可以断言我接下来的生活中不能好好学习这个东西为自己的工作,学习,生活,研究兴趣带来方便呢。

从大学开学的见闻到现在学习MATLAB,感觉这是一个很好的软件,语言简便,实用性强。作为一个做新手,想要学习好这门语言,可以说还是比较难的。在我接触这门语言的这些天,除了会画几个简单的图形,其他的还是有待提高。从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如不会外语,想学好是非常难的。 其实想要学习好一们语言,不能只靠老师,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。学习这门语言,不光是学习一种语言,更重要的事学习一种方法,一种学习软件的方法,还有学习的态度。

总结一下,学习任何一门语言:态度决定一切。不论是英语还是计算机语言。其实以前上高中的时候接触过这种编程语言,当时记得最头疼的就是循环语句,但是在matlab中这种东西用的就比较少了。语言语句都是很简洁利落的,都是一枪瞄死靶心的那种,很直接,这也让我减轻不少心理负担。

其实学习这种事,与其说学习什么具体的东西,更不如说是学习一种态度,从种种波折中认识到自己的局限性,不足。心情会沮丧,也会豁然开朗。光想不练假把式,不论想的再多,不实际运用还是没有用的。书山有路勤为径,学海无涯苦作舟。华山再高,顶有过路。这就是我今年学习金融matlab的心得体会。

推荐第6篇:学习Matlab 心得体会

Matlab 心得体会

本学期通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。

MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。在为学习这门课前就听说了他的强大,因为现在的很多模型都是需要这些分析软件的。曾经旁听过学校数学建模的课程,当时老师用的是lingo。对那个只需要U盘携带就可以安装的小东西记忆深刻。等到学习matlab时觉得这才是真正的王道啊。

它不仅有强大的运算功能,还有强大的绘图功能,虽然学习了有一个学习,但是我对他的了解额仅仅是一点点,或许连入门都谈不上。因为我学习时了解到一个现实。就是matlab的学习依赖有比较好的数学功底,其中我看最经常运用到的就是矩阵。我从网上了解到matlab是一门高等数学和计算机技术结合的东西,学习它必须具有相应的数学和计算机知识。然而很可惜,我的书写不是很好。每次讲到这个部分的时候就觉得听说理解无能了。特别是我今年还是大三。虽然这学期的学习的时间短暂,就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不可能知道所有。老师只是个指路人,最终的学习还是要靠自己。而且在摸索的过程中,我们能够发现和体会学习的快乐。痛并快乐着是种常态了吧。

自我感觉学习matlab与其说是学习一门软件,更不如说是学习一门语言。用一种数理的语言描述现象,揭示表象下的规律。此外,我认为matlab中的作图功能很强大,不仅简单的函数现象可以明确画出,而且一些点状物,甚至立体图也可以画出。大一上微积分的时候,老师曾经多次在课件中加入用matlab画出的图来。不论是一维二维三维等等,都能很好的画出来。只要能编写出函数式,在短短的几秒之内,他就会呈现在你眼前。另外就是图形的直观性,这是由阴影的制作的。而且可以根据需要,坐标图上加标题,坐标轴标记,文本注释级栅格等,也可以指定图线形式,比如是虚线。颜色也可以自己来定。可以在同一张图上画,也可以单个显示。

在学习的过程中,因为以前学过acce中的select语言,觉得就编写这方面是有共性的,但是matlab的编程语言似乎更多更复杂一点,这是由于涉及的数学模型,数学公式更多的原因。可是今年的这门课真的是让我感到没学到什么,估计也是因为我抱着看一看的随意态度来的吧,也没有那种遇到不懂的就一定要弄懂它的决心和毅力。说什么都是借口了,无法掩饰我没有学好它的事实。事实上,我觉得今年这门课的重点并不是让我们掌握这种软件的具体用法,而是主要向我们展示如何用它去解决一些金融问题,数学问题。这点让我很郁闷,因为我不懂得原理,听起来这门课倍感吃力啊。可是嘛,年轻没有什么不可以,又有谁可以断言我接下来的生活中不能好好学习这个东西为自己的工作,学习,生活,研究兴趣带来方便呢。

从大学开学的见闻到现在学习MATLAB,感觉这是一个很好的软件,语言简便,实用性强。作为一个做新手,想要学习好这门语言,可以说还是比较难的。在我接触这门语言的这些天,除了会画几个简单的图形,其他的还是有待提高。从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如不会外语,想学好是非常难的。 其实想要学习好一们语言,不能只靠老师,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。学习这门语言,不光是学习一种语言,更重要的事学习一种方法,一种学习软件的方法,还有学习的态度。

总结一下,学习任何一门语言:态度决定一切。不论是英语还是计算机语言。其实以前上高中的时候接触过这种编程语言,当时记得最头疼的就是循环语句,但是在matlab中这种东西用的就比较少了。语言语句都是很简洁利落的,都是一枪瞄死靶心的那种,很直接,这也让我减轻不少心理负担。

其实学习这种事,与其说学习什么具体的东西,更不如说是学习一种态度,从种种波折中认识到自己的局限性,不足。心情会沮丧,也会豁然开朗。光想不练假把式,不论想的再多,不实际运用还是没有用的。书山有路勤为径,学海无涯苦作舟。华山再高,顶有过路。

几点对于学好matlab很重要:兴趣、悟性、勤奋、坚持。

兴趣,不知道哪位名人说过“兴趣是最好的老师。”我觉得非常有道理,一个人一旦对某事物有了浓厚的兴趣,就会主动去求知、去探索、去实践,并在求知、探索、实践中产生愉快的情绪和体验。这样才能主动学习,并且学好到精通。

悟性,通常人认为指顿悟,慧根,我觉得就是对一个问题不断的思索,将自己的体会和感受融合,获得属于自己的知识。有很多事情、问题,都是可以想明白的。只有不停的想,才能想明白,想透彻。

勤奋,一勤天下无难事。从古到今,有多少名人不是有勤奋而得来成功的。现在的年轻人,一代比一代聪明。要不被别人淘汰,要超越别人,只有靠时间堆出来。每天多学一些,多积累一些。学习matlab也一样,想要学会,使用熟练,不花时间练习,写代码,亲自运行调试,是很难掌握好的。

坚持,认准了的事情,就坚持做到底,直到有所收获。事实上,很多人实现不了自己的目标,很大程度上就是少了一种坚持、非要把事情干到底的精神,他们往往浅尝辄止,因此眼睁睁失去了可能到手的成功。光有兴趣,只有三分钟的热情是很难成事的。很多事情的成功取决于踏平坎坷地坚持的毅力。看准了的事情,如果没有百折不挠的坚持,绝难取得成功。看准的事情就不屈不挠地坚持干下去直至成功,才是智者的唯一选择。每一个人都明白所有梦想的实现都需要努力,然而,很多人只所以没有实现心中的梦想,就在于多了空想、犹豫,少了努力坚持。

推荐第7篇:matlab学习心得体会

数值运算

1.cd显示当前的工作目录,dir列出当前目录下的子文件或子目录,home将光标移动到左上角,type列出所有的文件内容。

2.特殊矩阵的生成:

3.linspace生成矩阵:

(1)linspace(a,b):生成100个数据的向量;

(2)linspace(a,b,n):生成n个元素的向量,线性分布; 4.logspace生成矩阵:

(1)logspace(a,b)生成50个对数元素的向量,x(1)=10^a,x(50)=10^b;

(2)logspace(a,b,n):同linspace的用法; 5.指数与对数函数:

6.复数函数:

7.基本数组函数:

8.矩阵变换函数:

9.数据的输出格式由format命令来控制,但是只是影响其显示的结果,对计算结果或者是存储没有影响:

10.常用的变量和常量:

eps:浮点运算的精确程度,是MATLAB中的计算误差;

realmax:计算机能够显示的最大的浮点数;realmin:同其相对应; 11.一些特殊的标识符:

12.bar条形图:

13.几种特殊的图形颜色矩阵:

14.照相制图的函数:

15.axis ij:设置坐标为矩阵格式,坐标原点在左上角;axis为默认值; 16.坐标设置命令:

17.光源设置:

18.字符处理函数:

19.矩阵分解:

20.矩阵函数:

21.

推荐第8篇:MATLAB实习心得体会

matlab实习心得体会

我从中国石油大学(北京)来到大庆油田勘探开发研究院实习,刚刚来到这里时我内心充满了激动和喜悦,对这个有着辉煌成绩的科研单位充满了期待。到了这里没多久我就参加培训中心组织的入院教育,对研究院的辉煌过去有了更深刻的了解,那时我就下定决心在研究院好好实习,多学习一些现场经验,为以后的工作打下良好的基础。

一个月的入院培训结束后,经过自己申请和中心安排我被分到了地震资料处理一室,实习期间地震一室的副主任陈志德是我的现场导师,陈主任有着丰富的理论知识和现场经验,能够成为他的学生我感到非常的高兴。最初他把我分到了高分辨率处理解释项目组,工作内容主要是跟着项目组成员用landmark做一些解释性的工作,期间我跟着张晶师傅学习到了如何加载地震数据和测井数据;如何应用测井数据做了合成地震记录,另外我还做了一些地层解释方面的工作。landmark实习大概进行了三个多月,从中我学习到了地震解释的一些基本流程,虽然以后从事的是地震资料处理方面的工作,但有解释方面的实习经历对于提高自己的能力也是很有好处的。

十二月份研究院举行了硕士研究生开题汇报,现场导师陈志德针对大庆地区扶扬油层中浅层高频噪声干扰严重的现状给我定出了小波阈值去噪的论文题目,并且小波变换也是我学校导师的研究方向。他根据我的研究方向给我的论文制定了如下三个目标: 1.小波分解压制单频噪音

应用matlab设计一个含有随机噪音的一维正演模型,采用小波分解的方法压制噪音,最大程度的保留有效信号。

2.小波分解压制随机噪音

应用matlab 设计一个含有随机噪音的二维正演模型,并利用小波变换阈值方法压制噪音,然后对软、硬阈值去噪方法进行比较,最后得出结论。 3.对实际地震记录的噪音压制

在对理论模型进行噪音压制的基础上,对实际的二维数据进行了噪音压制,对比分析噪音压制前后的结果。

经过这一年半的实习我基本上达到了上述目标,完成了论文的预期效果。论文中编制的程序加以优化后就可以在实际生产上进行应用。 下面我简单谈一下我论文的具体实现过程:

我首先做了两个正演模型:一个为楔状砂体正演模型,另外一个为砂泥岩透镜体正演模型。模型的生成均是以褶积理论为基础的,用标准雷克子波与给定反射系数进行褶积,最后得到合成记录。合成记录生成后我又在其上加上了均值为零的随机分布的高频白噪声,如何去掉这些噪声就是本次论文的重点。我采用的是小波阈值去噪的方法,该方法的理论基础为:属于besov空间的信号在小波域内其能量主要集中在有限的几个系数中,而噪声的能量却分布于整个小波小波域内,因此经过小波变换后,信号的小波变换系数大于噪声的小波变换系数,于是可以找到一个合适的数λ作为阈值。当小波变换系数w小于该阈值时,认为这是的w主要时由噪声引起的;当w大于该阈值时,认为这是的w主要是由信号引起的,从而实现信噪分离。在论文研究过程中对于小波基的选择、尺度参数的选择和阈值的选择都是经过了反复试验确定的,目的就是使论文能达到最好的效果,我也希望这次论文的试验工作能给从事小波去噪研究的人提供一些帮助。

除了完成自己的硕士论文之外,我还参与了科室的其他项目,从最初的用蓝马做地震合成记录到后来的用双狐软件画出产能的饼状图和油气水含量的柱状图,再到后来的用matlab画出野外地表的高程图。每次这样的工作经历都让我收获很多,使我受益匪浅。

时间过的真快,做为一名进站的实习研究生,我来到研究院实习也快圆满地结束了,在这里我学到了很多实际生产上的东西,但学到最多是研究员人身上那种对科研的一丝不苟和执着追求。这段实习经历是我一生中最宝贵的财富,无论今后我走到哪里,我都不会忘了在研究院的这段经历。在这里我非常感谢大庆油田勘探开发研究院能给我这次实习机会,另外我也要感谢培训中心易老师和陈老师的真诚付出,你们为我们组织了很多活动,进行了很多培训,使我们在这里实习感觉就像生活在一个大集体中。我还要感谢我的实习单位地震一室,地震一室的领导为我们的实习创造了很好的条件。刚刚来到科室,科室领导就为我们提供了电脑,给我们的论文工作提供了硬件支持。不仅如此,科室领导还对我们的生活方面予以关心,经常给我们发一些生活上的补助,使我的内心充满了温暖。最后我要真诚地感谢在我实习期间所有帮助过我的人,谢谢你们。同时我也要祝研究院的明天更加美好。

推荐第9篇:matlab实验心得体会

matlab实验心得体会

]这个就是我自己做出来的,发现用soundsc听出来还行,但是用wavwrite就变的很难听。 后来发现PB写的很好,而且还能够把前面一段没有噪音的部分给保存下来,我就看了他的代码,有几点体会:

1.将代码写在.m文件里,这样只需要该文件里的就可以而不必每次都去敲命令;

2.PB对于vector使用的比较熟,我一开始也想到能不能只将后面一段由噪声的给滤掉而保留以前的,但是没想到什么方法,看了PB的代码发现,他对于vector了解的比较深刻,我上面的想法最后只使用一句代码就搞定了

3.对于噪声频率,一定要选准确,PB对每一段噪声只使用的一个频率,就将噪声滤干净了,我用了每段噪声附近的几个波形还没有得到理想波形,最后我发现我选的中心频率和PB的只相差10~25赫兹,所以一定要精确,后来WH又试了一下,只发现改变5HZ的频率都不行

4.加入团队以来,尤其是加入种子班之后就一直告诫自己要时刻抱着一个学习的心态,对于任务不要只是敷衍,完成就好,而是自己一定要从中学到东西,而且在这个过程中一定要逐步掌握自己的学习方法,但是就是这个Matlab,我就是在敷衍了事,所以没有什么事情是可以敷衍的,学习发生在每时每刻,不能因为这是必上的课程而自己没有兴趣就蒙混过关,应该利用这个机会锻炼自己,积极起来,改变自己懒惰的弱点。

PS:附上修改后的代码

%get the samples rate and vector of the wave [xx, fs] = wavread(\'SunshineSquare\'); xx = xx\'; specgram(xx, [], fs);

%^get the A from the frequencies of the noises fnoise = [0 1575 3150 4725]; ww = 2*pi*fnoise/fs; A = -2*cos(ww);

%seperate the wave based on the tone \"du\" leng = length(xx); du = floor((7.749/10.791)*leng);

%determine the h[n] of correspond noise hh = [1 A(1) 1]; for i = 2:4 hh1 = [1 A(i) 1]; hh = conv(hh, hh1); end

%filter the noise yy = filter(hh, 1, xx); %delete the tone \"du\" yy(du100 : du + 80) = 0; figure(2); specgram(yy, [], fs); wavwrite(yy,fs,32,\'filter1\');

%replace the wave which has been filtered with the good part du = floor((7.749/10.791)*leng); yy(1:du)=xx(1:du); %delete the tone \"du\" yy(du100 : du + 80) = 0;

%paint the picture and play it figure(3); specgram(yy, [], fs); soundsc(yy,fs); wavwrite(yy,fs,32,\'filter2\');

推荐第10篇:matlab学习心得体会

最近在学习matlab,一直不入其法门。从网上看到了一些大虾的经验心得,感触颇深,转贴过来,希望给初学者有一定的指引。

一)写给学习matlab 的新手们 作者:eight (八) 来源振动论坛

本人接触matlab已经有5年多的时间了,一直想写点东西,但是之前不知道放在哪里才能发挥它的最大作用,直到几天前碰上了这个论坛(有点像诸葛亮遇见姜维,哈哈)。

废话不说,我想借贵论坛宝地,写一些经验给使用matlab的新手们,当然了,老大们也可以看看,不嫌弃我写得粗糙的话还可以指点一下,先谢过了~~~~

首先我想说的是,matlab跟其他语言不一样(我用的比较多的编程语言,除了matlab就应该是c或c++了,VB和Delphi也接触过,我想版面(matlab版)大部分人也差不多),如果你抱着“把其他语言的思想运用在matlab里面”的话,那么我想,即使程序运行不出错,也很难把握matlab的精髓,也就很难发挥matlab的作用了。所以,如果你是希望matlab作为VC的附属品,即你不想在matlab上面花太多功夫,只纯粹想用matlab来完成VC做不了或很难做成的任务的话,那么,这篇文章你也不需要再阅读下去了;如果你是希望掌握一门语言、一个工具,使它更有效为你服务的话,那么,希望本文对你有所帮助。

Matlab是一个基于矩阵运算的软件,这恐怕是众所周知的事情了,但是,真正在运用的时候(就是在编程的时候),许多人(特别是初学者)往往没有注意到这个问题,因此,for循环(包括while循环)满天飞„„„„..这不仅是暴殄天物(没有发挥matlab所长),还浪费了你宝贵的时间。对此,版友MVH在他的“MATLAB 小技巧”一文中也有所涉及,雷同的东西我也就不重复了,matlab的“帮助”里面也有相关的指示。我这里想说的一点是,初学者往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱C++的思想。举个例子吧,下面的代码是我的一个师弟写的,我想他接触matlab也有

2、3年时间了(在此说明一下,接触

2、3年并不是表示每天都会跟matlab打交道,我本人也不是,只是在一年某几个时间段里面连续使用),但是仍然会出现类似的问题:

J = 0; lt = size(imf1,2); for (i = 1:lt) if (abs(imf1(i)) >1) J = 1; break end end

上面的代码实现了一个目的――检查信号imf1(一个向量)是否存在绝对值大于1的点,这显然是基于C++的思想写出来的。如果在matlab下面,其实用两个语句就足够了(当然,可以合并为一个):

q = find(imf1>1); J = ~isempty(q);

这样的修改带来的好处是很可观的。

又如:

for j = 1:num imf1(start1+j) = 2*li1(j+1)imf1(start1+1:start1+num);

因此,如果是新手,可以先用循环(基于C++的思想)来编写代码,然后看看能否用matlab的语言(基于矩阵的思想)来改进。当然,这样做的前提是你对matlab提供的一些函数比较熟悉才行,这些函数在matlab的“帮助”那里搜索“Functions Used in Vectorizing”就可以找到一些,其他的也可以找相关的书籍(没找到?不可能,电子版总可以下载到的)

对提高matlab编程能力的方法,我想主要有以下三个: 1.查help 2.多上上论坛,搜索帖子、发帖子问人 3.阅读别人、特别是牛人的程序

当然了,正如所有的程序语言一样,“3分课本7分上机”,一定要动手才行,不能光看。多想、多思考、多尝试,才是正路。

最后,整理一下常用的快捷键(用【】表示)或命令: 1.在命令窗口(Command Window)中:

1) 【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令

2) clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉

3) clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成

4) 【Tab】键――(转自版友心灯)在matlab@hit.edu.cn看到的:在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示 5) 【Ctrl+C】(或【Ctrl+Break】)――(转自版友yangjin_ren)在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行,呵呵。 2.在编辑器(Editor)中:

1) 【Tab】(或【Ctrl+]】)――增加缩进(对多行有效) 2) 【Ctrl+[】--减少缩进(对多行有效)

3) 【Ctrl+I】--自动缩进(即自动排版,对多行有效) 4) 【Ctrl+R】――注释(对多行有效) 5) 【Ctrl+T】――去掉注释(对多行有效)

6) 【Ctrl+B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过) 7) 【F12】――设置或取消断点 8) 【F5】――运行程序

其余的例如在Debug状态下的快捷键就不多说了,自己看菜单Debug吧

累了, 有时间再写吧。希望大家多交流~~~~~~

Coming: (以下东西都是一年前做的了,不知道能否记起,呵呵)

1) 关于神经网络的――调用matlab的nntool命令后的使用问题(我做的时候没有看过其他书籍或资料,是自己闭门造车的结果,如果写之前发现其他书籍有相关介绍的话就不写了)

2) 关于外部接口的――matlab与C++Builder的接口,想详细介绍如何利用matcom 4.5在C++Builder中调用matlab的代码以及matcom的一些技巧。由于我不是搞项目开发的(搞科研、搞课题的),所以对VC不熟悉,大学的时候学过一点,不过我想对于搞科研来说C++Builder就足够了,免去很多麻烦,Builder在界面设计和数据库连接上面(我只接触过这两方面)还是做得不错的。同样,如果发现其他书籍上有类似的东西就不写了 3) GUI方面也写写吧,只是一点点心得或者体会,呵呵,这个相对简单些,篇幅相对要少些。

真正接触matlab一年左右,我很喜欢上了matlab的简单的语法,易于绘制图形,gui编

程也非常容易, 并且功能强大的开放式的toolbox。 因此,尽管我一直没有这方面的应用,但是我还是对

它非常感兴趣。 现

将个人的matlab的一点学习体会列在这里,愿能够对大家(特别是初学者)起到一点儿微薄 的作用也好。

1.help:最有效的命令(参阅了瀚海mathtools的 starrynight网友的文章)

其实,可以这样说吧,如果离开matlab软件,我想我自己是基本上什么都不会。 一遇

到什么问题,通常

我的第一反应是:help ,就先说说自己对help的一些常用方法吧。 1)命令窗口直接敲“help”,你就可以得到本地机器上matlab的基本的帮助信息。

2)对于某些不是很明确的命令,只知道大体所属范围,譬如说某个工具箱,直接在

命令窗口中敲入

help toolboxname,一帮可以得到本工具箱有关的信息:版本号,函数名等。 3)知道函数名,直接用help funname就可以得到相应的帮助信息。

2.see also:不可小瞧的关联

在用help命令的时候,可能因为我们开始估计的方向不一定完全正确,在列出的帮

助信息中没有直接

给出的我们要找的东西,但是我们一定不要忽略了在帮助的最后列出的see also。 譬如:曾经遇到一个画椭球的问题。刚开始我以为这个命令函数应该在graph3d中给

出的(顺带提一句,

只用help的时候我们就可以看到matlab\graph3dGenerate ellipsoid。

3.lookfor: matlab中的google

当我们很多什么头绪都没有的时候,我们可以求助于它,往往会收到意想不到的效果 。

譬如:曾经在gui编程的时候,遇到过这样一个问题:想拖动鼠标时,要出现一个方

框,就像你在桌面

上拖动鼠标,会出现虚线框一样。 当初我也刚开始一定都不知道该查找什么东西,后来

想起用它了。于是乎, >>lookfor Rectangle (很不好意思,当时这个矩形我还是在金山词霸中搞定的-_-)

。果然,在其中就找到

这样一条信息:GETRECT Select rectangle with mouse.^_^

4.get,set: GUI object 属性的帮手

在GUI编程中,我们可能有时候想改变某些object的属性,或者想让它安装自己的

想法实现,但是我们又不

记得这些object的属性,更别提怎么设置他们的值了。这时,可以用 get(handles)得

到此对象的所有的属性

及其当前值。用set(handles)可以得到对象所有可以设置的属性及其可能的取值。找

到我们需要的属性名字和

可能的取值之后,就意义用 get(handles,‘propertyname’)取得此属性的值,

用set(handles,‘propertyname’,values)设置此对象此属性的值。

5.Edit: 查看m源文件的助手

在应用matlab过程中,可能我们想看看它的m源文件,当然用editor定位打开也行,

但是我经常采用的式直接

在command窗口中用edit funname.m,就省去了定位的麻烦。

6.其他常用命令:which,what等

which:定位指定的函数和文件,最好带上参数-all,以便显示更加多的信息 what: 获得指定目录的m文件,mex文件以及mat文件名列表

7.各个高校bbs的mathtools版

谁都不可能什么都懂,但是永远记住这样一句话:Two heads are better than one.多向他人请教,多相

互讨论,这不只是在于解决matlab的问题上。 我最经常去的bbs有: .瀚海星云(http://fbbs.ustc.edu.cn/的mathtools版

.水木清华(http://www.daodoc.com mathworks的官方网站

2) http://www.daodoc.com/ Matlab大观园,估计只要在网上搜索过matlab 资料的就不会不知道它,园主

是东北大学的薛定宇教授,一直从事MATLAB语言及其应用研究。 4) http://pamatlab.myetang.com/MATLAB/INDEX.HTM文宇工作室

5) http://sh.netsh.com/bbs/5186/ matlab语言与应用,薛定宇的一个论坛 6) http://www.daodoc.com/resource/newlk.asp中国学术交流园地,除了matla b有关外,还有很多其他的 专业的文章。

最后一条,要大胆的去试,哪怕只有一丁点儿可能。

譬如,早些时候,有朋友问我:我用什么命令可以查找所建立网络的属性的含义, 比如说:我建立网络net=newff(minmax(p),[3,1], {'tansig','purelin'},'traingda');想看看net.trainParam。lr_inc属性是啥含义用什

么命令查看呢?

当时,我根本连练习都没有用matlab的神经网络工具箱的东西练习过。我help newff也没有结果,

后来实在没有办法,就试着help参数值traingda,没有想到还居然真的就找到答案了。

还有,曾经有朋友想把waitbar的默认颜色的红色改掉,我用help 没有发现可以改

变其填充色的property,后来

我看了waitbar.m,发现其填充色本来就不试一个可变参数,但是既然发现了是什么地方

,就可以自己改变的,这都得益于matlab 的开放性。这也为我们提供了很大的灵活性(在他的基础上,我们可以做很少的变换,

就自己写一个填充色可以以属性输入而改变的waitbar的)

第11篇:matlab学习心得体会

Matlab学习心得

班级:机械124 姓名:万明男

学号:2012093386 电话:13945222868

matlab学习心得体会

MATLAB中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。MATLAB内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。 本学期通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。

学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比C语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方matlab学习心得体会三:学习matlab的心得,这是我在学习的过程中的一些技巧,或许对你有帮助. 1,如果你要是不是计算机转业的,只是为了方便自己的工作或学习,那么你没有必要把matlab教程全部学会,只需要学你需要的那部分即可,比如,绘图,矩阵运算,等等,根据你个人的需要而定,但是基本命令、数据类型、基本的程序结构(条件语句,循环语句,嵌套)、文件的IO是必须看的,因为任何一个程序都需要这几个基本的块。

2,你最好找一个熟悉编程的人来辅助你的学习,这就包括很多编程的技巧问题,程序的结构设计问题,对于程序的运行效率非常有帮助。有的时候,你编出来的程序,能够运行,但是耗时太长,也就是说你的程序没有错,但是不适合实际。或者说,对于规模小的问题能够解决,但是规模大一点的问题就需要很长很长的时间,这就需要对程序的结构和算法问题进行改进(亲身体会,编完一个程序,小的例子可以运行出结果,但是大例子需要很长时间,所以必须要改进一下)。

3,你需要找一本matlab的函数工具词典,就像汉语词典一样,你要尽量多的熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数(如vb中,大部分的函数都需要自己编)。这一点对你的程序非常有帮助,可以使你的程序简单,运行效率高,可以节省很多时间(亲身体会)。切记!!! 4,你把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充(这一条是别人教我的,很管用),编程是一点一点积累的,所以你要需做一些随手笔记什么的。

5,编程问题最头疼的不是编程序,而是调程序,所以在你的程序编完之后,一定要进行验证其正确性,你要尽量多的设想你的问题的复杂性,当然,要一步一步复杂,这样才能保证你的程序的适用性很强。

6.文本文件与函数文件之间的区别

因为MATLAB本身可以被认为是一种高级语言,所以用它可编写写出具有特殊意义的磁盘文件来。这些磁盘文件由一系列的MATLAB语句组成,它既可能是由一系列窗口命令语句构成的文本文件,又可以是由各种控制语句和说明语句构成的函数文件。由于它们都是有ASCII码构成的,其扩展名均为“.m”,故统称为M文件。文本文件有一系列的MATLAB语句组成,它类似与DOS下的批处理文件,在MATLAB地提示下直接键入文本文件名,便可自动执行文件中的一系列命令,直至给出最终结果。文本文件在工作空间中运算的变量为全局变量。然而函数文件的功能是建立一个函数,且这个函数可以同MATLAB的库函数一样使用,它与文本文件不同,在一般情况下不能单独键入函数文件的文件名运行一个函数文件,它必须由其他语句来调用,函数文件允许有多个输入参数和多个输出参数值。所以在这两个不同之间的文件之间必须一定要加以区别开来,我一般最先看到的是第一行是否function开头的语句,且是不是存在函数名和输入形式参数和输出形式参数,一般没有这一行的磁盘文件就是文本文件。基本在运行的时候函数文件中定义的变量为局部变量,也就是说它只在函数内有效。即在该函数返回后,这些变量会自动在MATLAB工作空间中清除掉,这与文本文件不同的,但可通过命令global来定义一个全局变量。 7.MATLAB绘图功能

如今绘图功能的运用已经普遍化,如今MATLAB被控制界广泛接受正是因为它能够提供了十分方便的一系列绘图命令,所以学习画图这一部分一定需要认真的学习,另外学习做好的工具就是要与实践相结合,多学多画,可为什么修改之后曲线变了 原因是步长改了,在第一次的命令窗口中步长为0.1第二次没有设定步长,系统却没有自动设定合理的步长,给以的是系统设定的步长为1,所以实验时自己有必要要给出步长。所以在不同的步长的时候得到的图形是不尽相同的,只有提供的合理的步长参数,对于一个系统的仿真才能得到合理的图形。另外要学会运用hold on 以及hold off在绘图时候的功能,增加网格也可以为测量提供简要的标准。

第12篇:MATLAB学习心得体会

学习MATLAB心得体会

MATLAB中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。MATLAB内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。

本学期通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。

MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。

第13篇:最新MatLab实习心得体会

2016最新MatLab实习心得体会

我从中国石油大学(北京)来到大庆油田勘探开发研究院实习,刚刚来到这里时我内心充满了激动和喜悦,对这个有着辉煌成绩的科研单位充满了期待。到了这里没多久我就参加培训中心组织的入院教育,对研究院的辉煌过去有了更深刻的了解,那时我就下定决心在研究院好好实习,多学习一些现场经验,为以后的工作打下良好的基础。一个月的入院培训结束后,经过自己申请和中心安排我被分到了地震资料处理一室,实习期间地震一室的副主任陈志德是我的现场导师,陈主任有着丰富的理论知识和现场经验,能够成为他的学生我感到非常的高兴。最初他把我分到了高分辨率处理解释项目组,工作内容主要是跟着项目组成员用landmark做一些解释性的工作,期间我跟着张晶师傅学习到了如何加载地震数据和测井数据;如何应用测井数据做了合成地震记录,另外我还做了一些地层解释方面的工作。landmark实习大概进行了三个多月,从中我学习到了地震解释的一些基本流程,虽然以后从事的是地震资料处理方面的工找范文就来作,但有解释方面的实习经历对于提高自己的能力也是很有好处的。十二月份研究院举行了硕士研究生开题汇报,现场导师陈志德针对大庆地区扶扬油层中浅层高频噪声干扰严重的现状给我定出了小波阈值去噪的论文题目,并且小波变换也是我学校导师的研究方向。他根据我的研究方向给我的论文制定了如下三个目标:1.小波分解压制单频噪音应用matlab设计一个含有随机噪音的一维正演模型,采用小波分解的方法压制噪音,最大程度的保留有效信号。2.小波分解压制随机噪音应用matlab设计一个含有随机噪音的二维正演模型,并利用小波变换阈值方法压制噪音,然后对软、硬阈值去噪方法进行比较,最后得出结论。3.对实际地震记录的噪音压制在对理论模型进行噪音压制的基础上,对实际的二维数据进行了噪音压制,对比分析噪音压制前后的结果。经过这一年半的实习我基本上达到了上述目标,完成了论文的预期效果。论文中编制的程序加以优化后就可以在实际生产上进行应用。下面我简单谈一下我论文的具体实现过程:我首先做了两个正演模型:一个为楔状砂体正演模型,另外一个为砂泥岩透镜体正演模型。模型的生成均是以褶积理论为基础的,用标准雷克子波与给定反射系数进行褶积,最后得到合成记录。合成记录生成后我又在其上加上了均值为零的随机分布的高频白噪声,如何去掉这些噪声就是本次论文的重点。我采用的是小波阈值去噪的方法,该方法的理论基础为:属于besov空间的信号在小波域内其能量主要集中在有限的几个系数中,而噪声的能量却分布于整个小波小波域内,因此经过小波变换后,信号的小波变换系数大于噪声的小波变换系数,于是可以找到一个合适的数λ作为阈值。当小波变换系数w小于该阈值时,认为这是的w主要时由噪声引起的;当w大于该阈值时,认为这是的w主要是由信号引起的,从而实现信噪分离。在论文研究过程中对于小波基的选择、尺度参数的选择和阈值的选择都是经过了反复试验确定的,目的就是使论文能达到最好的效果,我也希望这次论文的试验工作能给从事小波去噪研究的人提供一些帮助。除了完成自己的硕士论文之外,我还参与了科室的其他项目,从最初的用蓝马做地震合成记录到后来的用双狐软件画出产能的饼状图和油气水含量的柱状图,再到后来的用matlab画出野外地表的高程图。每次这样的工作经历都让我收获很多,使我受益匪浅。时间过的真快,做为一名进站的实习研究生,我来到研究院实习也快圆满地结束了,在这里我学到了很多实际生产上的东西,但学到最多是研究员人身上那种对科研的一丝不苟和执着追求。这段实习经历是我一生中最宝贵的财富,无论今后我走到哪里,我都不会忘了在研究院的这段经历。在这里我非常感谢大庆油田勘探开发研究院能给我这次实习机会,另外我也要感谢培训中心易老师和陈老师的真诚付出,你们为我们组织了很多活动,进行了很多培训,使我们在这里实习感觉就像生活在一个大集体中。我还要感谢我的实习单位地震一室,地震一室的领导为我们的实习创造了很好的条件。刚刚来到科室,科室领导就为我们提供了电脑,给我们的论文工作提供了硬件支持。不仅如此,科室领导还对我们的生活方面予以关心,经常给我们发一些生活上的补助,使我的内心充满了温暖。最后我要真诚地感谢在我实习期间所有帮助过我的人,谢谢你们。同时我也要祝研究院的明天更加美好。

第14篇:matlab程序设计及心得体会

1.编写程序,建立向量n=〔1,2,3,4,5〕,并利用n产生下列向量: (1)2 , 4 , 6 , 8 , 10

(2)1/2 , 1 , 3/2 , 2 , 5/2 (3)1, 1/2 , 1/3 , 1/4 , 1/5

(4)1 , 1/4 , 1/9, 1/16, 1/25。

注意:向量n=1:5,/是传统意义上的矩阵的除法,,而./是两个矩阵的对应元素相除,同理相乘。此处是对应元素相除,所以一定要记住应该用点除,而非除法。 2.从键盘输入一个三位数,将它反向输出。 例如输入639,输出为936。

注意:输出函数:disp(),取整用fix(),取余函数mod(x,y)与rem(x,y)一样。 3. 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。

要求:(1)分别用if语句和switch语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 注意:switch语句中的case最好用0~9的数字表示而不是表达式!不可用break!后不可用表达式!!!为了表示另一种情况,记住用if与其搭配~不要太死板,学会灵活。 4. 建立5*6的矩阵,要求输出矩阵第n行元素。当n的值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并給出出错信息。

注意:随机产生一个0~1矩阵可以用rand函数,整数矩阵便用fix(100*rand(m,n))函数。产生m*n 阶[a,b]均匀分布U(a,b)的随机数矩阵:

unifrnd (a,b,m, n)

5.产生20个两位随机整数,输出其中小于平均值的偶数。

注意:fix(100*rand(m,n))与round(100*rand(m,n))几乎一样的,随机产生m*n阶矩阵,学会变通,随机产生两位随机整数。fix是指向0靠拢取整。fix(3.7)=3,fix(-3.7)=-3。floor指向下取整,ceil指向上取整。round指四舍五入取整!!round最常用~记住a=o指赋值,而a==0指判断,与c语言一样~当矩阵只有一行时,可用a(i)表示每一个数。用k(i)表示来输出每一个数!表示矩阵中的每一列时用a(:,i),表每一行时用a(i,:)。

6.输入20个数,求其中的最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。注意:熟记其中的函数将对编程的速度有很大的提高!孩子,加油!

e0.3ae0.3a0.3asin(a0.3)ln7.y,当a取-30.,-2.9,……,2.9,3.0时,求各点22的函数值。要求分别用顺序结构和循环结构实现。

注意:用size返回向量元素的个数,如果是矩阵,size(a,2)指返回矩阵的竖的个数,即多少列。其中一维是指行,二维指列。记住表示一个向量时,步长放中间。!

8.当n分别取100、1000、10000时,求下列各式的值:(要求分别用循环结构和向量运算(使用sum函数)来实现)

1111 2222123n111(2)1

3571111(3)n

416644(1)

2n2n224466(4)注意:使用while循环时,注意对n初始化,1335572n12n1与c语言较象。普通指数时直接用^,自然指数时,若x已知,用y=exp(x)。

9.若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如:2*3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。求〔2,50〕区间内, (1)亲密数对的对数;

(2)与上述亲密数对对应的所有亲密素数之和。

注意:x=primes(n)输出不超过n整数的素数,a=length(x)表示输出素数的个数。用b=isprime(n)来判断n是否为素数,若为素数则b=1,反之为0。学会变通,求和用if循环就好。

111110.根据1,求:

3572n1(1)y

注意:不能被题目吓跑~~·很简单的,耶耶!

11.

已知yf(40)

f(30)f(20)(1)当f(n)=n+10ln(n2+5)时,y的值是多少?

(2)当f(n)=1*2+2*3+3*4+……+n*(n+1)时,y的值是多少?

12.

编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。 13.

定义一个函数文件,求給定复数的指数、对数、正弦、余弦,并在命令文件中调用该函数文件。

14. 先用函数的递归调用定义一个函数文件求1005010i,然后调用该函数文件求

i1n1zhuyi:yaoxunzaoyigehanshubiannnengjiejue defangfa~~ kkkk1k1k1215.写出下列程序的输出结果。 (1)

s=0; a=[12 13 14;15 16 17;18 19 20;21 22 23]; for k=a

for j=1:4

if rem(k(j),2)~=0

s=s+k(j);

end

end end s

(2)命令文件 global x x=1:2:5;y=2:2:6; sub(y); x y 函数文件sub.m function fun=sub(z) global x z=3*x; x=x+z; 16已知:1111n11,编程求的近似值。

43572n1 注意:在编程过程中,一个小小的乘号将导致很难查出错误,很会影响心情,所以不能忽略小问题,必须仔细小心!

1517.输入下面的矩阵,A913234678101112141516求该矩阵的对角线元素之和,并找出最大和最小的元素的值以及其所在的行、列号。将最大值替换成inf,最小值替换成-inf。 注意:①找出矩阵中具体某个元素的具体位置的方法: ind=find(a==max) siz=[4,4]

[I,J] = ind2sub(siz,ind)便可以找到最大元素的位置!! [I1,I2,I3,...,In] = ind2sub(siz,ind) ②对角线元素用diag函数~~ ③要找出一个很大矩阵的最大最小元素用两个for循环。! 加油~写出这道题好兴奋啊,这种感觉真好!!

18.求解猴子吃桃问题。猴子在第一天摘下若干个桃子,当即吃了一半,又感觉不过瘾,于是就多吃了一个。以后每天如此,到第10天再想吃时,却发现就只剩一个桃子。请编程计算第一天猴子摘的桃子个数。

注意:不要被问题吓到,很简单的一个问题罢了~当顺着不行时,试着倒着来解答编程。 19.求n阶勒让德多项式的值,其递归公式为:

p(n,x)((2*n1)*x*p(n1,x)(n1)*p(n2,x))/n

p(0,x)1;p(1,x)x注意;它要的仅仅只是一个定义函数~并没有需要一个确切的值。 20.利用恒等式26k11计算圆周率的近似值。 k2注意:sqrtm(a):矩阵a开平方根;sqrt(a):矩阵a对应的元素开平方根。

21. 输入一个正整数,如果它是偶数就除以2,是奇数就乘以3加上1,如此一直变化,直到最后变成1。

注意:判断一个数是否为整数可以用判断语句a==round(a)!!在matlab中,用~=表示不等于,与c语言不同。 22. (1)用递归调用求Fibonacci数列定义如下: f1=f2=1 , f(n+1)=f(n)+f(n-1) 。

(2)求Fibonacci数列大于4000的最小项。

注意:这道题目很简单,却花了很长的时间~·主要是题目意思没弄清便动笔,要学会分清题意,冷静分析。另外还要注意while的条件,1便执行,0则跳出~。

23. 列出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该书本身。例如:153=13+53+33 注意:当输出的不仅仅是一个数时,需要定义一个数组a(i),i=i+1,输出为a。if语句中,判断条件中为==,而不是赋值语句=!!!别总犯相同的错误~~·

24. 试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。如N=5,原来x为:而经过颠倒处理后x中数据的次序应该为:x=[ 9 7 5 3 1 ]

25. 已知某班的5名学生的三门课成绩列表如下:

学生序号1 2 3 4 5 高等数学78 89 64 73 68 外语83 77 80 78 70 MATLAB语言82 91 78 82 68 试写出有关命令,先分别找出三门课的最高分及其学生序号;然后找出三门课总分的最高分及其学生序号。针对上述的成绩表,求出其三门课总分存入数组ZF,再利用SORT命令对之按降序排序,同时把相应的学生序号存入数组XH。

第15篇:matlab

MATLAB

MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.在新的版本中也加入了对C,FORTRAN,c++ ,JAVA的支持.可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用,非常的方便。

MATLAB的基础是矩阵计算,但是由于他的开放性,并且mathwork也吸收了像等软件的优点,使MATLAB成为一个强大的数学软件

当前流行的MATLAB 6.5/7.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充

MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.

开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.

Matlab的官方网站:http://

Matlab的优势和特点

(1)友好的工作平台和编程环境

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的

MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

(2)简单易用的程序语言

Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业

的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

(3)强大的科学计算机数据处理能力

MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如距阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

(4)出色的图形处理功能

MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和距阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使他不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

(5)应用广泛的模块集合工具箱

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

(6)实用的程序接口和发布平台

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。

MATLAB的一个重要特色就是他有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

(7)应用软件开发(包括用户界面)

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5。

(8) Matlab常用工具箱介绍(英汉对照)

Matlab Main Toolbox——matlab主工具箱

Control System Toolbox——控制系统工具箱

Communication Toolbox——通讯工具箱

Financial Toolbox——财政金融工具箱

System Identification Toolbox——系统辨识工具箱

Fuzzy Logic Toolbox——模糊逻辑工具箱

Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱

Image Proceing Toolbox——图象处理工具箱

LMI Control Toolbox——线性矩阵不等式工具箱

Model predictive Control Toolbox——模型预测控制工具箱

μ-Analysis and Synthesis Toolbox——μ分析工具箱

Neural Network Toolbox——神经网络工具箱

Optimization Toolbox——优化工具箱

Partial Differential Toolbox——偏微分方程工具箱

Robust Control Toolbox——鲁棒控制工具箱

Signal Proceing Toolbox——信号处理工具箱

Spline Toolbox——样条工具箱

Statistics Toolbox——统计工具箱

Symbolic Math Toolbox——符号数学工具箱

Simulink Toolbox——动态仿真工具箱

Wavele Toolbox——小波工具箱

例如:控制系统工具箱包含如下功能:

连续系统设计和离散系统设计

状态空间和传递函数以及模型转换

时域响应(脉冲响应、阶跃响应、斜坡响应)

频域响应(Bode图、Nyquist图)

根轨迹、极点配置

1.补充新的内容:

MATLAB R2007b正式发布了!MATLAB 2007b于2007年秋节正式发布,TMW正式发布了MATLAB R2007b,新版本涵盖:Simulink

7、新产品Simulink Design Verifier、Link for Analog Devices VisualDSP以及82个产品模块的更新升级及Bug修订。从现在开始,MathWorks公司将每年进行两次产品发布,时间分别在每年的3月和9 月,而且,每一次发布都会包含所有的产品模块,如产品的new feature、bug fixes和新产品模块的推出。

在R2007b中(MATLAB 7.4,Simulink 6.6),主要更新了多个产品模块、增加了多达350个新特性、增加了对64位Windows的支持,并新推出了.net工具箱。R2007b, released on March 1, 2007, includes updates to MATLAB and Simulink, two new products released since R2007b, and updates and bug fixes to 82 other products.R2007b adds support for the Intel® based Mac, Windows Vista™, and 64-bit Sun Solaris™ SPARC platforms.

这次的升级做了重大的增强,也升级了以下各版本,提供了MATLAB、SIMULINK的升级以及其他最新的模块的升级。这个Matlab 2007版本不仅仅提高了产品质量,同时也提供了新的用于数据分析、大规模建模、固定点开发、编码等新特征。其中MATLAB Builder for .net扩展了MATLAB Compiler的功能,主要有:可以打包MATLAB函数,使网络程序员可以通过C#,VB.net等语言访问这些函数;

创建组件来保持MATLAB的灵活性;

创建COM组件;

将源自MATLAB函数的错误作为一个标准的管理异常来处理。

R2007b 提供了重大的新功能: 直接在命令行使用 Real-Time Workshop 的 嵌入式 MATLAB 函数的 C 代码生成。 另外,Simulink 中的嵌入式 MATLAB 函数块支持多 M 文件中的算法。

MATLAB R2007b新版本中,产品模块进行了一些调整,MATLAB Builder for COM的功能集成到MATLAB Builder for .net中去了,Finacial Time Series Toolbox的功能集成到Financial Toolbox中了。MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用 MATLAB 产品的开放式结构,可以非常容易地对 MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善 MATLAB 产品以提高产品自身的竞争能力。

作为和Mathematica、Maple并列的三大数学软件。其强项就是其强大的矩阵计算以及仿真能力。要知道Matlab的由来就是Matrix + Laboratory = Matlab,所以这个软件在国内也被称作《矩阵实验室》。每次MathWorks发布Matlab的同时也会发布仿真工具Simulink。在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主要使用的仿真软件就是Simulink。Matlab提供了自己的编译器:全面兼容C++以及 Fortran两大语言。所以Matlab是工程师,科研工作者手上最好的语言,最好的工具和环境。Matlab 已经成为广大科研人员的最值得信赖的助手和朋友!

常用函数一览:(参考《微积分》及《线性代数》,高等教育出版社)eye()--->化为单位阵

*--->内积、乘法

sqrt()-->求向量的模,求平方根

acos()--->arccos()反三角余弦

inv()--->求矩阵的逆,求倒数

[P,D]=eig(A)--->eig(A)求A的特征值与特征向量,D对角线元素为A的特征值,P每列

为A的对应于D的特征向量

syms x---->定义变量x

limit(u^2,u,inf)---->求u趋于无穷时u^2的极限

exp(x)---->e^x

NaN--->不存在

limit(1/x,x,0,\'left\')---->求x趋向于0的左极限

diff()----->求导数

pretty(ans)---->将结果整理成书写形式

diff(exp(a*x),x,3)---->求e^(ax)的三阶导数

ezplot()---->绘图,括号内为函数

int(1/(1+x),x,0,1)--->求函数从0到1的积分

double()--->求具体数值

dsolve()---->解常微分方程

Dy---->y\'一阶导数

D2y---->y\'\'二阶导数

{syms x y

maple(\'readlib(mtaylor)\');

maple(\'mtaylor(sqrt(1-x^2-y^2),[x=0,y=0],6)\')}---->马克劳林展开式至四次项, 泰勒展开式,可缺省[x=0,y=0]

S=symsum(u,t,a,b)--->表示t从a到b对u求和(级数),当只有t一个变量时t可以省略

clear all---->清空缓存

{syms n k Sn;

n=9000;

Sn=0;

for k=1:n

Sn=Sn+log(1+1/k^2);

end

fprintf(\'%f,(n=%d)\',Sn,n)}---->求级数 见课本微积分(2)94页

r=taylor(f,n,x,a)---->表示将函数f展开成(x-a)的n-1阶泰勒级数,x为展开式的符号变量

第16篇:MATLAB

《MATLAB及其应用》上机实验报告

____《第一章 MATLAB7.3环境》报告

第一章:第8 、9 、10题。 目的:熟悉MATLAB7.3的环境,熟练掌握MATLAB通过命令管理变量和文件管理命令的功能。 P306 第8题:

1234输入变量a=5.3,b=“A:\\exe0101.mat”文件。

在工作空间中使用who,whos,exist,clear命令将变量存入程序文档、运行过程和结果: >>a=5.3;b=[1 2;3 4] b =

4>>who Your variables are: a b

>>whos

Name

Size

Bytes Cla

Attributes

a

1x1

8 double

b

2x2

32 double

>>exist (\'a\') ans =

1 >>clear >>exist a ans =

0 >>exist b ans =

0 >>save C:/exe0101.mat >>心得体会:通过这题,我们可以用who,whos来查询数据种类情况,可以用exist来查询数据的数目,知道clear来清除数据的数目,clc是用来清除command window的显示,使它不会显得太杂乱,save是一个很方便的保存方法。

第9题:

使用文件管理命令dir、matlabroot、what、type、which查看“··\\MATLAB”目录下的文件信息。 >>dir C:\\matlab

..

exe0101.mat exe0102.mat

>>matlabroot ans = C:\\matlab >>what D:\\ MAT-files in directory D:\\

exe0101

>>type exe0101.mat MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Mon Nov 07 20:12:08 2011

>>which exe0101.mat C:\\matlab\\exe0101.mat 心得体会:dir、matlabroot、what、type、which等查看方式,可以对“...\\matlab”下的文件进行方便的查询了解。 第10题:

学习设置MATLAB搜索路径的方法,将“A:\\ exe”目录添加到搜索路径中,并移去搜索路径。 在MATLAB界面选择菜单“File”→ “Set Path”的命令。选择A:\\exe,单击save。这时A:\\exe便添加到搜索路径。若点A:\\exe,再点击Remove,将已有的目录移除。 心得体会:练习了搜索路径的方式,以后对文件的搜索及文件搜索有了更纯熟的应用。疑问:并没有A:\\exe目录存在,是否是题目问题。

第17篇:matlab实验报告

求解:1.模拟比赛车道曲线和选手速度曲线;

2.估计车道长度和所围区域面积;

3.分析车道上相关路段的路面状况(用不同颜色或不同线型标记出来);

4.对参加比赛选手提出合理建议。

四.合理建议

1.通过赛道曲线可知,选手所经过的赛道上不平整的地方很多,如果平常不多多尝试不同的路况会造成比赛时的很多突发情况,都会造成选手的成绩受到很大的干扰,甚至退赛等严重的后果。所以我建议选手平时要多在不同类型的路况上练习,以增强应变能力,取得更好的成绩。

2.选手的速度分配有一些不合理,在平直的沙土路段应该全力加速,以最快速度通过这个路段,以达到最好的比赛效果。在经过坑洼碎石路时尽量保持一个恒定的速度,因为如果速度一直在变化,很容易在这种路段上陷入或者熄火,造成比赛时的极大不利。将加速尽量用在沙土路等摩擦力较大的路上,以免耗费太多的动力。我们需要将动力的效率尽量的提高。

五.实验的总结

我认为,本实验的主要目的在于让我们掌握对三次样条差值来模拟离散点表示的曲线的运用,我认为我们已经基本掌握,并且我们也掌握了用梯形法求不规则封闭图形的面积的方法,,除此之外,本实验中还有考查所学知识外的方面,就是画v-t图。

事实上,根据题目所给的条件,并不能准确地画出v-t图,所以需要找到一种方法,来尽量 使结果接近真正的情况。我采用了中值的方法,这是我想到的一种比较有效的方法,并且在使用这种方法时,又运用到了三次样条差值的方法,使我对三次样条差值法理解地更加深刻,并且能更加灵活地运用。

所以我发现三次样条差值的方法运用的范围十分广泛,不仅是对路径的拟合,许多已知离散点,对应的函数连续变化的问题也可以用此方法解决,比如已知一天中几个离散时间点对应的气温,估计出一天气温的变化趋势,就可以用此方法。

最重要的是,我感到了数学建模的重要性,我发现原来生活中不少类似的问题,都是用数学建模的方法解决的。

第18篇:matlab学习心得

学习MATLAB 感想 学习了 MATLAB 这门课程,我了解该软件的基本功能,也知道 了该软件在我们生活中的重要地位。随着社会的不断发展,科技 的不断进步,计算机的普及,它也被应用在越来越多的方面。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工 程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C, FORTRAN 等语言完成相同的事情简捷得多,MATLAB 的最突出的 特点就是简洁。 MATLAB相对于其他的一些编程软件有许多的优点:

一、语言简洁紧凑,使用方便灵活,库函数极其丰富。

二、运算符丰富。

三、MATLAB既具有结构化的控制语句 (如for循环、while循环) , 又有面向对象编程的特性。

四、语法限制不严格,程序设计自由度大。

五、程序的可移植性很好, 基本上不做修改就可以在各种型号的计 算机和操作系统上运行。

六、MATLAB的图形功能强大。用madlab创建矩阵时,方法有两种:第

一、可以直接依次输入矩 阵各行各列的元素,但矩阵元素必须用[ ]括住,矩阵元素必须用逗号 或空格分隔 ,在[ ]内矩阵的行与行之间必须用分号分隔。第

二、用 MATLAB函数创建矩阵。MATLAB可以进行矩阵的加减、乘除的元 素,求可逆矩阵、转置矩阵,求矩阵的特征值,求线性方程组等等。 MATLAB的功能是非常强大的,MATLAB不仅有强大的运算功 能,它还有强大的绘图功能,我对它的了解也仅仅就是一点点,或许 说还没有入门。比如说它含有丰富的内建函数,例如数学函数中的三 角函数、复函数、多项式函数、数据分析函数的求平均值、最大最小 值、排序等,以及逻辑/选择函数如if-else等,还有用来模拟随机发 生事件的随机函数。这些我都不了解。 虽学习MATLAB的时间虽然很短,但却让我了解到了它的强大和 它的功能。我想就算时间足够,老师也不能把所有的都讲解给我们, 因为一个软件的功能需要我们自己不断的去摸索, 老师也不可能知道 所有。老师只是个指路的明灯,最终的学习还是要靠自己。而且在摸 索过程中,我们能够发现和体会学习的快乐!

第19篇:matlab实验报告

实验二

特殊函数与图形

一、实验目的及意义

掌握用Matlab软件绘制简单曲线、曲面图形,并通过绘制一些特殊函数的图形,更加深入地理解相关函数的性质,了解函数的性态。

二、实验内容

平面作图、空间作图,比较数值作图与符号作图的异同。

三、实验步骤

1.在D盘建立一个自己的文件夹;

2.开启软件平台——MATLAB,将你建立的文件夹加入到MATLAB的搜索路径中。

3.4.5.6.7.利用帮助了解函数plot, surf, ezmesh,ezsurf等的功能和用法。

开启MATLAB编辑窗口,键入你编写的M文件(命令文件或函数文件);

保存文件(注意将文件存入你自己的文件夹)并运行;

若出现错误,修改、运行直到输出正确结果;

写出实验报告,并浅谈学习心得体会。

四、实验要求与任务

根据实验内容和步骤,完成以下具体实验,按要求写出实验报告。 1.作出下图所示的三维图形:

图1 提示:图形为圆环面和球面的组合.

2.作出下图所示的墨西哥帽子及其剪裁图形:

图2

3.画出椭球面、双叶双曲面、单叶双曲面.

4.若要求田螺线的一条轴截面的曲边是一条抛物线:y0时x25z.试重新设计田螺线的参数方程,并画出该田螺线.

5.作出下图所示的马鞍面(颜色为灰色,并有一个标题:“马鞍面”):

图3 6.绘制黎曼函数的图形,要求分母的最大值n的数值由键盘输入(提示:使用input语句).

第20篇:MATLAB论文

MATLAB与在信号与系统中的应用

姓名:江肥 班级:*** 学号:***

摘要:论文通过MATLAB在信号与系统中的应用实例,探讨了MATLAB在信号与系统中的应用方法和技巧,对运用计算机软件完成“信号与系统”课程的波形绘制,微分方程的求解,信号与系统分析具有较好的参考价值。

关键字:MATLAB应用 信号与系统 微分方程

引言

“信号与系统”课程是一门实用性较强、涉及面较广的专业基础课,是电子信息类专业学生的必修课程。它是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后继专业课起着承上起下的作用。该课程的基本方法和理论大量运用于计算机信息处理的各个领域,特别是通信、图像处理、数字信号分析等领域,应用更为广泛。MATLAB作为一个辅助类的软件可以很好的完成数值计算、信号与系统分析的可视化建模及仿真调试。

1.用MATLAB绘制信号的波形

运用MATLAB绘图,可以很快速和简便的得到响应函数的波形图,通过分析响应的波形将对信号的分析有更深入的了解。

用MATLAB绘制f(t)=e(t+3)-2e(t),其中e(t)为step函数 解:在MATLAB窗口中输入如下命令

f=sym(\'heaviside(t+3)-2*heaviside(t)\') ezplot(f,[-5,4]), hold on,plot([0,0],[-1,1]), axis([-5,4,-1.1,1.1]),hold off 结果如图1:

图1

从图1可以清楚的看到f(t)的时域关系图。

2.利用MATLAB解微分方程

在信号与系统中,连续时间系统处理连续时间信号,通常用微分方程来描述这类系统,也就是系统的输入与输出之间通过他们时间函数及其对时间t的各阶导数的线性组合联系起来。因此,在信号与系统中,求解微分方程对于研究连续时间系统的时域分析非常的重要。下面本文选择了一种简便的方法来处理这类问题,运用MATLAB的方法。

求解线性微分方程

y’’’+5y’’+4y’+7y=3u’’+0.5u’+4u

在输入u(t)为单位脉冲及单位阶跃信号时的解。

解:两边进行拉普拉斯变换(脉冲输入U(S)=1;单位阶跃U(S)=1/S) 3s20.5s4B(s)y(s)3u(s)

s5s24s7A(s)

求脉冲响应:A=[1 5 4 7];B=[3 0.5 4];[r ,p,k]=residue(B,A) 时域解:t=0:0.2:10 y=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t)+r(3)*exp(p(3)*t);plot(t,y) 得到的波形图如图2-1

图2-1 求阶跃响应:

打开MATLAB中的simulink模块,建立一个模型文件,命名为”li.mdl”。如图2-2

图2-2

单击仿真按钮,然后返回MATLAB中输入一下命令,即可得到如图2-3

图2-3

传统求系统阶跃响应和冲激响应的方法都是对传递函数进行拉氏变换,再和激励函数的拉氏形式相乘,左后求反变换。不仅工程量大,而且得出的结果不直观;本文采用MATLAB建模的方式解决问题,不但简单,而且非常直观的反映了响应函数的特性。

3.根据传递函数求系统的零极点分布,单位冲激响应,单位阶跃响应以及幅频特性

在分析系统的静态和动态特性时,常常可以通过对传递函数进行分析,从而解决系统是否稳定等问题,然而传统的分析方法,常常要借助于人工计算,不仅工作量比较大,而且效率也比较低。而MATLAB解决了这一难题,本文通过调用MATLAB内部的函数进行计算,非常的高效的得到了零级点分布,单位冲激响应,单位阶跃响应以及幅频特性,非常的直观。

例:传递函数是

1H(s) s32s22s1

解:首先建立一个m文件,并且命名为“li.m”

clear

t=0:0.01:10;

num=[1];

den=[1 2 2 1];

sys=tf(num,den)

poles=roots(den)

figure(1),pzmap(sys); %零级点分布

h1=impulse(num,den,t);

figure(2),plot(t,h1); %单位冲激响应的波形

title(‘Impulse Response’) %加标题

h2=step(num,den,t);

figure(3),plot(t,h2); %单位阶跃响应波形

[H,w]=freqs(num,den);

figure(4),plot(w,abs(H)); %幅频特性图

xlabel(‘\\omega’)

title(‘magni tude Response’)%加标题

运行结果是

Transfer function:

--------------------- s^3 + 2 s^2 + 2 s + 1

poles =

-1.0000

-0.5000 + 0.8660i

-0.5000 - 0.8660i 零极点分布如图3-1所示

图3-1

单位冲激响应的波形如图3-2所示

图3-2 单位阶跃响应波形如图3-3所示

图3-3

幅频特性如图3-4所示

如图3-4

4 结束语

MATLAB软件是目前比较流行的一套商业数学软件,在数值计算、信号处理方面尤为突出。它的出现给信号与系统分析中一些理论的掌握提供了很大的方便,利用其先进的计算机软件环境,可将信号与系统、信号处理中的很多定理直观化、可视化,这对学习这些理论非常有利。

参考文献:

【 1 】燕庆明.信号与系统教程[M] .北京:高等教育出版社,2004 【 2 】楼顺天.基于MATLAB的系统分析与设计——信号处理.西安:西安电子科技大学出版社,2001 【 3 】梁红.信号与系统分析及MATLAB实现.北京:电子工业出版社,2002 【 4 】郑君里.信号与系统(第二版).北京:高等教育出版社,2000

matlab心得体会
《matlab心得体会.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档