matlab作三角波图像,图像为什么失真了?怎么作不失真的图像?
程序为t=0:0.01:0.4;f=10;y=sawtooth(2*pi*f*(t+0.025),0.5);plot(t,y)gridon关键改变平移的坐标又不失真了程序...
程序为
t=0:0.01:0.4;
f=10;
y=sawtooth(2*pi*f*(t+0.025),0.5);
plot(t,y)
grid on
关键改变平移的坐标又不失真了
程序
t=0:0.01:0.4;
f=10;
y=sawtooth(2*pi*f*(t+0.05),0.5);
plot(t,y)
grid on 展开
t=0:0.01:0.4;
f=10;
y=sawtooth(2*pi*f*(t+0.025),0.5);
plot(t,y)
grid on
关键改变平移的坐标又不失真了
程序
t=0:0.01:0.4;
f=10;
y=sawtooth(2*pi*f*(t+0.05),0.5);
plot(t,y)
grid on 展开
2个回答
展开全部
用fplot,不用plot。
plot是按给定间隔来画点、联线,在曲率变化大的地方会有这个问题。
fplot则是按函数变化快慢来自动分配取点间隔。
plot是按给定间隔来画点、联线,在曲率变化大的地方会有这个问题。
fplot则是按函数变化快慢来自动分配取点间隔。
追问
具体怎么改呢?要用到句柄?麻烦你了
追答
简单点,自己把采样点加密,从0.01-->0.001,别的不变,可以得到希望的结果;
采样点密度是0.01,平移了0.025,那么最小的0.005处就不可能取到采样点,所以没有尖峰。
这个还不能用fplot函数,因为sawtooth是matlab自带的一个函数,如果要用fplot,得要自己把sawtooth重新写个函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询