Matlab的终极大招 – Help

很多人都想着:我要学会matlab。其实这个表述是不准确的,因为matlab能做的事太多了,如图它有很多工具箱,这还不包括网上扩展的其他工具箱。“学会”怎么可能呢?

所以入门后掌握一种能够继续深入学习matlab的方式,很重要。比如去哪里可以找到你要使用的代码,哪里可以解答你的众多疑问?接下来我简要介绍几种途径供大家参考。分别是matlab中文论坛,程序园,官网Mathworks,github,以及matlab的说明书help。

(1) Matlab中文论坛上面可以找到一些能用代码,但是这都以帖子问答的形式出现的,所以找的代码有的可能有未解决的bug。

(2)程序园,。这里资源挺多的,有很多实际的例子,可以参考学习。

(3) 。这里当然最权威,但是是英文网站,里面可以下载很多工具箱包括最新开发的一些工具箱。工具箱是一个程序包可以安装成上面所示的这样GUI形式,也可以作为你的子函数,根据里面的例子,修改修改调用这些函数解决自己的问题。这些工具箱里的程序很高级,很复杂。反正我是看不懂的,但是根据给的例子了解一下怎么调用足矣。

(4) 是一个很高级的免费源代码英文网站,上面不止有matlab语言的。这些全球的大神们把自己写的程序包上传上去供大家学习使用,有些含有详细的说明,当然大部分是英文的,有些时日语的,反正我是看不太懂的。也有国内的大神上传的中文程序。

其中matlab中的help是最全面的,作为matlab的说明书,简直太优秀了。当然help是英文版的,即使你装的是中文版的matlab。国内的有些matlab参考书就是翻译了一部分的help。

1、下面我以解一个微分方程组为例,简单介绍一下help的使用方法。

方程(1)中的x,y,z是代表坐标。

我们常用的解微分方程的函数是ode45。如果我们直接在commandwindow里按照一般的help方式,help 某个函数的话,如图页面中会出现一些说明,但是很简要,对于像我这样的英语水平,一般看不懂。Help中最重要的或者说最有用的事它的例子介绍examples。

所以我们下面看看更详细的ode45函数的介绍。两种方式

第一种如图在主页面右上角Search Documentation中输入ode45回车。

在出现的结果中点击我们要查询的函数即可。

第二种直接在主页面的command window中输入doc ode45回车。

这两种方式都可以打开下面的页面。这里对ode45的介绍会是最全面的。

当然我们不是为了看着一大堆英文,看着就脑壳疼,我们只需要使用里面的例子即可,往下拉就可以看到examples,往往不止一个例子。比如我们来看第一个例子

可以看到,Example 1足以解决我们所要求解的方程。

根据例子。只需要定义一个子函数输入方程,再加一个主函数调用即可。

(1)所以第一步建立子函数,子函数的建立很简单,只需新建一个脚本,运行即可。

Run完后我们会看到,command window里有个Error,不必理会它。这时我们的工作目录下就出现了一个.m文件,有fx的标志。这样我们的子函数就建立好啦。

(2)第二步建立主函数,新建一个脚本直接把help中的例子复制下来,当然clearall,clc还是要写的。

点击运行并改一下名字main(这个名字随便改,无所谓,但是不能有中文),就ok了。可以看到我们的数值解已经出来了。

既然我们这里求解的是坐标,那我们也可以看一下轨迹,在主程序的后面添加这些代码即可。

figure(2) %给一个新figure

plot3(Y(:,1),Y(:,2),Y(:,3),'linewidth', 1.6)

grid on   %加网格

xlabel 'x(t)', ylabel 'y(t)', zlabel 'z(t)'%加坐标轴名称

2、当然这里不止一个example,比如我们要求解下面这个微分方程组,里面的x,y,z是已知的由上面的过程求解出。这样的话,以example1作为参考就不够了。

对于这种有函数作为系数的方程,我们在example 3的基础上修改修改便可求解。