How to display Intersection of two graphs
3 views (last 30 days)
Show older comments
Austen Thomas
on 15 Mar 2018
Commented: David Lont
on 28 Mar 2020
I am writing a code and plotting to set of equations against each other T_R and T_A. How can you make it so it disaplys the point where the two lines intersect?
I have attached the code and a picture of the graph thanks to anyone who can help
3 Comments
David Lont
on 28 Mar 2020
Thank you! This is very useful as I believe it is the same exact assigment I have with Dr. Ro at WMU in spring of 2020.
Accepted Answer
Star Strider
on 15 Mar 2018
You need to create ‘T_A’ and ‘T_R’ as anonymous functions. After that, you can use fzero to calculate the intersection.
The Code —
S = 135.2; % ft^2
b = 35.5; % ft
C_D0 = 0.019;
e = 0.83;
W = 3000; % lbs
P_SSL = 195 * 0.85; %hp
rho_SSL = 0.002377;
AR = 9.321;
K = 1/(pi*e*AR);
hG = 1;
rho = 0.002377;
v = 40:10:750;
q = @(v) 0.5 * rho * v.^2;
C_L = @(v) W ./ (q(v) * S);
Dp = @(v) q(v) * S * C_D0;
Di = @(v) q(v) * S * K .* C_L(v).^2;
T_R = @(v) Dp(v) + Di(v);
P_A = P_SSL * (1.132 * (rho / rho_SSL) - 0.132);
T_A = @(v) (P_A * 550) ./ v;
v_int = fzero(@(v) T_R(v) - T_A(v), 300);
plot(v, T_R(v), v, T_A(v))
hold on
plot(v_int, T_R(v_int), 'pg', 'MArkerFaceColor','g', 'MarkerSize',8)
hold off
grid
xlabel('v')
legend('T_R', 'T_A')
text(v_int+20, T_R(v_int)+20, sprintf('\\leftarrow (%.1f, %.1f)', v_int, T_R(v_int)), 'HorizontalAlignment','left', 'VerticalAlignment','middle')
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!