Matlab常⽤函数和命令⼤全⼀、常⽤对象操作:除了⼀般windows窗⼝的常⽤功能键外。
1、!dir 可以查看当前⼯作⽬录的⽂件。 !dir& 可以在dos状态下查看。
2、who 可以查看当前⼯作空间变量名, whos 可以查看变量名细节。
3、功能键:
功能键 快捷键 说明
⽅向上键 Ctrl+P 返回前⼀⾏输⼊
⽅向下键 Ctrl+N 返回下⼀⾏输⼊
⽅向左键 Ctrl+B 光标向后移⼀个字符
⽅向右键 Ctrl+F 光标向前移⼀个字符
Ctrl+⽅向右键 Ctrl+R 光标向右移⼀个字符
Ctrl+⽅向左键 Ctrl+L 光标向左移⼀个字符
home Ctrl+A 光标移到⾏⾸
End Ctrl+E 光标移到⾏尾
Esc Ctrl+U 清除⼀⾏
Del Ctrl+D 清除光标所在的字符
Backspace Ctrl+H 删除光标前⼀个字符
Ctrl+K 删除到⾏尾
Ctrl+C 中断正在执⾏的命令
4、clc可以命令窗⼝显⽰的内容,但并不清除⼯作空间。
⼆、函数及运算
1、运算符:
+:加, -:减, *:乘, /: 除, \:左除 ^: 幂,‘:复数的共轭转置, ():制定运算顺序。
2、常⽤函数表:
sin( ) 正弦(变量为弧度)
Cot( ) 余切(变量为弧度)
sind( ) 正弦(变量为度数)
Cotd( ) 余切(变量为度数)
hermitasin( ) 反正弦(返回弧度)
acot( ) 反余切(返回弧度)
Asind( ) 反正弦(返回度数)
acotd( ) 反余切(返回度数)
cos( ) 余弦(变量为弧度)
exp( ) 指数
cosd( ) 余弦(变量为度数)
log( ) 对数
acos( ) 余正弦(返回弧度)
log10( ) 以10为底对数
acosd( ) 余正弦(返回度数)
sqrt( ) 开⽅
tan( ) 正切(变量为弧度)
realsqrt( ) 返回⾮负根
tand( ) 正切(变量为度数)
abs( ) 取绝对值
atan( ) 反正切(返回弧度)
angle( ) 返回复数的相位⾓
atand( ) 反正切(返回度数)
mod(x,y) 返回x/y的余数
sum( ) 向量元素求和
3、其余函数可以⽤help elfun和help specfun命令获得。
4、常⽤常数的值:
pi 3.1415926…….
realmin 最⼩浮点数,2^-1022
i 虚数单位
realmax 最⼤浮点数,(2-eps)2^1022
j 虚数单位
Inf ⽆限值
eps 浮点相对经度=2^-52
NaN 空值
三、数组和矩阵:
1、构造数组的⽅法:增量发和linspace(first,last,num)first和last为起始和终⽌数,num为需要的数组元素个数。
2、构造矩阵的⽅法:可以直接⽤[ ]来输⼊数组,也可以⽤以下提供的函数来⽣成矩阵。
ones( ) 创建⼀个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量
zeros() 创建⼀个所有元素都为0的矩阵
eye() 创建对⾓元素为1,其他元素为0的矩阵
diag() 根据向量创建对⾓矩阵,即以向量的元素为对⾓元素
magic() 创建魔⽅矩阵
rand() 创建随机矩阵,服从均匀分布
randn() 创建随机矩阵,服从正态分布
randperm() 创建随机⾏向量
horcat C=[A,B],⽔平聚合矩阵,还可以⽤cat(1,A,B)
vercat C=[A;B],垂直聚合矩阵, 还可以⽤cat(2,A,B)
repmat(M,v,h) 将矩阵M在垂直⽅向上聚合v次,在⽔平⽅向上聚合h次
blkdiag(A,B) 以A,和B为块创建块对⾓矩阵
length 返回矩阵最长维的的长度
ndims 返回维数
numel 返回矩阵元素个数
size 返回每⼀维的长度,[rows,cols]=size(A)
reshape 重塑矩阵,reshape(A,2,6),将A变为2×6的矩阵,按列排列。
rot90 旋转矩阵90度,逆时针⽅向
fliplr 沿垂轴翻转矩阵
flipud 沿⽔平轴翻转矩阵
transpose 沿主对⾓线翻转矩阵
ctranspose 转置矩阵,也可⽤A’或A.’,这仅当矩阵为复数矩阵时才有区别
inv 矩阵的逆
det 矩阵的⾏列式值
trace 矩阵对⾓元素的和
norm 矩阵或⽮量的范数,norm(a,1),norm(a,Inf)…….
normest 估计矩阵的最⼤范数⽮量
chol 矩阵的cholesky分解
cholinc 不完全cholesky分解
lu LU分解
luinc 不完全LU分解
qr 正交分解
kron(A,B) A为m×n,B为p×q,则⽣成mp×nq的矩阵,A的每⼀个元素都会乘上B,并占据p×q⼤⼩的空间rank 求出矩阵的刺
pinv 求伪逆矩阵
A^p 对A进⾏操作
A.^P 对A中的每⼀个元素进⾏操作
四、数值计算
1、线性⽅程组求解
(1)AX=B的解可以⽤X=A\B求。XA=B的解可以⽤X= A/B求。如果A是m×n的矩阵,当m=n时可以到唯⼀解,mn,超定系统,⾄少到⼀组解。如果A是奇异的,且AX=B有解,可以⽤X=pinv(A)×B返回最⼩⼆乘解
(2)AX=b, A=L×U,[L,U]=lu(A), X=U\(L\b),即⽤LU分解求解。
(3)QR(正交)分解是将⼀矩阵表⽰为⼀正交矩阵和⼀上三⾓矩阵之积,A=Q×R[Q,R]=chol(A), X=Q\(U\b)
(4)cholesky分解类似。
2、特征值
D=eig(A)返回A的所有特征值组成的矩阵。[V,D]=eig(A),还返回特征向量矩阵。
3、A=U×S×UT,[U,S]=schur(A).其中S的对⾓线元素为A的特征值。
4、多项式Matlab⾥⾯的多项式是以向量来表⽰的,其具体操作函数如下:
conv 多项式的乘法
deconv 多项式的除法,【a,b】=deconv(s),返回商和余数
poly 求多项式的系数(由已知根求多项式的系数)
polyeig 求多项式的特征值
Polyfit(x,y,n) 多项式的曲线拟合,x,y为被拟合的向量,n为拟合多项式阶数。
polyder 求多项式的⼀阶导数,polyder(a,b)返回ab的导数
[a,b]=polyder(a,b)返回a/b的导数。
polyint 多项式的积分
polyval 求多项式的值
polyvalm 以矩阵为变量求多项式的值
residue 部分分式展开式
roots 求多项式的根(返回所有根组成的向量)
注:⽤ploy(A)求出矩阵的特征多项式,然后再求其根,即为矩阵的特征值。
5、插值常⽤的插值函数如下:
griddata 数据⽹格化合曲⾯拟合
Griddata3 三维数据⽹格化合超曲⾯拟合
interp1 ⼀维插值(yi=interp1(x,y,xi,’method’)Method=nearest/linear/spline/pchip/cubic
Interp2 ⼆维插值zi=interp1(x,y,z,xi,yi’method’),bilinear
Interp3 三维插值
interpft ⽤快速傅⽴叶变换进⾏⼀维插值,help fft。
mkpp 使⽤分段多项式
spline 三次样条插值
pchip 分段hermit插值
6、函数最值的求解
fminbnd(‘f’,x1,x2,optiset(,))求f在 x1和x2之间的最⼩值。Optiset选项可以有‘Display’+‘iter’/’off’/’final’,分别表⽰显⽰计算过程/不显⽰/只显⽰最后结果。fminsearch求多元函数的最⼩值。fzero(‘f’,x1)求⼀元函数的零点。X1为起始点。同样可以⽤上⾯的选项。
五、图像绘制:
1、基本绘图函数
plot 绘制⼆维线性图形和两个坐标轴
plot3 绘制三维线性图形和两个坐标轴
fplot 在制定区间绘制某函数的图像。fplot(‘f’,区域,线型,颜⾊)
loglog 绘制对数图形及两个坐标轴(两个坐标都为对数坐标)semilogx 绘制半对数坐标图形
semilogy 绘制半对数坐标图形
2、线型: 颜⾊ 线型
y 黄⾊ . 圆点线 v 向下箭头
g 绿⾊ -. 组合 > 向右箭头
b 蓝⾊ + 点为加号形 < 向左箭头
m 红紫⾊ o 空⼼圆形 p 五⾓星形
c 蓝紫⾊ * 星号 h 六⾓星形
w ⽩⾊ . 实⼼⼩点 hold on 添加图形
r 红⾊ x 叉号形状 grid on 添加⽹格
k ⿊⾊ s ⽅形 - 实线
d 菱形 -- 虚线 ^ 向上箭头
3、可以⽤subplot(3,3,1)表⽰将绘图区域分为三⾏三列,⽬前使⽤第⼀区域。此时如要画不同的图形在⼀个窗⼝⾥,需要hold on。
=================================================================
附录1 系统命令
附录1.1 管理⽤命令
函数名 功能描述 函数名 功能描述
addpath 增加⼀条搜索路径 rmpath 删除⼀条搜索路径
demo 运⾏Matlab演⽰程序 type 列出.M⽂件
doc 装⼊超⽂本⽂档 version 显⽰Matlab的版本号
help 启动联机帮助 what 列出当前⽬录下的有关⽂件
lasterr 显⽰最后⼀条信息 whatsnew 显⽰Matlab的新特性
lookfor 搜索关键词的帮助 which 造出函数与⽂件所在的⽬录
path 设置或查询Matlab路径
附录1.2管理变量与⼯作空间⽤命令
函数名 功能描述 函数名 功能描述
clear 删除内存中的变量与函数 pack 整理⼯作空间内存
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论