【问题标题】:Matlab: how to plot a triangular waveMatlab:如何绘制三角波
【发布时间】:2014-05-16 06:17:17
【问题描述】:

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

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

【问题讨论】:

    标签: matlab plot waveform triangular


    【解决方案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);
    

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

    【讨论】:

      猜你喜欢
      • 2021-02-01
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多