在MATLAB中绘制三角形

时间:2014-11-12 06:14:26

标签: matlab convolution

我想根据Matlab中的方程绘制一个三角形。

我为我的三角形创建了等式g,我需要稍后将其用于卷积。

下图是我想要绘制的简单三角形

enter image description here

但是我的代码产生了这个:

enter image description here

我的问题是,如何让对方斜坡?在我的三角形顶部不会返回1之后。如果我想把它变成三角形

这是我的代码:

%%Declaration
dt = 0.001 ;

%Equation for h(t) as rect function
T = -1: dt: 3;
g = 0.*(T>= -1 & T< -0) + (-2*T).*(T>= 0 & T<=1) + 0.*(T> 1& T<=3) ;

%Triangle at Graph(g) is at negative side, so need to turn at positive side 
h= abs(g);

%Plot Graph(G) in declaration of Graph(h) in absoulute value

plot(T,h);ylim([0 2.5]);ylabel('Triangular,h');xlabel('Time (Second)'); title('Figure 2(a)')

1 个答案:

答案 0 :(得分:1)

查看h的等式,您有三个部分。您的图表中还有三个部分。第一部分和最后一部分是0,第二部分是增加的部分。

h = 0.*(T>= -1 & T< 0) + (2*T).*(T>= 0 & T<=1) + 0.*(T> 1& T<=3);

因此,第1部分介于-1和0之间,等于0即0.*(T>= -1 & T< 0),第2部分介于0和1之间,并且是正增加线,其中梯度2在y轴处与y轴交叉,即y = y = 2x的mx + c等式,在您的情况下,y为h,x为T,因此为(2*T).*(T>= 0 & T<=1)

所以现在你所需要的只是向下倾斜的等价物。它从(1,2)向下倾斜到(2,0),给出方程y = -2x + 4,所以我们最终得到

h = 0.*(T>= -1 & T< 0) + (2*T).*(T>= 0 & T<=1) + (-2*T + 4).*(T> 1 & T<=2)  + 0.*(T> 2 & T<=3);