1.MATLAB简介
MATLAB名字是由MATrix和LABoratory两个词的前三个字母组合而成的。它是MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件。被誉为“巨人肩上的工具”。 由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言--如Basic、Fortran和C等那样难于掌握,用Matlab编写程序犹如在演算纸上排列出公式与求解问题,所以又被称为演算纸式科学算法语言。在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以数值或图形方式显示出来。
MATLAB的含义是矩阵实验室(MATRIX LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就以数值计算著称。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使的MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。美国许多大学的实验室都安装有MATLAB供学习和研究之用。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制、系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。
2.MATLAB工作环境
运行MATLAB的可执行文件,自动创建MATLAB5.3指令窗(Command Window)。
如果你是个初学者,可以在指令窗键入demo,这可是学习的好帮手。
?demo
一旦发现指令不知如何使用时,help命令将告诉你使用。例:
?help sin
SIN Sine.
SIN(X) is the sine of the elements of X.
Overloaded methods
help sym/sin.m
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:
(10*19+2/4-34)/2*3
ans
= 234.7500
MATLAB会将运算结果直接存入一变量ans,代表MATLAB运算後的答案,并显示其数值屏幕上。
如果在上述的例子结尾加上”;”,则计算结果不会显示在指令视窗上,要得知计算值只须键入该变数值即可。
MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可以在指令视窗上的功能选单上的Options 下选 Numerical Format,或者直接在指令视窗键入以下的各个数字显示格式的指令。
» format short (这是默认的)
MATLAB利用了↑↓二个游标键可以将所下过的指令叫回来重覆使用。按下↑则前一次指令重新出现,之后再 按Enter键,即再执行前一次的指令。而↓键的功用则是往后执行指令。其它在键盘上的几个键如→←, Delete, Insert,其功能则显而易见,试用即知无须多加说明。
Ctrl+C(即同时按Ctrl及C二个键)可以用来中止执行中的MATLAB的工作。
有三种方法可以结束MATLAB
1.exit
2.quit
3.直接关闭MATLAB的命令视窗(Command window)
3.变量及其命名规则
变量
1. MATLAB对变量名的大小写是敏感的。
2. 变量的第一个字符必须为英文字母,而且不能超过31个字符。
3. 变量名可以包含下划线、数字,但不能为空格符、标点。
预定义的变量
ans |
预设的计算结果的变量名 |
eps |
MATLAB定义的正的极小值=2.2204e-16 |
pi |
内建的π值 |
inf |
∞值,无限大 ( 1/0) |
NaN |
无法定义一个数目 ( 0/0 ) |
i 或 j |
虚数单位i=j=(-1)^(1/2) |
而键入clear则是清除所有定义过的变量名称。
4.MATLAB赋值语句
表达式
MATLAB书写表达式的规则与“手写算式”差不多相同。
如果一个指令过长可以在结尾加上...(代表此行指 令与下一行连续),例如
?3*...
6
ans =
18
比如将23赋值给变量a:
a=23
5.MATLAB常用数学函数
三角函数和双曲函数
名称 |
含义 |
名称 |
含义 |
名称 |
含义 |
sin |
正弦 |
csc |
余割 |
atanh |
反双曲正切 |
cos |
余弦 |
asec |
反正割 |
acoth |
反双曲余切 |
tan |
正切 |
acsc |
反余割 |
sech |
双曲正割 |
cot |
余切 |
sinh |
双曲正弦 |
csch |
双曲余割 |
asin |
反正弦 |
cosh |
双曲余弦 |
asech |
反双曲正割 |
acos |
反余弦 |
tanh |
双曲正切 |
acsch |
反双曲余割 |
atan |
反正切 |
coth |
双曲余切 |
|
|
acot |
反余切 |
asinh |
反双曲正弦 |
|
|
sec |
正割 |
acosh |
反双曲余弦 |
|
|
矩阵变换函数
名称 |
含义 |
名称 |
含义 |
fiplr |
矩阵左右翻转 |
diag |
产生或提取对角阵 |
fipud |
矩阵上下翻转 |
tril |
产生下三角 |
fipdim |
矩阵特定维翻转 |
triu |
产生上三角 |
Rot90 |
矩阵反时针90翻转 |
|
|
其他函数
名称 |
含义 |
名称 |
含义 |
min |
最小值 |
max |
最大值 |
mean |
平均值 |
median |
中位数 |
std |
标准差 |
diff |
相邻元素的差 |
sort |
排序 |
length |
个数 |
norm |
欧氏(Euclidean)长度 |
sum |
总和 |
prod |
总乘积 |
dot |
内积 |
cumsum |
累计元素总和 |
cumprod |
累计元素总乘积 |
cross |
外积 |
|
|
可查阅在线帮助helpwin中matlab"elfun或help elfun。
6.MATLAB系统命令
命 令 |
含 义 |
help |
在线帮助 |
helpwin |
在线帮助窗口 |
helpdesk |
在线帮助工作台 |
demo |
运行演示程序 |
ver |
版本信息 |
readme |
显示Readme文件 |
who |
显示当前变量 |
whos |
显示当前变量的详细信息 |
clear |
清空工作间的变量和函数 |
pack |
整理工作间的内存 |
load |
把文件调入变量到工作间 |
save |
把变量存入文件中 |
quit/exit |
退出MATLAB |
what |
显示指定的matlab文件 |
lookfor |
在HELP里搜索关键字 |
which |
定位函数或文件 |
path |
获取或设置搜索路径 |
echo |
命令回显 |
cd |
改变当前的工作目录 |
pwd |
显示当前的工作目录 |
dir |
显示目录内容 |
unix |
执行unix命令 |
dos |
执行dos命令 |
! |
执行操作系统命令 |
computer |
显示计算机类型 |
可查阅在线帮助helpwin中matlab"general或help general。
7.MATLAB语言中的关系与逻辑运算
在执行关系及逻辑运算时,MATLAB 将输入的不为零的数值都视为真 (True)而为零的数值则视为假 (False)。 运算的输出值将判断为真者以 1 表示而判断为假者以 0 表示。各个运算符须用在二个大小相同的阵列或是矩阵中的比较。
关系运算
指令 |
含义 |
< |
小于 |
<= |
小于等于 |
> |
大于 |
>= |
大于等于 |
== |
等于 |
~= |
不等于 |
?a=1:2:11;
?b=2:1:7;
?a>b
ans =
0 0 1 1 1 1
?a==b
ans =
0 1 0 0 0 0
?a>=b
ans =
0 1 1 1 1 1
?a-(b>4)
ans =
1 3 5 6 8 10
逻辑运算
指令 |
含义 |
& |
逻辑 and |
| |
逻辑 or |
~ |
逻辑 not |
(a<2)|(b>6)
ans =
1 0 0 0 0 1
c=a+(a>3)|(b<6)
c =
1 1 1 1 1 1
逻辑关系函数
请发表评论