Make Function Equal Zero After Certain Time
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
s.v.
el 4 de Abr. de 2018
Comentada: Star Strider
el 4 de Abr. de 2018
Hi all, I am in need of some help. I am trying to use if and else statements to plot the following function. Here is my current code:
HP = 60/72;
Tas = 0.105;
Elamin = 0.12;
Elamax = 0.28;
Eramin = 0.05;
Eramax = 0.15;
t = [0:0.001:HP];
if t > Tas
aa = 0;
else
aa = sin((pi*t)/Tas);
end
ela = Elamin + (Elamax - Elamin)*aa;
era = Eramin + (Eramax - Eramin)*aa;
plot(t,ela, t,era, t,aa);
Basically, I am trying to say that for 0<t<Tas, the function aa is calculated. Otherwise, the function aa = 0. Attached is the current plot I am getting if I do not include the if/else statements. Its kind of what I want, except the graph must level to around y = 0 after x = Tas (about 0.105s).
Any help is appreciated!
0 comentarios
Respuesta aceptada
Star Strider
el 4 de Abr. de 2018
Try this:
aa = @(t, Tas) sin((pi*t)/Tas) .* ((0 <= t) & (t <= Tas)); % Function, With Conditions As A Logcal Index Vector
t = linspace(-1, 1, 150); % Time Vector
Tas = 0.105;
figure
plot(t, aa(t, Tas))
grid
6 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Desktop en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!