愿你三冬暖,愿你春不寒; 愿你天黑有灯,下雨有伞; 愿你一路上,有良人相伴。 愿时光能缓,愿故人不散; 愿你惦记的人能和你道晚安, 愿你独闯的日子里不觉得孤单。 愿你余生所遇之人,都是好人。
前言
这学期学的东西都需要用到Matlab,只能强行学一波了。
基本使用方法
Matlab不仅仅功能强大,而且非常容易应用于数值运算。
数据类型
常量 常量功能 常量 常量功能 ans 用作结果的默认变量名 nargin 函数的输入参数的个数 beep 使计算机发出“嘟嘟”的声音 nargout 函数的输出参数的个数 pi 圆周率 varagin 可变的函数输入参数的个数 eps 浮点数相对误差,用于判断是否为0的误差限,大约为
2.2204
e
−
16
2.2204e-16
2 . 2 2 0 4 e − 1 6 varagout 可变函数的输出函数的个数 inf 无穷大,Matlab7.0中最大数为
2
1024
2^{1024}
2 1 0 2 4 ,超过则为无穷大 realmin 最小的正浮点数 NaN或者nan 不定数0/0 realmax 最大的正浮点数 i 或者 j 复数单位 bitmax 最大的正整数
数据的显示格式系统默认为短格式,也可以定义为长格式、银行格式:
>> R=6378.137;
>> S=4*pi*R^2
S =
5.1121e+08
% 短格式,等价于format short, S
>> format long, S
S =
5.112078933958109e+08
% 长格式
>> format bank, S
S =
511207893.40
% 银行格式
变量名
变量名称必须是不含空格的单个词,组成变量的字符长度不超过31个; 变量名有英语字母、数字和下划线组成,以英语字母开头变量名中不允许使用标点符号,区分大小写英语字母。 全局变量需要放在主程序的首行,格式为该变量钱添加关键字“global
”,并尽量采用大写英文字母。
变量管理
变量 功能 who 查询Matlab的内存变量。 whos 查询全部变量的详细情况。 clear 清除内存中的全部变量。 save sa X 将X变量保存到sa.mat文件。 load sa X 调用sa.mat文件中变量X。 what 按照扩展名分类列出当前目录上的文件, 如what*.m
列出当前目录中所有m
文件。 which 列出指定文件所在的目录,如which test.m
显示test.m
所在的路径。
运算符及其优先级
标点符号 定义 标点符号 定义 感叹号! 调用操作系统运算 百分号% 注释语句的标识。
优先级 运算符 1. 小括号(()
) 2. 转置(.'
)、共轭转置(’
)、乘方(.^
)、矩阵乘方(^
) 3. 一元加法(+
)、一元减法(-
)、取反(~
) 4. 乘法(.*
)、矩阵乘法(*
)、右除(./
)、 左除(.\
)、 矩阵右除(/
)、矩阵左除(\
) 5. 加法(+
)、减法(-
)、逻辑非(~
) 6. 冒号运算符(:
) 7. 小于(<
)、小于等于(<=
)、大于(>
)、大于等于(>=
)、等于(==
)、不等于(~=
) 8. 逻辑与(&
) 9. 逻辑或(|
)
说明:
在参与比较的量是两个维数相同的矩阵 的时候,比较的元素按照标量关系元素规则逐个按照标量关系元素规则逐个比较,并给出一个维数与原矩阵相同的矩阵,由0/1组成。 当参与比较的一个是标量 ,另一个为矩阵 的时候,则把标量与矩阵的每一个元素按标量关系元素规则逐个比较,并给出一个维数与原矩阵相同的矩阵,由0/1组成。
常见操作命令
命令 该命令的功能 命令 该命令的功能 cd 显示或者改变工作目录 hold 图形保持命令 clc 清除工作窗 load 加载指定文件的变量 clear 清除内存变量 pack 整理内存碎片 clf 清除图形窗口 path 显示搜索目录 diary 日志文件命令 quit 退出Matlab dir 显示当前目录下的文件 save 保存内存变量到指定文件 disp 显示变量或者文字的内容 type 显示文件内容 echo 工作窗显示开关
快捷键
键盘操作和快捷键 该操作的功能 键盘操作和快捷键 该操作的功能 ↑(Ctrl+p) 调用上一行 Home(Ctrl+a) 光标置于当前行开头 ↓(Ctrl+n) 调用下一行 End(Ctrl+e) 光标置于当前行结尾 ← (Ctrl+b) 光标左移一个字符 Esc(Ctrl+u) 清除当前输入行 →(Ctrl+f) 光标右移一个字符 Del(Ctrl+d) 删除光标处的字符 Ctrl+← 光标左移一个单词 Backspace(Ctrl+h) 删除光标前字符 Ctrl+→ 光标右移一个单词 Alt+Backspace 恢复上一次删除
常见数学函数
函数 名称 函数 名称 sin(x) 正弦函数 asin(x) 反正弦函数 cos(x) 余弦函数 acos(x) 反余弦函数 tan(x) 正切函数 atan(x) 反正切函数 atanh(x) 反双曲正切函数 tanh(x) 双曲正切函数 abs(x) 绝对值 max(x) 最大值 min(x) 最小值 median(x) 求数组的中间数 sum(x) 元素的总和 prod(x) 数组元素求积 sort(x) 数组按单增排序 length(x) 数组的长度 sqrt(x) 开平方 exp(x) 以e为底的指数 log(x) 自然对数 log10 以10为底的对数 sign(x) 符号函数 fix(x) 取整 mod(x, y) 求x/y的余数 inline 构造在线函数 round(x) 四舍五入 gcd(x, y) 最大公因数 floor(x) 向负无穷取整 ceil(x) 向正无穷取整
向量的输入
直接用[]
括起来即可,如[1, 2, 3, 4, 5]
。 等差向量的表达,
x = a:inc:b
,表示生成a:inc:b
,分别表示生成数组的第一个a
和最后一个元素b
,inc
是步长。x = linspace(a, b, n)
,a
和b
分别是生成数组的第一个和最后一个元素,n
为分隔数。 x(i)
表示向量第i
个元素,x(a:b:c)
表示访问数组x
的第a
个元素开始,以步长b
到第c
个元素(但不超过c
),b
可以是负数,b
缺省时为1
,即x(i:j)
表示向量第i
个元素到第j
个元素。如果访问多个不连续的元素,可以使用中括号进行操作。例如,如果需要访问x
中1,3,5,6
元素,可以使用x([1,3,5,6])
。数组运算符由矩阵运算符前面增加一点“.
”表示,如“.*
,./
,.^
”等。如果数组X和Y具有相同的维数,则数组的乘法运算X.*Y
表示X,Y中单个元素对应的乘积,除法类似。
多项式及其运算
Matlab中采用行向量的表示多项式,行向量内存放按降幂排列的多项式系数 。
P
(
x
)
=
a
0
x
n
+
a
1
x
n
−
1
+
.
.
.
+
a
n
−
1
x
+
a
n
P(x)=a_0x^n+a_1x^{n-1}+...+a_{n-1}x+a_n
P ( x ) = a 0 x n + a 1 x n − 1 + . . . + a n − 1 x + a n 的系数行向量为
P
=
[
a
0
a
1
.
.
.
a
n
−
1
a
n
]
P=[a_0 \ a_1 \ ... \ a_{n-1} \ a_n]
P = [ a 0 a 1 . . . a n − 1 a n ] 。
命令 该命令的功能 命令 该命令的功能 conv 多项式乘法(卷积) polyval 多项式求值 deconv 多项式除法(解卷) polyvalm 矩阵多项式求值 poly 由根求多项式 residue 分解多项式的部分分解式展开 polyder 多项式求导 roots 多项式求根 polyfit 多项式曲线拟合
常用矩阵生成函数
函数 函数的功能 函数 函数的功能 zeron(m,n) 元素全为0的m行n列矩阵 diag() 对角函数 ones(m,n) 元素全为1的m行n列矩阵 triu() 上三角矩阵 rand(m,n) m行n列均匀分布的随机矩阵 tril() 下三角矩阵 randn(m,n) m行n列正态分布随机矩阵 size() 返回指定矩阵的行数和列数 magic(n) n阶魔方阵 eye(n) 指定行数和列数的单位矩阵
一般情况下,X=A\B
表示A*X=B
的解,而X=A/B
表示X*A=B
的解,从Matlab6.0开始,矩阵的左除和右除的区别在逐渐减少。
矩阵的操作
说明:Matlab的index是从1开始的。
操作 说明 A(1:3,:)
取第1行到第3行的所有列(:
)元素。 A(1:3)
取第1行到第3行的第1列的元素,(不写的话,默认index为1)。 A(1:3, [1, 2, 3, 4, 5])
取第1行到第3行的列的index为1,2,3,4,5
的元素。
线性代数
函数 函数的功能 函数 函数的功能 ^ 矩阵的乘方运算 sqrtm 矩阵的开方运算 expm 矩阵的指数运算 logm 矩阵的对数运算 cond 求矩阵的条件数 condest 求矩阵的Ⅰ范式估计 condeig 求矩阵和特征值有关的条件数 det 求矩阵的行列式 eig or eigs 求矩阵的特征值和特征向量 eig 特征值矩阵 funm 矩阵的任意函数 gsvd 广义奇异值 inv 矩阵求逆 norm or normest 求矩阵向量范数 null 右0空间 pinv 伪逆矩阵 poly 求矩阵的特征多项式 polyvalm 求矩阵多项式的值 rank 求矩阵的秩 trace 求矩阵的逆
常见符号运算函数
函数 函数的功能 函数 函数的功能 symsize 求符号矩阵维数 inverse 逆矩阵 charploy 特征多项式 transpose 矩阵转置 determ 符号矩阵行列式的值 jordan 约当标准型 eigensys 特征值和特征矩阵 simple 符号矩阵简化
概率统计
如果
P
(
X
≤
x
)
=
α
P(X \leq x)=\alpha
P ( X ≤ x ) = α ,则称
x
x
x 为
X
X
X 的
α
\alpha
α 分位数。
分布 累加分布逆函数 注释 二项分布
B
(
n
,
p
)
B(n, p)
B ( n , p )
b
i
n
o
i
n
v
(
a
,
n
,
p
)
binoinv(a, n, p)
b i n o i n v ( a , n , p ) 参数为n,p的二项分布
α
\alpha
α 分位数 泊松分布
P
(
b
)
P(b)
P ( b )
p
o
i
s
s
i
n
v
(
a
,
b
)
poissinv(a, b)
p o i s s i n v ( a , b ) 参数为b的泊松分布
α
\alpha
α 分位数 负二项分布
N
B
(
r
,
p
)
NB(r, p)
N B ( r , p )
n
b
i
n
i
v
(
a
,
r
,
p
)
nbiniv(a, r, p)
n b i n i v ( a , r , p ) 参数r,p的负二项分布
α
\alpha
α 分位数 超几何分布
h
(
n
,
N
,
M
)
h(n,N,M)
h ( n , N , M )
h
y
g
e
i
n
v
(
a
,
n
,
M
,
N
)
hygeinv(a, n,M,N)
h y g e i n v ( a , n , M , N ) 参数为n,M,N的超几何分布
α
\alpha
α 分位数 均匀分布
u
n
i
d
i
n
v
,
u
n
i
f
i
n
v
unidinv, unifinv
u n i d i n v , u n i f i n v 离散与连续均匀分布分位数 正态分布
N
(
A
,
B
)
N(A, B)
N ( A , B )
n
o
r
m
i
n
v
(
a
,
A
,
B
)
norminv(a, A, B)
n o r m i n v ( a , A , B ) 参数为A,B的正态分布
α
\alpha
α 分位数 指数分布
E
x
p
(
b
)
Exp(b)
E x p ( b )
e
x
p
i
n
v
(
a
,
b
)
expinv(a,b)
e x p i n v ( a , b ) 参数为b的指数分布
α
\alpha
α 分位数 自由度为n的卡方分布
c
h
i
2
i
n
v
(
a
,
n
)
chi2inv(a, n)
c h i 2 i n v ( a , n ) 参数为n的卡方分布
α
\alpha
α 分位数
f
f
f 分布
F
(
m
,
n
)
F(m,n)
F ( m , n )
f
i
n
v
(
a
,
m
,
n
)
finv(a,m,n)
f i n v ( a , m , n ) 参数为m,n的
f
f
f 分布
α
\alpha
α 分位数 学生氏
t
t
t 分布
t
(
n
)
t(n)
t ( n )
t
i
n
v
(
a
,
n
)
tinv(a, n)
t i n v ( a , n ) 参数为n的
t
t
t 分布
α
\alpha
α 分位数
如果将inv
换为pdf
,则为相应密度函数命令; 如果将inv
换为cdf
,则为相应分布函数命令; 如果将inv
换为rnd
,则为相应随机数命令; 如果将inv
换为stat
,则为相应分布的数学期望和方差的命令。