概述
满意答案
方案一、这个函数在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('正确图形')
推荐第二个方案
00分享举报
最后
以上就是含蓄耳机为你收集整理的matlab绘制频谱图代码,用MATLAB实现函数的频谱图的全部内容,希望文章能够帮你解决matlab绘制频谱图代码,用MATLAB实现函数的频谱图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复