所以我有一个Matlab函数创建了一系列方波脉冲,然后我在它们上面应用了一个噪声和一个滤波器,问题是我需要将脉冲的形式改为三角形:
x = zeros(1,1000)
x(100:200) = 1
x(400:500) = 1
x(700:800) = 1
plot(x)
答案 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);
但是,我会鼓励你更改问题的名称,这实际上是关于要绘制的内容而不是你应该使用的绘图功能。