Matlab是一门脚本编程语言,由于其上手简单、函数库齐全目前广泛应用于各种科研领域。
今天就给大家讲讲从一名Matlab小白到熟练使用Matlab可以参考的书籍和流程。
在展开具体内容之前,首先希望大家建立一个概念Matlab知识一种功能比较齐全的编程工具,类似螺丝刀套组可以用来修电脑、修电视、修家电等等,但是学会了使用工具不等于学会了修电脑、修电视、修家电,深入理解算法思想和操作流程才是熟练使用Matlab进行科研的关键,如果不能做到这一点那说明你不是对Matlab小白而是对算法和你研究的内容小白。
下面我们开始啦。
一、学习Matlab的语法
(这是一堆介绍的废话,不用看)Matlab是一套由Mathworks公司开发的编程平台,相比一般的IDE,他具有更加完善的运行、调试等功能,同时也提供很多准备的预先的函数,其使用的编程语言为M语言,该编程语言的属于脚本语言,主要的特性是无需编译即可运行,对于第一次学习这种语言的同学可以简单理解为这种语言跟C语言类似的一种语言,但是每一句程序都可以脱离主程序单独的执行。
学习Matlab的第一步就是学习Matlab的m语言的语法,该语法与C语言类似,具体学习可以阅读以下内容。
(以上教材是淘宝随便找的40块以下的,现在的教材真是太贵了,买不起买不起)
根据你对Matlab的了解进行选择
- Matlab软件都没摸过。可以从教材开始学习,但是也尽量选择教材上的Matlab版本进行安装(不同版本界面差距巨大),通过教材前几章你可以基本了解Matlab的界面、操作流程、特性、基本的M语言语法。
- 对Matlab听说过,也知道大概的。可以通过各种网络教材进行学习
(如果有余力我也会考虑自己做一套,如果有人关注我的话)。
书和材料看一遍就行啦,不需要背诵,遇到问题了再预习。
通过上面的学习你已经可以开始把Matlab当计算器用来,接下来先别着急学别的,先用这台计算器及来试试下面的题目。
- 计算从1乘到100是多少(答案:9.332621544394410x10^157)
- 计算从1到100000之间有多少个是素数,请只根据素数定义素数只能被1和自己整除判断(答案:9592个)
上述题目主要判断你是否学会了循环结构、判断结构、是否了解了变量的存在。
完成上述题目后,你会发现Matlab当计算器非常好用,可以保留你每一步的计算步骤。并且Matlab的计算能力和计算方式可以做很多以前计算器上做不到的事情,快玩一玩你以前在计算器上玩过的运算把。
二、学习Matlab的常用函数
大家推崇Matlab的原因在于Matlab提供了大量的计算用的函数和专业领域的函数,进行开发时候,可以节省很多力气。
这里建议大家先学习计算用的函数,这是用Matlab进行运算的主要方式。主要包括以下几大类
- 统计函数。例如sum,min,max,mean等等。
- 矩阵运算函数。例如det,inv,eig,svd,sum的矩阵用法,mean的矩阵用法,等等。
- 画图函数。例如plot,stairs,mesh等等。
- 输出函数。例如fprintf,disp,fopen,fwrite等等。
- 随机函数。例如rand,randn等等
- 自定义函数,学会自己写一个简单的函数。
如果你学习没有思路可以参照以下内容
(以上教材是淘宝随便找,手册这玩意好贵又没啥用,不是土豪别买)
你觉得你学会以后先把里面的例子敲一遍(不要复制哦,自己敲),看看是否报错(错了大概率是你敲错了)结果是否一样。
通过上面的学习你已经可以开始把Matlab当成一个高级计算器来用了,接下来还是先别着急学别的,用这台计算器及来试试下面的题目。
- 利用随机生成函数生成大量的数,并把这些数连成曲线画出来。
- 利用matlab把你以前线代的作业翻出来检查一遍,是不是一样。(再也不用手算矩阵逆拉)
- 其他你能想到的应用
完成上述步骤后,恭喜你已经基本学会Matlab的使用了。
如果你还是觉得无从下手说明你尚未深刻领悟你要实现东西的内在逻辑,需要换个方向努力哦。
三、学习专业领域里的Matlab函数库
前面说了大家推崇Matlab的原因在于Matlab提供了大量的计算用的函数和专业领域的函数,进行开发时候,可以节省很多力气。因此进行具体的开发的时候大家肯定倾向于使用已有的东西,全部推导重做干嘛还要Matlab呢,随便找个脚本语言不一样嘛。
这里的学习可以根据专业领域选择对应的Maltab教材,例如
(这些书都很贵,而且其例子的限制大部分也比较大,有一定的参考价值,图书馆能借到的话还是可以看一看)。
如果英文和专业基础知识尚可的话我还是推荐尽量阅读Matlab的帮助文件,里面的介绍都很详细。
四、写的程序报错了怎么办
大部分人按部就班的完成前面几步之后,到写自己的程序时,发现我的程序怎么报错了,这种情况大部分都是因为第一部学习的时候知识基础并不扎实(实际这玩意看书一般也没法扎实),此处的建议是
- 把错误复制到百度上查一查,有很多大神提供答疑的。
- 阅读错误提示,根据提示修改代码。
- 学习别人正确的程序,对比不同。
- 实在搞不定换一种方式实现,或者主动求助大神。
坑踩的多了,路才会平。(为啥坑多呢,因为自学大部分就是这样子滴)
总结一下,matlab的学*体还是比较简单的,难的是各类算法中的实现细节和想法,学会Matlab的使用只是开始用Matlab的第一步。