Plotting multiple piecewise functions onto the same graph

14 Ansichten (letzte 30 Tage)
Hi!
I'm new to the program and i've been trying to plot two piecewise functions,
y(x) = piecewise(0<x<1.85, sin(523.26*pi*x), 1.85<x<3.7, 0, 3.7<x<5.55, sin(523.26*pi*x), 5.55<x<7.4, 0, 7.4<x<9.25, sin(523.26*pi*x));
and
y2(x) = piecewise(0<x<1.63, sin(463.08*pi*x), 1.63<x<3.26, 0, 3.26<x<4.89, sin(463.08*pi*x), 4.89<x<6.52, 0, 6.52<x<8.15, sin(463.08*pi*x));
onto the same graph, but i can't get the coding right. Would anyone be able to help?
Thank you so much in advance
  2 Kommentare
darova
darova am 21 Aug. 2019
Maybe you have some coding so we can correct it?
Margherita Carlon
Margherita Carlon am 21 Aug. 2019
Oh absolutely,
I couldn't find any support for this specific case but what I tried was this (which is probably way off:
syms y1(x)
y1(x) = piecewise(0<x<1.85, sin(523.26*pi*x), 1.85<x<3.7, 0, 3.7<x<5.55, sin(523.26*pi*x), 5.55<x<7.4, 0, 7.4<x<9.25, sin(523.26*pi*x));
fplot(y1)
hold on
syms y2(x)
y2(x) = piecewise(0<x<1.63, sin(463.08*pi*x), 1.63<x<3.26, 0, 3.26<x<4.89, sin(463.08*pi*x), 4.89<x<6.52, 0, 6.52<x<8.15, sin(463.08*pi*x));
fplot(y2)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Star Strider
Star Strider am 21 Aug. 2019
I coded and ran ‘y1’ as:
y1 = @(x) ((0<x) & (x<1.85)).*sin(523.26*pi*x) + ((1.85<x) & (x<3.7)).*0 + ((3.7<x) & (x<5.55)).*sin(523.26*pi*x) + ((5.55<x) & (x<7.4)).*0 + ((7.4<x) & (x<9.25)).*sin(523.26*pi*x);
t = linspace(-5, 20, 500);
figure
plot(t, y1(t))
grid
Do the same for ‘y2’. Choose as many points as you want for ‘t’.
  4 Kommentare
Margherita Carlon
Margherita Carlon am 22 Aug. 2019
Oh I see!! Now it works perfectly :)
do you happen to have any tips on how to change the number of points for t? Given it's really high-frequency, the mapped function dosen't look too sinusoidal anymore...
Star Strider
Star Strider am 22 Aug. 2019
Change the third argument in the linspace function to change the number of points it creates. (The default number is 100.) See the documentation section on Vector with Specified Number of Values.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by