0

所以我有一个 Matlab 函数,它创建一系列方形脉冲,然后我在它们上应用噪声和一个滤波器,问题是我需要将脉冲的形式更改为三角形形式:

x = zeros(1,1000)
x(100:200) = 1
x(400:500) = 1
x(700:800) = 1
plot(x)
4

1 回答 1

1

尝试定义一个创建三角波的函数,然后使用它(或每次手动定义)。这样的事情应该可以正常工作:

x = zeros(1,1000);
tri = @(x) [(0:(floor(x/2)-1))/floor(x/2),1,((floor(x/2)-1):-1:0)/floor(x/2)];
x(100:200) = tri(101);
x(400:500) = tri(101);
x(700:800) = tri(101);
plot(x)

如果这不是您所要求的,例如,如果您的意思是想要锯齿波,那么您应该检查该sawtooth功能,尝试:

x = 0:0.1:15;
y=sawtooth(x,0.5);
plot(x,y);

但是,我鼓励您更改问题的名称,这实际上是关于要绘制什么而不是您应该使用哪个绘图功能。

于 2014-05-16T12:22:32.717 回答