MATLAB心得体会打印版.pdfVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学 海 无 涯 MATLAB 心得体会 这学期开了MATLAB 这门课程,这里面有太多的学问。只要书里面有最基本的语法和命令, 对于一个有编程基础的人,MATLAB 可以在一个下午的时间内学会。当然,仅仅是学会。如 果想要对MATLAB 比较得心应手,那么最好的办法就是练习。练习的素材很多,比如对于 学经济学的,可以做一些simulation 之类的,也可以试着把计量或者宏观教材里面的一些算 法写写出来。一开始可能很慢,但是当你完成了一个比较大的project 的时候,你的MATLAB 的功力将会有巨大的提升。 用MATLAB 的无非是做数值计算或者最优化,这也是MATLAB 的强项,MATLAB 有足够多 的工具解决这些问题。但是在使用这些工具箱之前,应该首先了解一些数值计算以及最优化 的理论。这一点在程序碰到问题或者计算结果不理想的时候尤为重要。很多时候结果不理想 并不是自己的理论出了问题,而是盲目或者错误使用MATLAB 的工具箱而导致的。比如我 曾经做过一个单纯形法的优化程序,但是结果总是不理想,这个时候就要返回到单纯形法具 体是一种什么样的来考虑这个问题,最后发现是由于目标的某一部分十分平缓导致的。 当然更重要的是如果你不理解理论,很多问题根本不知道如何处理。有个学化学同学就曾问 我一个程序怎么写,说MATLAB 肯定可以完成的。了解清楚之后才明白原来他想做的就是 一个受限最小二乘。但是他不懂得什么是最小二乘,当然面对这个问题无从下手。 这个问题没有人强调,但我觉着蛮重要。这里的关键点其实很简单,就是尽量减少重复计算, 哪怕是多项式复杂度以内的计算。重复计算的内容应该适时保存到内存中,以后直接调用。 一个程序可能会重复运行几千次几万次,一点点的浪费时间都可能被放大很多。空间(内存) 我们是可以扩充的,但是时间不是,所以绝大多数时候我们需要放弃空间,获得时间上的迅 捷。 这里有个故事,曾经在某技术论坛上看到的,说腾讯公司早期做的QQ 实在太过垃圾,他们 追踪过QQ 的行为,发现在几分钟时间里重复调用了某同一注册表项几百次。显然注册表的 内容所占内存是有限的,甚至是可以忽略的,但是每次读注册表项可能都要读硬盘,这里的 时间花费是很大的,为什么不把这项内容直接存储在内存里呢? 但是却多了三次计算时间。请问哪种好?不一定,看你的时间空间的权衡。但是具体到这个 例子来说,第二种是不推荐的,因为:首先,第二种程序晦涩难懂,难以维护,内存不至于 低到不能存储一个变量;第二,如果两个数字都特别特别大,计算a 的时候会有溢出的危险。 我想几乎所有学过的人都被这样告诫过。比较好的是MATLAB 自带的编辑器本身就可以自 动缩进之类的,程序十分易读。但是还有一些东西是有些人不曾注意过的。比如变量名,一 1 学 海 无 涯 个好的变量名一定要有清晰的含义,让人一看就能明白,否则日后的修改维护必然要花费更 多的时间去识别这些变量名的含义。这一点可以参考 这里面详细列举了很多命名的规则和 技巧。 还有一点就是注释。好的注释可以极大的方便以后的维护以及代码的重用。我的习惯是在代 码的开头都要交代这个代码是干什么用的,怎么用等等。在程序中一个大块的功能模块也要 加上注释告诉大家你在做什么。如果某个语句很复杂,可以加注释告诉大家这句到底在干什 么。这样写出来的程序维护起来或者他人使用起来将非常方便。 另有一篇十分有趣的文章分享给大家:如何写出无法维护的代码 之所以叫做程序,是因为我们所做的工作就是告诉计算机要做什么,该怎么做。所以如果你 的脑子里根本不知道这个问题该怎么解决的时候,你就更加无法写出程序。找思路的一般方 法是分解问题,然后逐个击破。或者在特殊情况下,需要把问题转化。 分解与转化的第一步是把实际问题转化为数学问题。这一步可能已经做好,可能没有。如果 没有,那么这一步就叫做数学建模。绝大多数问题都可以转化为两类问题,一类是最优化问 题,一类是求解问题。如果你能知道你在最优化什么东西或者求解什么东西,问题就简单很 多。 转化问题的第二步是把数学问题转化为程序。也就是说,你要想清楚这个问题是怎么一步步 实现的。这个过程可能很简单,有现成的方法用,也有可能很复杂,还可能涉及多种转化。 比如我们经济学中遇到的求解动态最优化,经常要把连续的东西离散化。 最后,考虑怎么把你的程序转化为真实的代码。这

文档评论(0)

万寿无疆 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档