绘制斜坡功能

时间:2014-11-06 04:20:13

标签: matlab

我试图在MATLAB中绘制斜坡函数。 我的斜坡有以下功能:

function [ y ] = ramp(x)
    y=zeros(size(x));
    y(x>=0)=linspace(0,x(end),length(x(x>=0)))
end

但是,我希望它具有与我的步进功能类似的效果

syms x
ezplot(5*heaviside(x-1), [-10, 10])

当我使用此代码时:

 syms x
 ezplot(5*ramp(x-1), [-10, 10])

当我做(x-1)时,它似乎抛出一个不可能的错误,我可以要求一些修改吗?:

Cannot prove '0 <= x - 1' literally. To test the statement mathematically,
use isAlways.

1 个答案:

答案 0 :(得分:0)

您的阶梯函数图使用符号变量x的函数。但ramp,你编写它的方式,是一个期望数字输入(x值的向量)的函数。这就是为什么你尝试将符号x传递给它失败了。以下是绘制此函数的正确方法:

x = linspace(-10,10,100);
plot(x, 5*ramp(x-1))

或者,您可以将ramp重写为符号变量的函数:

function  y  = symbramp(x)
    y = (x+abs(x))/2;
end

并按照你对Heaviside所做的绘制:

syms x
ezplot(5*symbramp(x-1), [-10,10])