I have such a code:
θ[x_] := Boole[x >= 0]
{T, Um} := {10^(-3), 10};
{t1, t2, t3} := {T/2, T/3, T/6};
u1[t_] := Um/t3(tθ[t] - (t - t3) θ[t - t3] - (t - t2) θ[t - t2] + (t - t1) θ[t - t1])
U1[s_] := LaplaceTransform[u1[t], t, s]
A1[ω_] := Abs[U1[s]] /. s -> I*ω
NCriterion := 1/10
A1max := Limit[A1[ω], ω -> 0]
ωPetal = Solve[A1[ω] == 0 && ω ∈ Interval[{10000, 20000}], ω][[1]];
ωPetal
ωNCriterion = Solve[A1[ω] == A1max*NCriterion && ω ∈ Interval[{10000, 20000}], ω][[1]];
ωNCriterion
When processing ωPetal everything is okay but when processing ωNCriterion I get a warning:
Solve was unable to prove that the solution set found is complete
and some strange output:
Why I observe such a behaviour of system and how do I make it process ωNCriterion as good as ωPetal? Thanks in advance.
Update: I need exact root value like {ω → 5246π}, not approximation like 16480.3, which I get with NSolve[] and FindRoot[].



Solve[]gives up and how do I get exact root value as{ω → 5246π}or something like that? – Cpp Nosavvier May 13 '21 at 13:42Root[..]is the exact answer. See the answers here for more aboutRoot[]objects. – Michael E2 May 13 '21 at 14:20