用MATLAB实现函数的频谱图做f(t)=sin(2*pi*t)/(pi*t) 的频谱图时 老是提示一句Warning: Divide by zero.(Type "warning off MATLAB:divideByZero" to suppress this warning.怎么才能去除分母为零的情况

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 04:18:06
用MATLAB实现函数的频谱图做f(t)=sin(2*pi*t)/(pi*t) 的频谱图时 老是提示一句Warning: Divide by zero.(Type

用MATLAB实现函数的频谱图做f(t)=sin(2*pi*t)/(pi*t) 的频谱图时 老是提示一句Warning: Divide by zero.(Type "warning off MATLAB:divideByZero" to suppress this warning.怎么才能去除分母为零的情况
用MATLAB实现函数的频谱图
做f(t)=sin(2*pi*t)/(pi*t) 的频谱图时 老是提示一句Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.
怎么才能去除分母为零的情况

用MATLAB实现函数的频谱图做f(t)=sin(2*pi*t)/(pi*t) 的频谱图时 老是提示一句Warning: Divide by zero.(Type "warning off MATLAB:divideByZero" to suppress this warning.怎么才能去除分母为零的情况
方案一、这个函数在t=0处的极限是f(0)=2*pi*cos(2*pi*0)/pi=2;
故,算完之后,把t=0的点的f值替换掉就可以了.
[m,n]=find(t==0)
f(m,n)=2;
方案二、实际上,这是个辛格函数(sinc function),可以用sinc函数代替,matlab中sinc的定义为:
y = sin(pi*x)/(pi*x) if x = 0
= 1 if x == 0
所以,这里f(t)=2*sinc(2*t),就不会提示零点了
命令写为:
f=2*sinc(2*t);
方案三、关系运算运用之--求近似极限,修补图形缺口.(张志涌《精通matlab 6.5版》里面一个例子),这个方法可以用于不仅限于这个问题的方案,不过这个方案只是用于显示的结果不会去掉警告点而在图上产生缺口,不是个精确的方法,可以运行下面的命令看看效果
t=-2*pi:pi/10:2*pi;
y=sin(t)./t;
tt=t+(t==0)*eps;
yy=sin(tt)./tt;
subplot(1,2,1),plot(t,y),axis([-7,7,-0.5,1.2]),
xlabel('t'),ylabel('y'),title('残缺图形')
subplot(1,2,2),plot(tt,yy),axis([-7,7,-0.5,1.2])
xlabel('t'),ylabel('yy'),title('正确图形')
推荐第二个方案

用MATLAB实现函数的频谱图做f(t)=sin(2*pi*t)/(pi*t) 的频谱图时 老是提示一句Warning: Divide by zero.(Type warning off MATLAB:divideByZero to suppress this warning.怎么才能去除分母为零的情况 用matlab画函数sinc50*pi*t的频谱 marr函数用fft求频谱图怎么不对啊?marr函数 f=(1-t.^2).*exp(-t.^2/2),用matlab的fft求频谱图,得到的是一堆乱七八糟的点,根本不是要的道的频谱图像,为什么呢? matlab 画出采样函数的频谱图画出sinc(2*pi*t)的频谱图怎么画呀? matlab如何画出f=sinc(40*t)*cos(140*2*pi*t)的频谱图 f(t)函数频谱为f(jw),求(1-t)f(1-t)的频谱 matlab实现准周期信号x(t)=5*sin(10*t)+6*sin(20*t)+7*sin(sqrt(10)*t)的合成,并画出频谱图? 周期信号频谱的特点及MATLAB实现(选做) 关于matlab的二维正态分布用matlab的什么函数可以实现 二维正态分布 的 频谱 自相关系数 和 功率谱密度 求频谱函数所对应的时间信号f(t) δ(t)的频谱函数 matlab spectrogram stft 短时傅里叶变化 频谱图请问哪位大神能帮帮我怎么用matlab的spectrogram函数啊, 请问用matlab怎麼求这个函数的频谱!Cos2πf(t+Φ0) π这个是派 圆周率那个 Φ0 ,0是在右下角的 麻烦快告诉一下 代码怎麼写! 我要用matlab对x(t)=exp(-t)u(t)做FFT的频谱分析,程序应该如何写? Matlab 用数值方法近似计算三角波信号的频谱,代码有问题,试用数值方法近似计算三角波信号的频谱图示三角波可表示为:f1(t)=(1-|t|)[u(t+1)-u(t-1)]三角波信号频谱的理论值为:F(jw)=Sa²(w/2)funct 如何在matlab里面实现对y=sin( t)的傅里叶变换?求代码,包括y、t的定义部分,我用fourier函数做不出来 用自相关函数去噪,然后做傅立叶变换,得到频谱图,和原始信号的频谱图有啥差别?我做的为什么幅值大好多 怎么用matlab画出x=exp(-2*abs(t))的频谱?直接来代码吧.