Piecewise function with function input?

5 vues (au cours des 30 derniers jours)
Jose Sarmento
Jose Sarmento le 27 Avr 2020
Commenté : Star Strider le 28 Avr 2020
Hello, I'm trying something really simple but I can't seem to make it work on matlab. There's these functions:
kHz,
V , and
s.
I want to plot and between 0 and 2 ms. I've tried piecewise, using functions, syms, but I just can't never seem to make it work. Suggestions?

Réponse acceptée

Star Strider
Star Strider le 28 Avr 2020
I hope this is not homework. If it is, you cannot ethically use this solution.
Break it up into its component functions, then use logical indexing for the threshold condition:
f = 1E+3;
vr = 0.72;
tau = 1;
vi = @(t) sin(2*pi*f*t);
vd = @(t,vr) (1-vi(t)).*(vi(t)>vr);
vo = @(t) vd(t,vr).*exp(-t/tau);
t = linspace(0, 2, 150)*1E-3;
figure
plot(t, vi(t), t, vo(t))
grid
That ran without error. Check it to be certain it matches the functions.
  4 commentaires
Jose Sarmento
Jose Sarmento le 28 Avr 2020
That made a lot of sense, thank you so much!
Star Strider
Star Strider le 28 Avr 2020
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by