Matlab:如何绘制三角波

Matlab:如何绘制三角波,matlab,plot,waveform,triangular,Matlab,Plot,Waveform,Triangular,因此,我有一个Matlab函数,它创建了一系列方形脉冲,然后我对它们应用了一个噪声和一个滤波器,问题是我需要将脉冲的形式改为三角形: x = zeros(1,1000) x(100:200) = 1 x(400:500) = 1 x(700:800) = 1 plot(x) 尝试定义一个创建三角波的函数,然后使用它(或者每次手动定义)。像这样的方法应该可以很好地工作: x = zeros(1,1000); tri = @(x) [(0:(floor(x/2)-1))/floor(x/2),1

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

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


尝试定义一个创建三角波的函数,然后使用它(或者每次手动定义)。像这样的方法应该可以很好地工作:

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);
但是,我鼓励您更改问题的名称,这实际上是关于绘制什么,而不是应该使用哪个绘图函数