1.Matlab中常用的2个循环函数是什么?并简要说明它们的调用格式。 2.列举

1.Matlab中常用的2个循环函数是什么?并简要说明它们的调用格式。 2.列举,第1张

1、一个是for……end;另一个是while……end。调用格式。

for 循环变量=初值:间隔:末值

循环体

end

while(判断语句满足则循环)

循环体

end

2、二维画图函数plot

plot(变量,因变量,颜色形状,线的粗细……)

三维画图函数

mesh(x,y,z)

常用的两个循环函数是 for 和 while。

其具体的使用方法可以用下面的命令查看:

doc for

doc while

for 的调用格式为:

for index = values

   statements

end

while的调用格式为:

while expression

    statements

end

MATLAB 信号处理常用函数

波形产生 函数名 功能 sawtooth 产生锯齿波或三角波 Sinc 产生sinc或函数sin(pit)/(pit) Square 产生方波 Diric 产生Dirichlet或周期sinc函数 滤波器分析和实现 函数名 功能 Abs 求绝对值(幅值) Freqs 模拟滤波器频率响应 Angle 求相角 Freqspace 频率响应中的频率间隔 Conv 求卷积 Freqz 数字滤波器频率响应 Fftfilt 重叠相加法FFT滤波器实现 Grpdelay 平均滤波器延迟(群延迟) Filter 直接滤波器实现 Impz 数字滤波器的冲激响应 Filtfilt 零相位数字滤波 Zplane 离散系统零极点图 Filtie Filter 函数初始条件选择 线性系统变换 函数名 功能 Convmtx 卷积矩阵 Ss2tf 变系统状态空间形式为传递函数形式 Ploy2rc 从多项式系数中计算反射系数 Ss2zp 变系统状态空间形式为零极点增益形式 Rc2ploy 从反射系数中计算多项式系数 Tf2ss 变系统传递函数形式为状态空间形式 Residuez Z变换部分分式展开或留数计算 Tf2zp 变系统传递函数形式为零极点增益形式 Sos2ss 变系统二阶分割形式为状态空间形式 Zp2sos 变系统零极点形式为二阶分割形式 Sos2zp 变系统二阶分割形式为零极点增益形式 Zp2tf 变系统零极点增益形式为传递函数形式 Ss2sos 变系统状态空间形式为二阶分割形式 IIR滤波器设计 Besself Bessel(贝塞尔)模拟滤波器设计 Cheby2 Chebyshev(切比雪夫)II型模拟滤波器设计 Butter Butterworth(巴特沃思)模拟滤波器设计 Ellip 椭圆模拟滤波器设计 Cheby1 Chebyshev(切比雪夫)I 型模拟滤波器设计 Yulewalk 递归数字滤波器设计 IIR滤波器阶选择 Buttord Butterworth(巴特沃思)滤波器阶的选择 Cheb2ord Chebyshev(切比雪夫)II型滤波器阶的选择 Ehebord Chebyshev(切比雪夫)I 型滤波器阶的选择 Clipord 椭圆滤波器设计阶的选择 模拟原型滤波器设计 Besselap Bessel模拟低通滤波器原型 Cheb2ap Chebyshev(切比雪夫)II型低通滤波器原型 Buttap Butterworth(巴特沃思)模拟低通滤波器原型 Ellipap 椭圆模拟低通滤波器原型 Cheb1ap Chebyshev(切比雪夫)I 型低通滤波器原型 频率变换 Lp2bp 低通到带通模拟滤波器转换 Lp2bs 低通到带阻模拟滤波器变换 Lp2hp 低通到高通模拟滤波器变换 Lp2lp 低通到低通模拟滤波器转换 滤波器离散化 Blinear 双线性变换 Impinvar 冲激响应不变法 FIR滤波器设计 Fir1 基于窗函数的 FIR 滤波器设计—标准响应 Intfilt 内插FIR滤波器设计 Fir2 基于窗函数的 FIR 滤波器设计—任意响应 Remez Firls 最小二乘FIR滤波器设计 Remezord Parks-McCellan 最优 FIR 滤波器 j阶估计 窗函数 Boxcar 矩形窗 Hanning Hanning(汉宁)窗 Triang 三角窗 Blackman Blackman(布莱克曼)窗 Bartlett Bartlett(巴特得特)窗 Chebwin Chebyshev(切比雪夫)窗 Hamming Hamming(汉明)窗 Kaiser Kaiser(凯泽)窗 变换 Ctz 线性调频Z变换 Fft 一维快速傅里叶变换 Dct 离散余弦变换 Ifft 一维快速傅里叶逆变换 Idct 逆离散余弦变换 Fftshift 重新排列 fft的输出 Dftmtx 离散傅里叶变换矩阵 Hilbert Hilbert(希尔伯特)变换 统计信号处理 Cov 协方差矩阵 Psd 信号功率谱密度(PSD)估计 Xcov 互协方差函数估计 Tfe 从输入输出中估计传递函数 Corrcoef 相关系数矩阵 Periodogram 采用周期图法估计功率谱密度 Xcoor 互相关系数估计 Pwelch 采用 Welch方法估计功率谱密度 Cohere 相关函数平方幅值估计 Rand 生成均匀分布的随机数 Csd 互谱密度估计 Randn 生成正态分布的随机数 自适应滤波器部分 Adaptfiltlms 最小均方(LMS)自适应算法 Adaptfiltrls 递推最小二乘(RLS)自适应算法 Adaptfiltnlms 归一化最小均方(NLMS)自适应算法时频分析与小波变换部分 Spectrogram 短时傅里叶变换 Idwt 单级离散一维小波逆变换 Waveinfo 介绍小波工具箱中所有小波的信息 Wavedec 多级离散一维小波分解 Cwt 连续一维小波变换 Appcoef 一维小波变换近似系数 Dwt 单级离散一维小波变换 Detcoef 一维小波变换细节系数 二维信号处理 Conv2 二维卷积 Xcorr2 二维互相关参数 Fft2 二维快读傅里叶变换 Dwt2 单级离散二维小波变换 Ifft2 二维逆快速傅里叶变换 Idwt2 单级离散二维小波逆变换 Filter2 二维数字滤波器 Waverec2 多级离散二维小波分解

Matlab内部常数[3]

eps:浮点相对精度

exp:自然对数的底数e

i 或 j:基本虚数单位

inf 或 Inf:无限大, 例如1/0

nan或NaN:非数值(Not a number),例如0/0

pi:圆周率 p(= 31415926)

realmax:系统所能表示的最大数值

realmin:系统所能表示的最小数值

nargin: 函数的输入引数个数

nargout: 函数的输出引数个数

lasterr:存放最新的错误信息

lastwarn:存放最新的警告信息

MATLAB常用基本数学函数

abs(x):纯量的绝对值或向量的长度

angle(z):复数z的相角(Phase angle)

sqrt(x):开平方

real(z):复数z的实部

imag(z):复数z的虚部

conj(z):复数z的共轭复数

round(x):四舍五入至最近整数

fix(x):无论正负,舍去小数至最近整数

floor(x):地板函数,即舍去正小数至最近整数

ceil(x):天花板函数,即加入正小数至最近整数

rat(x):将实数x化为分数表示

rats(x):将实数x化为多项分数展开

sign(x):符号函数 (Signum function)。

当x<0时,sign(x)=-1;

当x=0时,sign(x)=0;

当x>0时,sign(x)=1。

rem(x,y):求x除以y的馀数

gcd(x,y):整数x和y的最大公因数

lcm(x,y):整数x和y的最小公倍数

exp(x) :自然指数

pow2(x):2的指数

log(x):以e为底的对数,即自然对数或

log2(x):以2为底的对数

log10(x):以10为底的对数

MATLAB常用三角函数

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):反双曲正切函数

适用于向量的常用函数有

min(x): 向量x的元素的最小值

max(x): 向量x的元素的最大值

mean(x): 向量x的元素的平均值

median(x): 向量x的元素的中位数

std(x): 向量x的元素的标准差

diff(x): 向量x的相邻元素的差

sort(x): 对向量x的元素进行排序(Sorting)

length(x): 向量x的元素个数

norm(x): 向量x的欧氏(Euclidean)长度

sum(x): 向量x的元素总和

prod(x): 向量x的元素总乘积

cumsum(x): 向量x的累计元素总和

cumprod(x): 向量x的累计元素总乘积

dot(x, y): 向量x和y的内积

cross(x, y): 向量x和y的外积

MATLAB基本绘图函数

plot: x轴和y轴均为线性刻度(Linear scale)

loglog: x轴和y轴均为对数刻度(Logarithmic scale)

semilogx: x轴为对数刻度,y轴为线性刻度

semilogy: x轴为线性刻度,y轴为对数刻度

matlab插值和样条plot绘图函数的参数

== TA α n=0:50; %定义序列的长度是 50 A=1; %设置信号有关的参数 a=04; T=1; %采样率 w0=20734; x=Aexp(-anT)sin(w0nT); %pi 是 MATLAB 定义的π,信号乘可采用“ ” close all %清除已经绘制的 x(n)图形 subplot(3,1,1);stem(x); %绘制 x(n)的图形 title(‘理想采样信号序列 ’); k=-25:25; W=(pi/125)k; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱 ’) 2、单位脉冲序列 在 MatLab 中,这一函数可以用 zeros 函数实现: n=1:50; %定义序列的长度是 50 x=zeros(1,50); %注意: MATLAB 中数组下标从 1 开始 x(1)=1; close all; subplot(3,1,1);stem(x);title(‘单位冲击信号序列 ’); k=-25:25; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱 ’) 3、矩形序列 n=1:50 x=sign(sign(10-n)+1); close all; subplot(3,1,1);stem(x);title(‘单位冲击信号序列 ’); k=-25:25; X=x(exp(-jpi/25))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱 ’) 4、特定冲击串: )3()2(52)1(52)()( +++= nnnnnx δδδδ n=1:50; %定义序列的长度是 50 x=zeros(1,50); %注意: MATLAB 中数组下标从 1 开始 x(1)=1;x(2)=25;x(3)=25;x(4)=1; close all; subplot(3,1,1);stem(x);title(‘单位冲击信号序列 ’); k=-25:25; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱 ’) 5、卷积计算: ∑ +∞ ∞= == m mnhmxnhnxny )()()()()( 在 MATLAB 中。提供了卷积函数 conv,即 y=conv(x,h),调用十分方便。例如: 系统: )3()2(52)1(52)()( +++= nnnnnh b δδδδ 信号: 500),sin()( 0 <≤= nnTAetx nT a α n=1:50; %定义序列的长度是 50 hb=zeros(1,50); %注意: MATLAB 中数组下标从 1 开始 hb(1)=1;hb(2)=25;hb(3)=25;hb(4)=1; close all; subplot(3,1,1);stem(hb);title(‘系统 hb[n]’); m=1:50; %定义序列的长度是 50 A=444128; %设置信号有关的参数 a=50sqrt(20)pi; T=0001; %采样率 w0=50sqrt(20)pi; x=Aexp(-amT)sin(w0mT); %pi 是 MATLAB 定义的π,信号乘可采用“ ” subplot(3,1,2);stem(x);title(‘输入信号 x[n]’); y=conv(x,hb); subplot(3,1,3);stem(y);title(‘输出信号 y[n]’); 6、卷积定律验证 k=-25:25; X=x(exp(-jpi/125))^(n’k); magX=abs(X); %绘制 x(n)的幅度谱 subplot(3,2,1);stem(magX);title(‘输入信号的幅度谱 ’); angX=angle(X); %绘制 x(n)的相位谱 subplot(3,2,2);stem(angX) ; title (‘输入信号的相位谱 ’) Hb=hb(exp(-jpi/125))^(n’k); magHb=abs(Hb); %绘制 hb(n)的幅度谱 subplot(3,2,3);stem(magHb);title(‘系统响应的幅度谱 ’); angHb=angle(Hb); %绘制 hb(n)的相位谱 subplot(3,2,4);stem(angHb) ; title (‘系统响应的相位谱 ’) n=1:99; k=1:99; Y=y(exp(-jpi/125))^(n’k); magY=abs(Y); %绘制 y(n)的幅度谱 subplot(3,2,5);stem(magY);title(‘输出信号的幅度谱 ’); angY=angle(Y); %绘制 y(n)的相位谱 subplot(3,2,6);stem(angY) ; title (‘输出信号的相位谱 ’) %以下将验证的结果显示 XHb=XHb; Subplot(2,1,1);stem(abs(XHb));title(‘x(n)的幅度谱与 hb(n)幅度谱相乘 ’); Subplot(2,1,2);stem(abs(Y);title(‘y(n)的幅度谱 ’); axis([0,60,0,8000])

这是因为,当前路径没有设置为这个函数所在的目录。

你可以打开这个函数,点击run按钮,如果不在这个目录它会提示你转到这个函数所在的目录的 。

这样就可以解决问题了。

:

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

参考资料:

-MATLAB

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13493929.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存