Add 2 trigonometric functions, with conditions

3 views (last 30 days)
Greeting to all,
I am trying to add graphically 2 trigonometric functions:
  1. f(x)=a*sin(k*x), graphicaly displayed only for positive value (≥0)
  2. g(x)=b*cos(m*x+d), graphicaly displayed only for negative value (≤0)
Thanks

Accepted Answer

Sam Chak
Sam Chak on 22 Sep 2022
Edited: Sam Chak on 26 Sep 2022
Are you trying to plot the addition of two sinusoidal functions, even when there are discontinuities?
x = linspace(-1, 1, 2001);
a = 1;
b = 1;
k = pi;
m = pi;
d = 0;
f = sin(k*x);
g = cos(m*x + d);
fp = f.*(f > 0);
gn = g.*(g < 0);
% Plot
subplot(221)
plot(x, f), grid on, ylim([-1.5 1.5]), title({'$f(x)$'}, 'interpreter', 'latex')
subplot(223)
plot(x, g), grid on, ylim([-1.5 1.5]), title({'$g(x)$'}, 'interpreter', 'latex')
xlabel({'$x$'}, 'interpreter', 'latex')
subplot(222)
plot(x, fp, x, gn), grid on, ylim([-1.5 1.5]), title({'$f^{+}(x)$ and $g^{-}(x)$'}, 'interpreter', 'latex')
legend({'$f^{+}(x)$', '$g^{-}(x)$'}, 'interpreter', 'latex', 'location', 'northwest')
subplot(224)
plot(x, fp + gn), grid on, ylim([-1.5 1.5]), title({'$f^{+}(x) + g^{-}(x)$'}, 'interpreter', 'latex')
xlabel({'$x$'}, 'interpreter', 'latex')

More Answers (2)

Panagiotis Arvanitis
Panagiotis Arvanitis on 26 Sep 2022
Thank you Sam Chak,
Yes, I am trying to add two functions with discontinuities.
I didn't get the same output graph, both positive and negative values appeared.
x = linspace(-0.5, 4, 2001);
a = 1;
b = 1;
k = pi;
m = pi;
d = 0.25;
f = sin(k*x);
g = cos(m*x + d);
% Plot
plot(x, f, x, g, x, f+g), grid on, ylim([-2 2])
xlabel({'$x$'}, 'Interpreter', 'LaTeX'),
ylabel({'$y$'}, 'Interpreter', 'LaTeX'),
legend({'$x$'}, 'Interpreter', 'LaTeX', 'FontSize', 14, 'Location', 'Northwest')
  1 Comment
Sam Chak
Sam Chak on 26 Sep 2022
I have fixed the code in my Answer.
Please check if that that is the signal desired.

Sign in to comment.


Panagiotis Arvanitis
Panagiotis Arvanitis on 26 Sep 2022
I appriciate your hepl!!. It works
Thank you

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!