MATLAB入门,一
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
逻辑关系函数
指令 | 含义 |
xor | 不相同就取1,否则取0 |
any | 只要有非0就取1,否则取0 |
all | 全为1取1,否则为0 |
isnan | 为数NaN取1,否则为0 |
isinf | 为数inf取1,否则为0 |
isfinite | 有限大小元素取1,否则为0 |
ischar | 是字符串取1,否则为0 |
isequal | 相等取1,否则取0 |
ismember | 两个矩阵是属于关系取1,否则取0 |
isempty | 矩阵为空取1,否则取0 |
isletter | 是字母取1,否则取0(可以是字符串) |
isstudent | 学生版取1 |
isprime | 质数取1,否则取0 |
isreal | 实数取1,否则取0 |
isspace | 空格位置取1,否则取0 |
isequal(a,b)
ans =
0
isreal(a)
ans =
1
isstudent
ans =
0
- 上一篇 »Matlab入门到放弃,二、matlab基础知识
- 下一篇 »,转MATLAB入门教程