How to show the intersection points of three functions?

How can I show the intersection points of three functions in my Plot? I really can’t figure it out.

LogPlot[{(4.058*10^31)/M, (1.647*10^60)/M^2 , M}, {M, 0, 2*10^20},
PlotRange -> {10^9, 10^21} , Filling -> 3 -> Axis,
AxesLabel -> {Subscript[M, U], Subscript[“Λ”, U]}]

=================

  

 

Solve,and then Epilog.Or MeshFunctions
– Apple
Jul 2 ’14 at 8:35

  

 

forgive my ignorance but I dont know why it is not working Solve[[CapitalLambda] == (4.058*10^31)/M && [CapitalLambda] == ( 1.647*10^60)/M^2 && [CapitalLambda] == M, {[CapitalLambda], M}]
– user16277
Jul 2 ’14 at 8:46

  

 

Because the three points of intersection are spaced so many orders of magnitude apart, I don’t see how a meaningful visualization can be achieved with a single LogPlot.
– m_goldberg
Jul 2 ’14 at 11:19

=================

3 Answers
3

=================

Like said in the comments, use Solve and Epilog.

sel = First[Select[Cases[#1, _Real], #1 > 0 &]] &;
pts = {#, Log@#} & /@ {sel[M /. Solve[(1.647*10^60)/M^2 == M, M]],
sel[M /. Solve[(4.058*10^31)/M == M, M]]};
LogPlot[{(4.058*10^31)/M, (1.647*10^60)/M^2, M}, {M, 0, 2*10^20},
Epilog -> {Red, PointSize@.02, Point@pts}]

p1 = {M, Log[(4.058 10^31)/M]} /.
Solve[(4.058 10^31)/M == M && M > 0, Reals]

{{6.37024*10^15, 36.3904}}

p2 = {M, Log[(1.647 10^60)/M^2]} /.
Solve[(1.647 10^60)/M^2 == M && M > 0, Reals]

{{1.18095*10^20, 46.218}}

p3 = {M, Log[(1.647 10^60)/M^2]} /.
Solve[(1.647 10^60)/M^2 == (4.058 10^31)/M && M > 0, Reals]

{{4.05865*10^28, 6.9076}}

plot = LogPlot[
{(4.058 10^31)/M, (1.647 10^60)/M^2, M}, {M, 0, 2 10^20},
PlotRange -> {10^9, 10^21},
Filling -> 3 -> Axis,
AxesLabel -> {Subscript[M, U], Subscript[“Λ”, U]},
Epilog -> {PointSize[Large], Red,
Sequence @@ Point /@ p1,
Sequence @@ Point /@ p2,
Sequence @@ Point /@ p3}
]

  

 

Your epilog can be better written as Epilog -> {PointSize[Large], Red, Point @@@ {p1, p2, p3}} or even Epilog -> {PointSize[Large], Red, Point @ Join[p1, p2, p3]}. Also, since p3 is way off the visible part of the x-axis, you might as well leave it out.
– m_goldberg
Jul 2 ’14 at 11:15

I really don’t see how the three points of intersection can reasonably be displayed on one plot. I would do it with three.

{p1, p2, p3} = {{6.37024*10^15, 36.3904}, {1.18095*10^20, 46.218}, {4.05865*10^28, 6.9076}};

plot = LogPlot[{(4.058 10^31)/M, M}, {M, 0, 10 ^16},
PlotRange -> {10^14, 10^17},
AxesLabel -> {Subscript[M, U], Subscript[“Λ”, U]},
Epilog -> {PointSize[Large], Red, Point@p1}]

plot = LogPlot[{(1.647 10^60)/M^2, M}, {M, 0, 5 10 ^20},
PlotRange -> {10^18, 10^21},
AxesLabel -> {Subscript[M, U], Subscript[“Λ”, U]},
Epilog -> {PointSize[Large], Red, Point@p2}]

plot = LogPlot[{(4.058 10^31)/M, (1.647 10^60)/M^2}, {M, 3 10 ^28, 5 10 ^28},
PlotRange -> 10^5,
AxesLabel -> {Subscript[M, U], Subscript[“Λ”, U]},
Epilog -> {PointSize[Large], Red, Point@p3}]