MATLAB的部分Help

文章目录

搬自Matlab的Help

函数

freqz函数(求出滤波器的幅值响应和相角响应

在这里插入图片描述

clc;clear all;close all;

b=[1 -0.5];
a=[1];
[H,w]=freqz(b,a,200);
HF=abs(H);                              %求出幅频特性值
HX=angle(H);                            %求出相频特性值
subplot(2,1,1);plot(w,HF);              %画出幅频特性曲线
subplot(2,1,2);plot(w,HX);              %画出相频特性曲线

b  = [1 0 0 0 1];
a  = [1];
f  = 0:100:10000;
FS = 5000;
figure;freqz(b,a,f,FS)

在这里插入图片描述

impz(产生滤波器的脉冲响应)

% All frequency values are in Hz.
Fs = 48000;              % Sampling Frequency

Fpass = 9600;            % Passband Frequency
Fstop = 12000;           % Stopband Frequency
Dpass = 0.057501127785;  % Passband Ripple
Dstop = 0.0001;          % Stopband Attenuation
dens  = 20;              % Density Factor

% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]);
b  = firpm(N, Fo, Ao, W, {dens});
figure;freqz(b);
figure;impz(b);

在这里插入图片描述

grpdelay(求出群延迟响应)

在这里插入图片描述

fvtool函数(显示滤波器的各种响应曲线

% All frequency values are in Hz.
Fs = 48000;              % Sampling Frequency

Fpass = 9600;            % Passband Frequency
Fstop = 12000;           % Stopband Frequency
Dpass = 0.057501127785;  % Passband Ripple
Dstop = 0.0001;          % Stopband Attenuation
dens  = 20;              % Density Factor

% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]);
b  = firpm(N, Fo, Ao, W, {dens});
fvtool(b);

在这里插入图片描述

dfilt(离散时间滤波器)

在这里插入图片描述

fir1(用窗函数法设计FIR滤波器)

在这里插入图片描述

fir2(用频率采样法设计FIR滤波器)

在这里插入图片描述

firpmord(计算等波纹FIR滤波器的阶数)

在这里插入图片描述

firpm(等波纹FIR滤波器)

在这里插入图片描述

rp = 3;           % Passband ripple
rs = 40;          % Stopband ripple
fs = 2000;        % Sampling frequency
f = [500 600];    % Cutoff frequencies
a = [1 0];        % Desired amplitudes
dev = [(10^(rp/20)-1)/(10^(rp/20)+1)  10^(-rs/20)]; 
[n,fo,ao,w] = firpmord(f,a,dev,fs);
b = firpm(n,fo,ao,w);

freqz(b,1,1024,fs)
title('Lowpass Filter Designed to Specifications')
Fs = 48000;  % Sampling Frequency

使用GUI设计滤波器后,导出matlab代码

在这里插入图片描述

Fs = 48000;                % Sampling Frequency
Fpass = 9600;            % Passband Frequency
Fstop = 12000;           % Stopband Frequency
Dpass = 0.057501127785;  % Passband Ripple
Dstop = 0.0001;          % Stopband Attenuation
dens  = 20;                  % Density Factor

% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]);

% Calculate the coefficients using the FIRPM function.
b  = firpm(N, Fo, Ao, W, {dens});
Hd = dfilt.dffir(b);

% [EOF] 

contour函数

在这里插入图片描述

meshgrid函数

用来生成网格矩阵
在这里插入图片描述

pdf函数

pdf函数封装了众多类型的概率密度函数,参数如下,
在这里插入图片描述

xg = linspace(-6,6,1500);       % randowm variable between -6 and 6
xr = linspace(0,6,1500);        % randowm variable between 0 and 6
mu = 0;                         % zero mean Gaussain pdf mean
sigma = 1.5;                    % standard deviation (sqrt(variance) 
ynorm = normpdf(xg,mu,sigma);   % use MATLAB funtion normpdf
yray  = raylpdf(xr,sigma);       % use MATLAB function raylpdf

y_normal = pdf('normal',xg,mu,sigma);
y_ray    = pdf('rayleigh',xr,sigma);       % use MATLAB function raylpdf
plot(xg,ynorm,'k',xr,yray,'k-.',xg,y_normal,'b*',xr,y_ray,'r*');
grid
legend('Gaussian pdf','Rayleigh pdf')
xlabel('x')
ylabel('Probability density')
% gtext('\mu = 0; \sigma = 1.5')
% gtext('\sigma =1.5')

在这里插入图片描述

random函数

random函数封装了众多类型的随机数函数,参数如下,
在这里插入图片描述

波形产生函数

在这里插入图片描述

db2pow函数/db2mag函数/pow2db函数/mag2db函数

各个函数用法类似,仅贴一图,
在这里插入图片描述

axis tight

在这里插入图片描述

位操作函数

在这里插入图片描述

typecast函数

在这里插入图片描述

gtext函数

在这里插入图片描述

fft函数(可以操作矩阵)

在这里插入图片描述

filter函数(可以操作矩阵)

在这里插入图片描述

mode求取众数

在这里插入图片描述

exist检查变量、脚本、函数、文件夹或类的存在情况

在这里插入图片描述

find查找特定元素的索引和值(能够指定所查找的符合条件的元素个数、查找方向

在这里插入图片描述

shiftdim(移动数组维度)

在这里插入图片描述

sortrows(对矩阵行或表行进行排序)

在这里插入图片描述

circshift(循环平移数组)

在这里插入图片描述

flipud(将数组从上向下翻转)

在这里插入图片描述

fliplr(将数组从左向右翻转)

在这里插入图片描述

flip(翻转元素顺序)

在这里插入图片描述

deg2rad/degtorad函数

rad2deg/radtodeg函数

sum函数(支持指定维数的求和运算、支持略去NaN)

在这里插入图片描述
在这里插入图片描述

max函数(支持指定维数的运算、支持nanflag)

在这里插入图片描述

min函数(与max函数类似)

bsxfun函数(对两个矩阵A和B之间的每一个元素进行指定函数的计算,并且具有自动扩维的作用)

两个非“单一维度”相互匹配的数组a和b做函数fun运算时,bsxfun会隐含扩充a或b使得a和b结构相同,以便实现逐元素运算。其中,fun可以是函数句柄或者m文件,也可以是内置函数。
在这里插入图片描述
当然,现在matlab也已经很强大了,可以直接进行维数不同的向量的运算,
在这里插入图片描述

semilogy函数(将y坐标轴用对数值表示出来

在这里插入图片描述

clc;close all;clear all;

N  = 1024;
FS = 1000;
t  = (0:N-1)/FS;
f  = 100;

sig   = cos(2*pi*f*t);
y_fft = abs(fft(sig));

figure;
subplot(131);
plot(y_fft);
title('常规画图');

subplot(132);
plot(y_fft);
semilogy(y_fft);
title('绘图之后对坐标轴log10,变换了值域的表示方式');

subplot(133);
plot(log10(y_fft));
title('绘图之前对数据取log10,变换了值域');

在这里插入图片描述

sfdr函数(计算无杂散动态范围)

在这里插入图片描述

snr函数(计算信噪比)

snr函数(计算信纳比->信号+噪声+谐波的功率与谐波+噪声的功率比值)

thd函数(计算总谐波失真Total Harmonic Distortion

toi函数(计算三阶截断点 IP3: third-order intercept point

clc;close all;clear all;

N  = 1024;
FS = 1000;
t  = (0:N-1)/FS;
f  = 100;
sig = cos(2*pi*f*t);
sig_with_noise = awgn(sig,10,'measured');
figure;
snr(sig_with_noise)
figure;
sfdr(sig_with_noise)
figure;
sinad(sig_with_noise)
figure;
thd(sig_with_noise)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

rms函数(计算均方根

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

切换查看各级堆栈

在这里插入图片描述

assignin函数(为工作空间的变量指派值

MATLAB通常的基本工作空间是’base’空间。MATLAB在程序运行过程中,将为每个函数分配它自己的函数工作空间(从基本空间中分割出的一块, 以函数名作为其工作空间名),各个工作空间之间的变量是不能够直接引用的,在函数退出之后,该函数空间也就立即被注销。因此,对于函数文件,运行结果除输出变量返回到基本工作空间或者其父工作空间(调用该函数的程序的工作空间)之外,其他中间变量不在基本工作空间或者其父工作空间保留。而对于脚本M文件,其工作空间与基本工作空间’base’是共享的,其运算过程中所用到的中间变量也将在基本工作空间’base’中保留。

在这里插入图片描述

输入输出参数相关函数(nargin、nargout、varargin、varargout等

在这里插入图片描述

fileparts(获取文件名的组成部分

在这里插入图片描述

fullfile(利用文件各部分信息创建合成完整文件名

在这里插入图片描述

isfolder、isfile函数(判断是否是文件夹、文件

文件操作函数(movefile、copyfile、mkdir等

在这里插入图片描述

特征值、特征向量计算(eig)

在这里插入图片描述

funm函数(计算常规矩阵函数)

在这里插入图片描述

在这里插入图片描述

mfilename(当前正在运行的代码的文件名)

在这里插入图片描述

addParameter(在输入解析器模式中添加可选的名称-值对组参数)

在这里插入图片描述

prod(计算数组元素的乘积)

在这里插入图片描述

使用assert断言函数

在这里插入图片描述

assert(isequal(1,2),'测试条件不满足');
assert(isequal(2,2));

cat(串联数组)

在这里插入图片描述

buffer(将 向量信号 缓存为 帧信号 矩阵)

在这里插入图片描述

cumsum(累计和)

在这里插入图片描述

var函数

在这里插入图片描述

clc;clearvars;close all;
t  = 0:0.001:10;
x  = sin(2*pi*t);
px = norm(x).^2/length(x);   %计算信号x的功率
ratio=20;
pn = px./(10.^(ratio./10));   %根据snr计算噪声功率
n  = sqrt(pn)*randn(1,length(x));
y  = x+n;
subplot(2,1,1);plot(t,x);title("正弦信号x")
subplot(2,1,2);plot(t,y);title("叠加了高斯白噪声后的正弦信号")

var(x)
var(n)

pskmod

在这里插入图片描述

rectpulse

在这里插入图片描述

intdump

在这里插入图片描述

able2array(将表转换为同构数组)

在这里插入图片描述

type xxx.p(判断p文件的版本类型)

type xxx.p

如果返回值是"v01.00v00.00",则该p文件是使用R2007b或以后的版本创建的,否则是之前的版本创建的,返回值是"v00.00v00.00"。

movegui(将图窗移动到屏幕上的指定位置)

在这里插入图片描述

线性代数函数一览

在这里插入图片描述

其他

区域注释

在这里插入图片描述

为函数添加help说明

在这里插入图片描述

为figure设置name

在这里插入图片描述

global(全局变量)

在这里插入图片描述
在这里插入图片描述

局部函数(Local Functions)

在这里插入图片描述

嵌套函数(Nested Functions)

在这里插入图片描述

匿名函数(Anonymous Functions)

在这里插入图片描述

输出结果显示为分数形式

format rat

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值