Add 2 trigonometric functions, with conditions
3 views (last 30 days)
Show older comments
Panagiotis Arvanitis
on 22 Sep 2022
Answered: Panagiotis Arvanitis
on 26 Sep 2022
Greeting to all,
I am trying to add graphically 2 trigonometric functions:
- f(x)=a*sin(k*x), graphicaly displayed only for positive value (≥0)
- g(x)=b*cos(m*x+d), graphicaly displayed only for negative value (≤0)
Thanks
0 Comments
Accepted Answer
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')
0 Comments
More Answers (2)
Panagiotis Arvanitis
on 26 Sep 2022
1 Comment
Sam Chak
on 26 Sep 2022
I have fixed the code in my Answer.
Please check if that that is the signal desired.
See Also
Categories
Find more on Interactive Control and Callbacks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!