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
    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 that you have read and understand our privacy policy and code of conduct.

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