MATLAB Answers

How to show the plot with the highest value?

2 views (last 30 days)
This question was flagged by Star Strider
Hey! How am I supposed to only show the plot with the highest values for h. The graph should show the plot with abs(T1) first and then change to abs(T2) when they intersect and abs(T2) get higher than abs(T1). With the following code I get both plots in all values
plot(h,abs(T1),'b')
hold on
plot(h,abs(T2),'g')
Thanks!

  6 Comments

Show 3 older comments
Rik
Rik on 22 Oct 2020
Question originally posted by [User], restored from Google cache (I included the name in case this is an attempt to avoid cheat detection, if someone with editing privileges disagrees, feel free to remove the name and this remark from my comment):
How to show the plot with the highest value?
Hey! How am I supposed to only show the plot with the highest values for h. The graph should show the plot with abs(T1) first and then change to abs(T2) when they intersect and abs(T2) get higher than abs(T1). With the following code I get both plots in all values
plot(h,abs(T1),'b')
hold on
plot(h,abs(T2),'g')
Thanks!
Walter Roberson
Walter Roberson on 25 Oct 2020
(Mathworks says we have to remove names upon request. Legal reasons, I guess.)

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 22 Oct 2020
One approach would be ‘logical indexing’:
h = linspace(0,25);
T1 = 20 - h;
T2 = 10 + h;
Lv = abs(T2) > abs(T1); % Logical Index Vector
figure
plot(h,abs(T1),'b', 'LineWidth',2)
hold on
plot(h,abs(T2),'g', 'LineWidth',2)
plot(h(~(Lv)),abs(T1(~Lv)), '--r', 'LineWidth',1.0)
plot(h(Lv),abs(T2(Lv)), '--r', 'LineWidth',1.0)
hold off
Experiment to get the result you want.

  0 Comments

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 22 Oct 2020
plot(h,max(abs(T1),abs(T2)))

  0 Comments

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!

Translated by