MATLAB常用函数

1. 默认常量

名称 说明
pi 圆周率 π \pi π
INF(或inf) 无穷大
NaN(或nan) 代表不定值,即0/0
realmax 最大的正实数
realmin 最小的正实数
eps 浮点数的相对误差
i(或j) 虚数单位,定义为 − 1 \sqrt{-1} 1
nargin 函数实际输入参数个数
nargout 函数实际输出参数个数
ans(ANS) 默认变量名,用于应答最近一次操作结果

注意,在计算机内部所有数据都是用二进制表示的,而很多浮点数(即小数)无法精确表示出来。eps表示的是一个数可以分辨的最小精度。默认时它表示1到它下一个浮点数之间的距离的一半,而正好等于最大小于1的浮点数到最小大于1的浮点数之间的距离。

>> eps

ans =

   2.2204e-16

>> 1+eps*0.5 == 1

ans =

  logical

   1

2. 数据显示格式

MATLAB语句的执行结果可以在屏幕上显示,也可以赋值给一个变量。在MATLAB内部,所有数据都是以双精度浮点型来存储并执行各种计算。但是可以使用不同的方式在屏幕上显示数据,这并不会影响MATLAB内部的数据存储格式。

格式 含义
format (short) 短格式,默认格式,精确到小数点后4位
format long 长格式,精确到小数点后15位
format short e 短格式,并使用科学记数法
format long e 长格式,并使用科学记数法
format bank 精确到小数点后两位
format hex 十六进制显示

3. 变量的存储与读取

在MATLAB中,使用save将工作区的变量保存到硬盘上,save有两种使用格式,分别为命令式、函数式。
命令方式保存数据,其中不同变量名以空格分离:

save 文件名 变量名

函数调用方式保存数据,其中文件名和变量名都为字符串形式,不同变量名之间用逗号隔开:

save(文件名,变量名)

如将工作区中名为a和b的变量保存到a.mat文件中:

save a.mat a b          % 命令式

save('a.mat','a','b')   % 函数式

注意,保存变量的文件请以mat作为后缀名。

读取硬盘中的文件,使用load。同样可以通过命令或者函数的方式来使用load。例如读取a.mat文件:

load a.mat      % 命令式
load('a.mat')   % 函数式

清除工作区的变量,使用clear命令(函数):

clear a    % 清除变量a,也可以写成clear('a')
clear      % 清除工作区中所有变量

查看工作区的变量,使用who,查看工作区别的变量的详细信息,使用whos。

使用clc命令清除命令行窗口的信息。

4. 基本函数

(1) 基本数学函数

函数名 含义
abs(x) 取x的绝对值
sqrt(x) 对x开方
angle(z) 复数z的相角
real(z) 复数z的实部
imag(z) 复数z的虚部
conj(z) 复数z的共轭复数
round(x) 四舍五入
fix(x) 直接舍弃小数部分
floor(x) 小于x的最大整数
ceil(x) 大于x的最小整数
rat(x) 将实数x转化为带分数表示,返回值类型为字符串
rats(x) 将实数x转化为假分数表示,返回值类型为字符串
rem(x,y) 求x除以y的余数
gcd(x,y) 求x和y的最大公因数
lcm(x,y) 求x和y的最小公倍数
log10(x) 以10为底的对数
log2(x) 以2为底的对数
log(x) 自然对数
pow2(x) 2的指数
exp(x) 自然指数
sign(x) 符号函数

(2) 基本三角函数

函数名 含义
sin(x) 正弦函数
cos(x) 余弦函数
tan(x) 正切函数
asin(x) 反正弦函数
acos(x) 反余弦函数
atan(x) 反正切函数
atan2(x,y) 四象限反正切函数
sinh(x) 双曲正弦函数
cosh(x) 双曲余弦函数
tanh(x) 双曲正切函数
asinh(x) 反双曲正弦函数
acosh(x) 反双曲余弦函数
atanh(x) 反双曲正切函数

(3) 基本向量运算函数

函数名 含义
min(x) 向量x中的最小值
max(x) 向量x中的最大值
mean(x) 向量x中元素的平均值
median(x) 向量x中元素的中位数
std(x) 向量x中元素的标准差
diff(x) 向量x的相邻元素的差
sort(x) 对向量x的元素进行排序
length(x) 向量x的元素个数
norm(x) 求向量x的欧几里德范数
sum(x) 对向量x中所有元素求和
prod(x) 计算向量x中所有元素的乘积
cumsum(x) 计算向量x的累计元素总和
cumprod(x) 计算向量x的累计元素乘积
dot(x,y) 计算向量x和y的内积(点乘)
cross(x,y) 计算向量x和y的外积(叉乘)

注意,sum(x)对向量x中所有元素求和,而cumsum(x) 返回一个向量,该向量中第m个元素是x中第1个到第m个的所有元素累加和,prod(x)和cumprod(x)与此类似。

(4) 矩阵相关函数

在Matlab中,数据是通过矩阵的方式来组织的,单个数据是一个 1 × 1 1\times1 1×1的矩阵, n n n维行向量是一个 1 × n 1\times n 1×n的矩阵, n n n维列向量是一个 n × 1 n\times1 n×1的矩阵。

函数名 含义
size(V) V是矩阵,返回矩阵的维度
zeros(m,n) 生成值全为零的矩阵
ones(m,n) 生成值全为1的矩阵
magic(n) n>1,生成一个n*n的魔方矩阵,每一行、每一列及对角线元素之和都相等,矩阵元素为1~n*n之间的整数
eye(n) 产生n*n单位矩阵
eye(m,n) 产生m*n矩阵,对角线元素为1,其余为0
rand(m,n) 生成0~1之间服从均匀分布的随机数矩阵
randn(m,n) 生成服从标准正态分布的随机数矩阵
linspace(a,b,N) 产生1*N的向量,向量元素为从a均匀变化到b的等差数列
logspace(a,b,N) 产生1*N的向量,向量元素从 1 0 a 10^a 10a均匀变化到 1 0 b 10^b 10b
randperm(N) 返回向量[1,2,...,N]的一个随机排列,向量中的元素为1~N之间的整数,每个数字出现且仅出现一次
perms(A) 产生一个向量的所有排列形式
randi(IMAX,n) 返回一个n*n随机矩阵,矩阵中元素为1~IMAX之间的均匀分布随机整数,IMAX大于1
randi([IMIN,IMAX],m,n) 产生m*n的随机矩阵,矩阵中元素为IMIN~IMAX之间的随机整数
diag(V,K) V是一个向量,K指定向量V在生成的矩阵中的位置。当K=0时返回一个以V为主对角线的方阵;当K>0时,V是矩阵主对角线上方的第K条对角线;当K<0时,V是矩阵主对角线下方的第|K|条对角线
diag(V) 相当于diag(V,0)
diag(X,K) X是一个矩阵,返回一个列向量V,V为矩阵X的第K条对角线。当K=0时返回主对角线,当K>0时返回矩阵主对角线上方第K条对角线;当K<0时返回矩阵主对角线下方第|K|条对角线
diag(X) 返回矩阵的主对角线
B=repmat(A,m,n) 矩阵A是待复制的矩阵,函数将A视为一个元素,按照m*n的形式复制、拼接为新的矩阵B。size(B)=[size(A,1)*m,size(A,2)*n]
B=reshape(A,m,n) 矩阵A为待变维的矩阵,元素个数必须和m*n相等。函数将A转变为[m,n]形状,元素顺序保持列优先

欢迎关注微信公众号“理工学派”,公众号中直接回复matlab,获取Matlab安装程序的下载链接。

MATLAB常用函数_第1张图片

你可能感兴趣的:(Matlab)