您的位置:首页 > 编程语言 > MATLAB

对MATLAB初学者有用的东西

2010-07-13 11:08 127 查看
一、学会使用帮助。

在matlab里首先最该记住的命令就是help,用来查看某函数的内部说明。

比如想知道一个函数的用法,例如plot,就输入

help plot

然后回车。

很简单的,不过最好能看懂英文。

单独输入help,不加参数,会显示工具箱列表。

再接你需要的工具箱,比如Symbolic Math Toolbox,那就输入

help toolbox/symbolic

会列出该工具箱下面的所有函数。

*值得注意的是,用help显示某命令的帮助说明时,最后的See Also ......

经常会有一些有用的相关命令,很可能就是你想要的。

类似的还有个命令,

helpwin 函数名

这个会打开帮助文档的界面,不过内容跟用help的差不多。

在左下角的Start - Help菜单也可以打开这个界面。

doc 函数名

这个是更详细一些的帮助。

如果你不确定函数名是什么,可以用lookfor查找一些关键词。

比如不知道求逆矩阵的函数是什么,不过你知道inverse是逆反的意思。

lookfor inverse

会找出一堆有关inverse的函数。

不过说实话,这个lookfor不太好用,经常搜索不到,而且很慢。:)

当然,如果联网的话,可以直接到matlab的官网去搜索。

不过建议还是首先help一下,里面可能有些平时你忽略的东西。

二、关于一些常用符号

1、空格、逗号和分号:

创建矩阵时,

水平的分隔符用空格或者逗号,

垂直的分隔符用分号(相当于矩阵内部的换行符)。

写命令行时,

用分号结尾的命令不显示返回值

去掉分号或者用逗号结尾的显示返回变量的值。

2、百分号:

以百分号%开头到行尾表示注释,不多说了。

3、引号:

matlab只使用单引号,不用双引号。

单引号的第一个作用,matlab里的字符串用单引号表示,如'abcd'。

*如果想在字符串里包含一个单引号怎么办?用两个连着的单引号。

比如 ‘It''s sunny.' 表示字符串It's sunny.

四个连着的单引号''''表示什么?表示内容为一个单引号的字符串'。:)

单引号第二个作用,表示矩阵的转置和复数求共轭

>> a=[1 2;3 4;5 6]

a =

1 2

3 4

5 6

>> a' % 求矩阵a的转置矩阵(就是行变列,列变行)

ans =

1 3 5

2 4 6

>> (1+i)' % 求复数的共轭复数

ans =

1 - 1i

*注意,还有一个 .' 的运算符,就是一个句点加一个单引号。

它的作用是求转置矩阵但不求共轭。

>> x=[1+i 1-i; -1+i -1-i]

x =

1 + 1i 1 - 1i

-1 + 1i -1 - 1i

>> x' % 转置,并且对每个元素求共轭。

ans =

1 - 1i -1 - 1i

1 + 1i -1 + 1i

>> conj(x) % 对每个元素求共轭,但不转置

ans =

1 - 1i 1 + 1i

-1 - 1i -1 + 1i

>> x.' % 转置,但不求共轭

ans =

1 + 1i -1 + 1i

1 - 1i -1 - 1i

4、英文的句点.

这个作用挺多的,有些就不说了,比如小数点。

!!!最需要知道的就是加点的运算符,点乘.*,点除./和./(后面这个很少用),点乘方.^。

(还有一个.'前面说过了,不过差别较大,不在这里说了。)

表示同阶矩阵对应元素的运算。

这个在matlab里很重要的,不过也不是很难,多找几个例子看看就知道了。

5、三个句点...

如果一行命令太长,想换行接着写,加三个点...,然后回车

就可以接着写了。

三、关于函数文件和脚本文件。

不少初学者在网上复制了一些matlab程序的例子,不知道怎么运行。

一般来说分两种情况:

如果首行(不包括注释)不是以function开头的,这种叫做脚本或者命令。

如果首行(不包括注释)以function开头,这种叫做函数。

对于脚本,可以直接复制到命令行运行,也可以保存成m文件执行。

而函数必须保存成m文件,然后在脚本里或者其他函数里调用。

所以m文件也就分成脚本文件和函数文件。区别就看开头是否为function这个关键字。

不过需要注意的是脚本文件就必须都是脚本,不能包含函数定义,

或者说不能出现function关键字。

前面是脚本后面是function定义的函数,这样的脚本跟函数混合的m文件执行时会出错的。

函数文件就必须除了注释之外,第一行必须是function ......

不过函数文件可以包含子函数,如果一个m文件里有多个function定义的函数,

那只有开头第一个函数为主函数,后面的都是子函数,留给主函数调用的。

如何建立m文件呢?在命令行输入

edit 函数名

如果同名的m文件已经存在,那就会打开已存在的那个m文件。

如果不存在同名文件,会提示你创建新的m文件。

然后会打开一个m文件的编辑器,在里面输入脚本或者函数内容即可。

最后保存成m文件,注意函数调用的时候是以保存的文件名为准的,

而不管function那行定义的函数名是什么。

当然,脚本文件连function行都没有,当然更要以文件名为准了。

所以你保存的文件名是什么,调用的时候就用哪个名字调用!切记!!

四、关于Matlab的搜索目录

如果你运行m文件时提示未定义(??? Undefined function or variable ...)

首先,看文件名(函数名)是否拼写错了,这是很常见的错误。

如果不是拼写错误,那可能是matlab搜索不到那个m文件。

解决办法:

1. 把当前目录(Current Directory)更改为那个m文件所在的目录。

2. 在matlab的File菜单里有个Set Path...菜单项。在里面添加那个m文件所在的目录。

3. 把那个m文件以及相关文件复制到matlab的工作目录里,一般是matlab安装目录下的work目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: