1
$\begingroup$
m[t_] := -50 Sin[0.214068 (t - 35.1493)] + 50
Solve[-50 Sin[0.214068 (t - 35.1493)] + 50 == 100 && 
  0 <= t <= 365, t, Reals]

Out[288]= {}

$\endgroup$

2 Answers 2

6
$\begingroup$

Make the numbers exact:

m[t_]:=-50 Sin[0.214068 (t-35.1493)]+50;
Solve[Rationalize[m[t]]==100&&0<=t<=365,t,Reals]

Mathematica graphics

Solve should really be used with exact numbers. Otherwise, use NSolve

 NSolve[m[t] == 100 && 0 <= t <= 365, t, Reals]

Mathematica graphics

$\endgroup$
1
  • $\begingroup$ NSolve loses some roots. $\endgroup$
    – user64494
    Commented Aug 23, 2021 at 19:17
1
$\begingroup$

The use of Reduce instead of Solve does the job.

Reduce[-50 *Sin[0.214068 *(t - 35.1493)] + 50 == 100 && 0 <= t <= 365, t, Reals] // Simplify

C[1] \[Element] Integers && ((0 <= C[1] <= 11. && t == 27.8115 + 29.3514 C[1]) || (-1. <= C[1] <= 10. && t == 57.1628 + 29.3514 C[1]))

The output shows that each root has multiplicity two. The Reals domain in the above may be omitted.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.