Matlab内建函数中文文档

此部分内容会随着我的使用而更新,大部分来自有道翻译。

基本信号

阶跃信号

矩形信号

  • rectpuls

矩形脉冲

画图函数

plot

fplot

示例

1
2
3
4
5
6
7
8
9
fplot(f)
fplot(f,xinterval)
fplot(xt,yt)
fplot(xt,yt,tinterval)
fplot(___,LineSpec)
fplot(___,Name,Value)
fplot(ax,___)
fp = fplot(___)
[x,y] = fplot(___)

描述

fplot(f) 在x轴以默认间隔[-5,5]画出输入的f函数

fplot(f,xinterval) 对f增加了plot的间隔限制。xinterval=[xmin xmax]

stairs

示例

1
2
3
4
5
6
7
stairs(Y)
stairs(X,Y)
stairs(___,LineSpec)
stairs(___,Name,Value)
stairs(ax,___)
h = stairs(___)
[xb,yb] = stairs(___)

描述

stairs(Y) 通过Y中的元素以阶梯状的方式plot

  • 如果Y是向量,那么stairs画一条线
  • 如果Y是矩阵,那么stairs对矩阵的每一行的元素画一条线

stairs(X,Y) 把Y中的元素用X的位置plot出来。X和Y需要是同样大小的向量或者矩阵。此外,X可以是行向量或者列向量但Y这个矩阵的行需要是X的长度。

subplot

在平铺的位置创建轴线(画子图)

示例

1
2
3
4
5
6
7
8
subplot(m,n,p)
subplot(m,n,p,'replace')
subplot(m,n,p,'align')
subplot('Position',positionVector)
subplot(m,n,p,ax)
subplot(___,Name,Value)
h = subplot(___)
subplot(h)

描述

下面给出subplot的简单示例,方便了解用法

subplot(m,n,p) m表示行,n表示列,p表示第几张图。图的标号从第一行第一列开始,(1,1)(1,2)(2,1)…对应1,2,3…

axis

限制坐标大小

示例

1
axis(limits)

描述

axis(limits) 设置当前坐标系限制。如果是笛卡尔坐标系,需要四个向量[xmin xmax ymin ymax]对x,y限制。如果是Z坐标系,需要六个向量。如果还要设置颜色限制,需要八个向量限制。如果是极坐标系,需要四个向量限制theta-axis和r-axis。

傅里叶家族

FFT

快速傅里叶变换

示例

1
2
3
Y = fft(X)
Y = fft(X,n)
Y = fft(X,n,dim)

描述

Y = fft(X) 利用快速傅里叶变换(FFT)算法计算X离散傅里叶变换(DFT)。

  • 如果X是一个向量,那么fft(X)返回向量的傅里叶变换。
  • 如果X是一个矩阵,那么fft(X)将X的列视为向量,并返回每个列的傅里叶变换。
  • 如果X是一个多维数组,那么fft(X)将处理第一个数组维度上的值,其大小不等于1作为向量,并返回每个向量的傅里叶变换。

Y = fft(X,n) 返回n-point DFT。如果没有指定值,则Y的大小与X相同。

  • 如果X是一个向量且X的长度小于n,那么X就会被加上后面的0到n。
  • 如果X是一个向量且X的长度大于n,那么X就被截断为n的长度。
  • 如果X是一个矩阵,那么每一列都被当成向量的情况处理。
  • 如果X是一个多维数组,那么第一个大小不等于1的数组维度将被当成向量的情况处理。

Y = fft(X,n,dim) 返回沿着维度的傅里叶变换。例如,如果X是一个矩阵,那么fft(X,n,2)返回每一行的n-point傅里叶变换。

# 过滤器家族

## filter

1-D数字滤波器

示例

1
2
3
4
y = filter(b,a,x)
y = filter(b,a,x,zi)
y = filter(b,a,x,zi,dim)
[y,zf] = filter(___)

描述

y = filter(b,a,x) 过滤输入数据x使用有理传递函数定义的分子和分母系数b和a。

如果a(1)不等于1,滤波器的系数由a(1)归一化。因此,a(1)必须是非零的。

  • 如果x是一个向量,那么过滤器将过滤后的数据作为与x相同大小的向量返回。
  • 如果x是一个矩阵,那么过滤器沿着第一个维度进行操作,并返回每个列的过滤数据。
  • 如果x是一个多维数组,那么过滤器沿着第一个大小不等于1的数组维度作用。

y = filter(b,a,x,zi) 初始条件zi作为过滤延迟的初始条件。zi的长度必须等于max(length(a),length(b))-1。


y = filter(b,a,x,zi,dim) 沿着维度进行强度调制,例如,如果x是一个矩阵,那么 filter(b,a,x,zi,2) 返回每一行的过滤数据。


[y,zf] = filter(___) 还使用前面的任何语法,返回过滤器延迟的最终条件zf。

butter

巴特沃斯滤波器的设计

示例

1
2
3
4
5
[b,a] = butter(n,Wn)
[b,a] = butter(n,Wn,ftype)
[z,p,k] = butter(___)
[A,B,C,D] = butter(___)
[___] = butter(___,'s')

描述

[b,a] = butter(n,Wn) 返回一个n阶低通数字巴特沃斯滤波器的传递函数系数,并将其截止频率归一化为 Wn。


[b,a] = butter(n,Wn,ftype) 设计了一个低通、高通、带通或带带阻巴特沃斯滤波器,取决于ftype的值和Wn的元素个数。带通和带阻设计的结果是2n阶的。

Note: 关于影响形成传递函数的数值问题的信息,请参见限制


[z,p,k] = butter(___) 设计一个低通、高通、带通或带阻的数字巴特沃斯滤波器,并返回其零点、极点和增益。此语法可以包含之前语句中的输入的任何参数。


[A,B,C,D] = butter(___) 设计一个低通,高通,带通,或带阻数字巴特沃斯滤波器,并返回指定其状态空间表示的矩阵。


[_] = butter(_,’s’) 设计了一个低通、高通、带通、或阻的模拟巴特沃斯滤波器,截止角频率为Wn。