亿加合和智能车制作

标题: 怎样学习matlab!!!!!!(非原创) [打印本页]

作者: 乔大侠    时间: 2013-2-26 17:31
标题: 怎样学习matlab!!!!!!(非原创)
matlab博大精深,说到底我也只不过是个初学者,只是学的时间比新手长了一点,现在写几句给新手,希望能给你们有点帮助
1 学Matlab并不难,难的是学会怎么用。(学以致用,这才是最高境界!)
2不要试图掌握matlab的每一个功能,熟悉和你专业最相关的部分就可以了。
3 不要问:明天要交作业了,哪位大侠帮忙写个程序吧,或初学matlab,不懂呀,大哥大姐帮忙写个程序之类的话!(端正学习态度的确很重要啊!)
4 不要说:不要让我看matlab英文的帮助我看不懂--谁都是从不懂到懂的!(对于这种国外开发的大型科学计算软件,懂英文的确很重要!一方面是没有汉化版,呵呵!另一方面,很多关于这方面的文章自然是英文的较多,质量也高!因此,学好英文,不言而喻!)
5 不要担心:我编程能力差,我一定用不好matlab。
6 不要只问不学! (学问,学在问先!)
7 学maltab要有耐心!(做什么都不会太容易啊!)
8 看到某本书中或论坛的帖子中解决问题的方法要试着解决类似的问题,要举一反三,要学会变通!
9 有了问题先自己想,察看帮助,1个小时后没有结果再问别人,不要一有问题就发问,然后什么都不管了,把希望寄托在别人身上!(只有先把自己的水平提高了,你才有有高手交流探讨的机会,不然别人说的你都听不懂,看不懂,怎么交流?Matlab,博大精深!)
10 学会用搜索引擎,在网上可以找到很多资料,有的问题一搜索就能找到的,就不要来问别人了 !(注意,提问的智慧!)
11多动手写程序、调试!(我听到的可能忘记,我看到的则会记住,但只有我实践了的我才能理解!某一牛人说的,至少我相信是正确的!)
12 多读matlab高手写的程序,帖子,找到一个高手,在几个大的论坛可以搜索出一大堆的帖子,然后慢慢去看吧,从中可以学到很多东西!
13 电脑上复制粘贴很方便,对于别人解决的你专业上的问题,最好自己写一遍,这样印象深刻,对于不懂的函数用法的函数,help中查查,能看懂多少算多少,对于程序断点调试一遍,弄清楚每个语句的功能!
14 尽量摆脱c编程的习惯,总爱用循环,能不用的循环的尽量不用,掌握矢量化的精髓!(学到一定程度自然明白这里在说啥了。)
15 善于总结,学习过的知识,看过好的帖子可以收藏起来,过段时间再复习一下,一段时间的积累,你会发现你的水平在慢慢提高!
16 多用help,see also lookfor get,set 等常用命令!(这是一个高手必备的技能!)
17 要大胆的去试,试过才知道可不可以,如有人问可不可以把多个子程序放在一个m文件中,呵呵,试试不就知道了。
18 多参与讨论,不要只关心自己的问题,也经常关注别人的帖子,从中也可以学到不少东西的!(呵呵,论坛最大的好处莫过于此!)
先写这么多吧,希望对新手能有点用!

(以上部分文字为个人感悟,希望没有损害原文的价值!)

[ Last edited by sunxiao on 2009-3-9 at 08:48 ]
作者:lm_nudt
MATLAB中的帮助指令
MALTAB的各个函数,不管是内建函数、M文件函数、还是MEX文件函数等,一般它们都有M文件的使用帮助和函数功能说明,各个工具箱通常情况下也具有一个与工具箱名相同的M文件用来说明工具箱的构成内容等。在MATLAB命令窗口中,可以通过指令来获取这些纯文本的帮助信息。
通常能够起到帮助作用、获取帮助信息的指令有help、lookfor、which、doc、get、type等。

help指令
可以说help指令是MATLAB中最有用的指令之一;也可以说,如果一个MATLAB编程人员不能够熟练的使用help指令,那么他(她)就不能够称之为一个熟练的MATLAB使用者。下面介绍一下help的几种常见使用情况。
1)直接使用help指令,可以获取当前电脑上MATLAB的分类列表,即当前安装的工具箱名称以及其简要描述。例如,在命令窗口种输入help,可以得到如下信息:
help
HELP topics
matlab\general - General purpose commands.
matlab\ops - Operators and special characters.
matlab\lang - Programming language constructs.
matlab\elmat - Elementary matrices and matrix manipulation.
matlab\graphics - Handle Graphics.
matlab\uitools - Graphical user interface tools.
matlab\codetools - Commands for creating and debugging code.
matlab\helptools - Help commands.
simulink\simulink - Simulink
simulink\blocks - Simulink block library.
simulink\components - Simulink components.
... ...
xpc\xpcdemos - xPC Target -- demos and sample script files.
xpc\xpcmngr - (No table of contents file)
kernel\embedded - xPC Target Embedded Option
MATLAB7\work - (No table of contents file)
(上面的省略号为笔者所加)
2)使用 help 工具箱名,可以获取该工具箱的相关的函数、图形用户工具以及演示文件名等。由前面的help的使用方法1),我们可以在毫不知道我们要查找的函数具体名称,也不清除它所在工具箱的具体名称,仅仅知道其大概所属类别的情况下,查找出其所在工具箱的具体名称。然后,再用help 工具箱名就可以得到该工具箱的函数列表,每个函数后面有简要的说明,可以根据其说明来确定可能需要的是哪个函数。例如,在命令窗口中,输入 help optim 就可以获得该工具箱基本信息和分类函数列表:
help optim
Optimization Toolbox
Version 3.0 (R14) 05-May-2004

Nonlinear minimization of functions.
fminbnd - Scalar bounded nonlinear function minimization.
... ...
Nonlinear minimization of multi-objective functions.
fgoalattain - Multidimensional goal attainment optimization
... ...
Linear least squares (of matrix problems).
lsqlin - Linear least squares with linear constraints.
... ...
Demonstrations of medium-scale methods.
tutdemo - Tutorial walk-through.
goaldemo - Goal attainment.
datdemo - Fitting data to a curve.
... ...
Medium-scale examples from User's Guide
objfun - nonlinear objective
confun - nonlinear constraints
... ...
Large-scale examples from User's Guide
nlsf1 - nonlinear equations objective with Jacobian
... ...
densecolumns - MAT-file of linear programming example
(上面的省略号为笔者所加)
3)使用help 函数名可以获得该函数的纯文本的帮助信息,通常也带有少量的例子。通过上面的使用方法2),应该已经找到了需要的函数的具体名称,然后就可以在MATLAB命令窗口中用help指令获取该函数的具体信息了。例如,help fminbnd可以得到如下信息:
help fminbnd
FMINBND Scalar bounded nonlinear function minimization.
X = FMINBND(FUN,x1,x2) attempts to find a local minimizer X of the function. FUN in the interval x1 <= X <= x2. FUN accepts scalar input X and returns a scalar function value F evaluated at X.
X = FMINBND(FUN,x1,x2,OPTIONS)
... ... %通常这里都是该函数的使用的语法及其各个输入输出参数意义描述<笔者注>
Examples
... ... % 这里是一些该函数的使用举例<笔者注>
See also OPTIMSET, FMINSEARCH, FZERO, FUNCTION_HANDLE.% 给出一些相关命令
Reference page in Help browser
doc fminbnd
在采用这种方法得到该函数帮助信息的时候,一个值得注意的是最后面的See also给出了该函数有相关的一些指令,有时候通过这些相关指令,可以查找到更广泛的有用信息。

lookfor指令
lookfor 指令是在MATLAB的搜索路径所有M文件的第一个注释行搜索特定关键字。通常在我们不确定需要搜索的函数,知道该函数的功能的时候,也可以通过 lookfor 搜索该功能的关键字。例如,想查找一个画椭圆的命令,我们可以lookfor ellipse(如果不知道椭圆怎么写,可以先用汉英字典查找),得到如下信息,然后再选取函数查找具体的信息:
lookfor ellipse
ELLIPSEDRAW can draw an arbitrary ellipse with given parameters.
ELLIPSE Ellipse Grapics Object Using Line or Patch.
RECTANGLE Create rectangle, rounded-rectangle, or ellipse.
ECC2FLAT Computes the flattening of an ellipse given an eccentricity
ECC2N Computes the parameter n of an ellipse given an eccentricity
FLAT2ECC Computes the eccentricity of an ellipse given a flattening
N2ECC Computes the eccentricity of an ellipse given the parameter n
PDEELLIP Draw ellipse, update Geometry Description matrix.
FITMODEL Fit an ellipse to data.

which 指令
which 指令可以用来定位该函数的位置,通过这个位置信息,可以获取该函数所属的类别。通常,编程人家再自己创建一个M文件或者保存一个M文件的时候,为了避免与系统函数等同名,就应该先用which 文件(函数)名 –all 搜索查找是否存在你想要保存的文件名或者函数名。
另外,很好的利用得到的位置信息可以进行一些相关联的文件的帮助信息。例如,在编程过程中,需要一个保存文件对话框,但想不起该函数名,也不确定是否确实有此函数,但是我们很清楚的是有个与此类似打开文件对话框,函数名为 uigetfile,因此,采用which定位uigetfile:
which uigetfile -all
d:\programs\matlab7\toolbox\matlab\uitools\uigetfile.bi
d:\programs\matlab7\toolbox\matlab\uitools\uigetfile.m % Shadowed
从给出的地址可以看出,该函数属于uitools类,于是用help uitools查找该类别信息,在该类别的Dialog boxes子类别中找到这么一条:
uiputfile - Standard save file dialog box.
然后,在通过用 help uiputfile获取该函数的详细的帮助信息和使用方法。

set/get 指令
set 指令可以获取图形对象的属性列表和被选属性值。在GUI编程和数据可视化的时候,有时想改变某些对象的属性,让它按照自己的想法实现,但是又想不起这些对象的属性名,更不知道如何设置它们。这时,可以用 get(objecthandles)得到此对象的所有的属性及其当前值,用set(handles)可以得到对象所有可以设置的属性及其可能的取值。找到需要的属性名和可能的取值之后,就用set(handles,propertyname,values)设置此对象此属性的值。

其他帮助指令
doc 函数名可以在MATLAB的帮助文档浏览器中调出该函数的文档;type M文件函数名或者edit M文件函数名可以分别在命令窗口中打印出该M文件源代码 和 在M文件编辑器中打开该M文件函数源代码,以便查看该函数源文件;helpwin 函数名与 help 函数名获得的帮助信息一样,只是将其在帮助文件浏览器中打开。



作者: dlyt03    时间: 2013-2-26 18:19
学习了:)
作者: liuyuliuyu1216    时间: 2013-2-26 18:20
值得一看,顶一个
作者: qurrer    时间: 2013-2-26 19:15
不错
作者: 严鸿雁    时间: 2013-2-26 20:02
我也想学
作者: tomydays    时间: 2013-2-26 20:20
思路说得很好
作者: 乔大侠    时间: 2013-2-27 11:43
继续学习中。。。。
作者: 201000171238    时间: 2013-2-27 12:27

作者: 846375642    时间: 2013-2-27 15:47
醍醐灌顶
作者: yfkling    时间: 2013-2-27 18:43
不错
作者: 641540446    时间: 2013-3-27 20:43
值得一学
:)
作者: 萧小落    时间: 2013-5-5 20:04

作者: ⊙Lin⊙    时间: 2013-5-18 13:09
每种语言都是这样学的。
作者: 梦小孩    时间: 2014-1-5 19:25
在论坛里,看帖子,回复一些问题,对提升使用MATLAB的能力很有帮助。
作者: hbqyzpy    时间: 2014-1-15 17:06
:lol:lol:lol:lol
作者: 寒江    时间: 2014-9-15 21:27





欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2