Piecewise to Heaviside problem
Mostrar comentarios más antiguos
Hi all,
Trying to create a plot using heaviside function after being given a piecewise function. The code, I managed to get 2 different results, so I am not sure which is correct.
The piecewise function is the following:
x^2 - 1; if 0 <= x < 2
f(x) = 2x - 3; if 2 <= x < 5
sin(x); if x >= 5
My code is the following.
y = (t.^2-1).*[heaviside(t)-heaviside(t-2)]+(2.*t-3).*[heaviside(t-2)-heaviside(t-5)]+sin(t).*heaviside(t-5);
plot(t,y)
I may have made a mistake in the conversion to heaviside, and I am not so well versed in the step function, so it's a little challenging to analyze the graph to see whether or not it is correct. Any input is greatly appreciated!
1 comentario
xRah
el 26 de Nov. de 2020
Respuesta aceptada
Más respuestas (1)
syms f(x) t
f(x) = piecewise(x<0, 0, 0 <= x & x < 2, x^2 - 1, 2 <= x & x < 5, 2*x - 3, 5 <= x, sin(x));
f(t)
sympref('HeavisideAtOrigin', 1);
y = (t.^2-1).*[heaviside(t)-heaviside(t-2)]+(2.*t-3).*[heaviside(t-2)-heaviside(t-5)]+sin(t).*heaviside(t-5)
yp = rewrite(y, 'piecewise')
fplot(f(t)-y, [-1 10])
The formulas come out the same except in a different order of cases, and the difference between the two appears to be all zero
1 comentario
xRah
el 26 de Nov. de 2020
Categorías
Más información sobre Assumptions en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



