《写给matlab新手的几句话》由会员分享,可在线阅读,更多相关《写给matlab新手的几句话(3页珍藏版)》请在金锄头文库上搜索。
1、写给写给 matlab 新手的几句话新手的几句话说明:本文来自网络,出处不明,敬请原作者谅解说明:本文来自网络,出处不明,敬请原作者谅解matlab 博大精深,说到底我也只不过是个初学者,只是学的时间比新手长了一点, 现在写几句给新手,希望能给你们有点帮助。 1. 学 Matlab 并不难,难的是学会怎么用。 2. 不要试图掌握 matlab 的每一个功能,熟悉和你专业最相关的部分就可以了。 3. 不要问:明天要交作业了,哪位大侠帮忙写个程序吧,或初学 matlab,不懂呀,大 哥大姐帮忙写个程序之类的话。不要等到要用到才去学,如果你有兴趣,你有时间, 你可以多学些东西,说不定什么时候就用了,
2、机会只偏爱那些有准备的头脑,到时候 就不会说什么,要做东西想让人指点,基础的东西来不及仔细看了,一写程序吗,低 级错误满天飞 4. 不要说:不要让我看 matlab 英文的帮助我看不懂-谁都是从不懂到懂的。 5. 不要担心:我编程能力差,我一定用不好 matlab。 6. 不要只问不学 7. 学 maltab 要有耐心 8. 看到某本书中或论坛的帖子中解决问题的方法要试着解决类似的问题,要举一反三, 要学会变通。 9. 有了问题先自己想,察看帮助,1 个小时后没有结果再问别人 ,不要一有问题就发问, 然后什么都不管了,把希望寄托在别人身上 10.学会用搜索引擎,在网上可以找到很多资料,有的问题
3、一搜索就能找到的,就不要来 问别人了。 11.要多动脑,多动手写程序、调试,看程序时候多想几个为什么,理解别人程序中精华 的东西,多自己调调程序,可以改改程序,把知识转成自己的,弄懂一两个经典例子 比粗粗的看一大书要好,值得一提是不是一下子就能看懂相对比较长,比较复杂的程 序的,要做的是自己慢慢去分析,利用已经有的资料和帮助,等慢慢搞懂它,要多看 几遍,相信多看一遍你就会有一些新的认识,一直到你已经掌握里例子的精华。 12.多读 matlab 高手写的程序,帖子,找到一个高手,在几个大的论坛可以搜索出一大 堆的帖子,然后慢慢去看吧,从中可以学到很多东西,也许你会发现很多你都看不懂, 这很正常,
4、别人写程序考虑的是能实现这样的功能,运行效率等问题,而不是考虑是 不是很容易能让别人理解,你就看你现在能看懂,再看些通过你断点调试,查 help 能看明白的,看不懂的就先放下,遇到好的和看不懂,你又很挺感兴趣的话题,你先 收藏起来,过段时间你再回头看看,你会发现,每看一遍,你就会多懂一些东西,当 你第三遍甚至第四遍看同一个程序的时候,也许你就会有豁然开朗的感觉。一个比较 长的程序,首先不要怕长,把它分解成一句一句,一句一句看懂它。要明白一口吃不 成胖子,好东西要慢慢体会,才能领会。 13.电脑上复制粘贴很方便,对于别人解决的你专业上的问题,最好自己写一遍,这样印 象深刻,对于不懂的函数用法的函
5、数,help 中查查,能看懂多少算多少,对于程序 断点调试一遍,弄清楚每个语句的功能。 14.尽量摆脱 c 编程的习惯,总爱用循环,能不用的循环的尽量不用,掌握矢量化的精髓 15.善于总结,学习过的知识,看过好的帖子可以收藏起来,过段时间再复习一下,一段 时间的积累,你会发现你的水平在慢慢提高。16.多用 help,see also lookfor get,set 等常用命令。 17.要大胆的去试,试过才知道可不可以,如有人问可不可以把多个子程序放在一个 m 文 件中,呵呵,试试不就知道了 18.多参与讨论,不要只关心自己的问题,也经常关注别人的帖子,从中也可以学到不少 东西的。 19.提醒一
6、句,不要做只会下资料而不看的收藏家,这样对你没什么意义,书不在于多, 真的看一两本书也就够了,以后要用的时候,再去查书,一味的东看看西看看,见了 别人的资料,不关好不好,就留信箱的人,我感觉也不该这样,有了那么多资料,就 别想着还有没有比这更好的了,开始学吧先写这么多吧,希望对新手能有点用。感觉语言是相通的,不一定只针对 matlab 这门语言如何写程序,如果你还是初学者,那么尽量不要复制粘贴,那样你是永远也无法学会 写程序的。另外也不要对着别人的程序,一个字一个字敲进去,那样的话你只能成为一名 优秀的打字员。一个比较好的方法是先读懂他,理清他的思路,然后自己动手写,写不出 来的时间再看看别人
7、的程序,然后对照的看,你的和他的程序差异在哪里,写的过程就是 提高的过程。程序运行有错误怎么办,好多错误。首先,别害怕错误,这是每一个人都会碰到的问 题,大牛,小虾都一样,你对你自己说 这不机会又来了,调程序的过程就是提高的过程。 不要一遇到错误就来论坛发问了,如何调,关键是看错误提示,看错误的类型及出现在哪 条语句上。 好好练自己的调试能力,这不仅可以帮你找到一些错误,有是碰到一些读不懂的程序, 借助断点调试可以帮你读懂程序还不行怎么办,用搜索引擎找答案(有时候把错误提示输进去就可以找到答案了)还不行,这才发贴和别人交流 。 。 。 。写程序原则 尽量写的简单 通俗容易懂,让那些不如你聪明的
8、人都能看懂,命名的时 候做到见名知意,写的时间多加点注释,不然,不要说别人读不懂你的程序,等过几天, 你自己也读不懂了,可以看看 matlab 里的函数,注释也写的很详细,当你觉得有些方法 比较常用的时候,你可以封装成函数,加上一些说明,以后要用的时候,直接调用就可以 了,注重代码的重用性。勿在浮砂筑高台,基础很重要,为什么学 matlab ,如果你只是把它当成 c c+的 附属品,用这些语言的思维来写一些奇怪的类 matlab 程序,我想你还是直接用 c 或 c +更合适,不要一开始就想着用 matlab 做出什么东西,好好看一本 matlab 的基础书, 这些基础对你以后的进阶会很有帮助。
9、再说混合编程,什么都不懂就想着去混合编程是不 实际的,maltab 版本 vs 的版本不同,都会对混合编程影响的。 所以结果是对着别人的 例子来做也不一定会做出来,一是别人讲的有些细节问题没讲清楚,二是版本问题。就算 做出来,如果不明白为什么要这样做,又有多大意义呢。然后自己做一个,又不会了。说 这些的目的无非是希望想做混合编程的朋友多了解一些基础的东西,否则在混合编程这一 块上会浪费很多时间,结果还是没有解决问题。7.0 系列 深入浅出 matalb 混合编程这本书是值得一看的。多看帮助之类的话这里 就不多说了。现在很多人写书都太浮躁了,有的本身水平也不够,有的翻译的也很垃圾, 选书的话请擦
10、亮眼睛,不好的书不但浪费了钱,还浪费了时间,而且会让你怀疑自己的能 力水平。说的有点远了。 在当前的各种帖子中,matlab 的问题无非是数据文件的处理与计算。对于数据文件, 从其他格式的导入 matlab 中三种方法:1. 在 matlab 界面的工具栏中有 file 工具,其下拉菜单中有一个 import data 选项,你可以直接从外部的文件中导入你所需要的数据文件,格式非常多,一般的 如:(text file).txt, .dat;(excel file).xls, .csv, .wkl;(image file).jpg, .tig 等。此种方法优点是非常方便快捷。但是对于用这种方法导
11、入的数据 文件,电子表格中的必须全部是数值,而没有字符串等其他格式的内容;记事本即 ascii 码纪录的数据没有限制,可以自由导入;对于像我们平时 Gaussian 等软件计算的结果文 件,如.out 等,建议不要用此种方法导入,因为里面字符串过多,matla 无法判断格式 以及你的数据内容。这些文件,是 ascii 码格式的但是后缀不是 text 形式应该如何导入 matlab 中?这里我建议用第二种方法。2. 在 matlab 中有专门读取 ascii 码编写的文件的命令:fopen,可以用这个 命令打开一个文件,格式不限,二进制或者 ascii 皆可。如果是二进制,就用 fread 命
12、令;如果是 ascii,则用 fgetl 或者 fgets 命令。具体使用格式见 matlab 中的 help 文档。这种方法的优点是对于像 Gaussian 等的输出文件中有用信息的读取很方便,可以 提取你需要的信息,而不用对着那么长的输出文件寻找半天。但是对于这些命令,必须对 matlab 有一定的了解,对文件格式有一定了解;同时你编好了一个程序,想提取有用信 息,则文件里面你想要信息的位置必须得有一个特征字符串,或者标识符有一个特征字符串,或者标识符,并且这些字符 串或者标识符在所有同种格式的文件的同一位置必须出现,否则此程序只能适用此一种类 型的文件。3. 另外一种我想最常用的就是用
13、load 命令了,非常简单,只要在当前目录下, load+文件名即可,而且对于二进制文件,load 命令非常实用。但是 load 命令有非常多 的限制,如数据文件中是纯粹的数值,没有其他的字符串等信息。这种对于 text 文件就 不是很适合了。如果是二进制文件,matlab 定义的.dat, .avi, .cdf 等,如果我们 平时实验数据也是这些格式,load 命令无法识别,建议用工作站转成.txt 格式或者. cdf(cdf 需从网上下一个读取器)。在处理而对于 matlab 自己定义的数据格式.mat,却 非常有效。另外对于数据处理,如果只是进行平时很小的运算,则可以直接在 matlab
14、 的命令窗 口中实现,用一个循环或者利用矩阵运算方法计算。然而如果数据非常多,则用 matlab 直接进行处理非常不方便,而且很慢!因此碰到这种情况,或者分段处理,或者另寻他路。 在这里,线性代数的知识就显得非常重要了,因为如果你编一个程序,随便在哪个地方都 用标量循环计算,除非你非常有耐性,否则就得等到你想砸电脑了。一般现在的数据都是 采用稀疏矩阵(Sparse matrix)储存的,当你进行运算的时候,也尽量采用矩阵或者是 向量的形式进行运算,因为 matlab 有自带的加速运算功能,如果不用,岂不浪费? 而且,matlab 中矩阵运算这方面的函数非常多而且丰富,一般都能够得到你想要的结果。 对于这些函数,google,baidu 中已经有非常多的介绍,而且详细,因此不予详细介绍。如果你心中有算法,有公式,知道怎么做就不要在那里想应该怎么才能使我作最简 单,怎么才能使我写程序的时候能够将字母写得最少!有时候很简单的数据体系,两条命令就解决了,而且作非常简单,也许你用最笨的办法所花的时间还没有你想的时间长。