使用' inline'功能在同一基础上绘制不同的图形

时间:2013-02-04 13:58:30

标签: matlab plot

这是我的代码的一部分: -

t = -4 : 0.01  :4;
f = inline('(-1.5*t+1) .* ((t>-3)&(t<0)) + (1.5*t+1) .* ((t>0)&(t<3))');
plot(t, f(t), 'r','linewidth', 2);
grid on;

这里我得到的值是f(0)= 0

>> f(0)

ans =

     0

我想用f(0) = 3来绘制函数 为此,我尝试了这个

f = inline('(-1.5*t) .* ((t>-3)&(t<0)) + (3) .* (t = 0) +(t) .* ((t>0)&(t<3))');

但是当我使用相同的plot命令时,我收到错误。

plot(t, f(t), 'r','linewidth', 2);

有人能提出正确的方法吗?

2 个答案:

答案 0 :(得分:1)

错误是因为您有(t = 0),但您可能想要(t == 0)

f = inline('(-1.5*t) .* ((t>-3)&(t<0)) + (3) .* (t == 0) +(t) .* ((t>0)&(t<3))');

现在f(0)给出3

答案 1 :(得分:1)

很容易......错误是 t == 0而不是t = 0