Matlab:如何绘制三角波

时间:2014-05-16 06:17:17

标签: matlab plot waveform triangular

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

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

1 个答案:

答案 0 :(得分: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);

但是,我会鼓励你更改问题的名称,这实际上是关于要绘制的内容而不是你应该使用的绘图功能。