How to make a ramp function that start in point a and finish in point b. [a,b]. And with value 0 outside the interval

12 Ansichten (letzte 30 Tage)
I want to build a ramp function that start from point a
and finish in point b. [a,b]
I have constructed a code of a ramp functon that starts from 0 and finish in point b.[0,b].
this is the code:
hold on
b =2 % time in wich the ramp finish
a=1 %time in which the ramp start
t = [0:0.01:15]'; %timespan of the ramp function
for impAmp = [3 5 10] . %height of the ramp
function
rampOn = @(t) t<=b;
ramp =@(t) t.*impAmp.*rampOn(t);
plot(t,ramp(t))
end
But I want to define a new code of the ramp function defined in the interval [a,b]. And a value of 0 outside the interval.
I have tried this code. But it modified all the ramp function.
hold on
b =2 % time in wich the ramp finish
a=1 %time in which the ramp start
t = [0:0.01:15]';%timespan of the ramp function
for impAmp = [3 5 10]%height of the ramp function
rampOn = @(t) a<t<=b;
ramp =@(t) t.*impAmp.*rampOn(t);
plot(t,ramp(t))
end

Antworten (1)

Siriniharika Katukam
Siriniharika Katukam am 10 Okt. 2019
Hi
A small modification in the code you defined for the interval [a,b].
Using this line would yield you the expected result.
rampOn = @(t) t>=a & t<=b;

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by