Вы можете сделать это
With[{m=4.5,M=5},
Map[Reduce[#,x]&,
{m<=-2035.5111 + 561.33713 x -51.262777 x^2 + 1.5534175 x^3<=M && 10<=x<=11,
m<=-2035.5111 + 561.33713 x - 51.262777 x^2 + 1.5534175 x^3<=M && 11<=x<=12,
m<=7158.3214 - 1737.121 x + 140.2754 x^2 - 3.7670874 x^3<=M && 12<=x<=13,
m<=-11037.276 + 2461.863 x - 182.72337 x^2 + 4.5149323 x^3<=M && 13<=x<=14,
m<=9375.4483 - 1912.2922 x + 129.71629 x^2 - 2.9241071 x^3<=M && 14<=x<=15,
m<=-38343.961 + 7035.097 x - 429.49554 x^2 + 8.7261392 x^3<=M && 15<=x<=16,
m<=45546.119 - 7769.0348 x + 441.33575 x^2 - 8.348984 x^3<=M && 16<=x<=17,
m<=-24547.41 + 3913.2201 x - 207.67842 x^2 + 3.6697968 x^3<=M && 17<=x<=18,
m<=-24547.41 + 3913.2201 x - 207.67842 x^2 + 3.6697968 x^3<=M && 18<=x<=19}
]]
, что даст вам это
{x == 10. || 10.554622537850287<=x<=10.799264882501637,
False,
12.437932301023451<=x<=12.565380177021947,
13.489415750912576<=x<=13.655683693607168,
14.254978447526584<=x<=14.383489034636659,
15.243856830113526<=x<=15.265292288384687,
16.544981470615802<=x<=16.568935210200074,
17.897288052000384<=x<=18.,
18.<=x<=18.00034993487379 || 18.49992074750174<=x<=18.64596353629056}
, где каждая строка этого соответствует нулю или более решений с соответствующим уравнением в вашем s (x).
Вы можете сравнить это решение с этим графиком
Show[
Plot[Piecewise[{
{-2035.5111 + 561.33713 x -51.262777 x^2 + 1.5534175 x^3,10<=x<=11},
{ -2035.5111 + 561.33713 x - 51.262777 x^2 + 1.5534175 x^3,11<=x<=12},
{ 7158.3214 - 1737.121 x + 140.2754 x^2 - 3.7670874 x^3,12<=x<=13},
{ -11037.276 + 2461.863 x - 182.72337 x^2 + 4.5149323 x^3,13<=x<=14},
{ 9375.4483 - 1912.2922 x + 129.71629 x^2 - 2.9241071 x^3,14<=x<=15},
{ -38343.961 + 7035.097 x - 429.49554 x^2 + 8.7261392 x^3,15<=x<=16},
{ 45546.119 - 7769.0348 x + 441.33575 x^2 - 8.348984 x^3,16<=x<=17},
{ -24547.41 + 3913.2201 x - 207.67842 x^2 + 3.6697968 x^3,17<=x<=18},
{ -24547.41 + 3913.2201 x - 207.67842 x^2 + 3.6697968 x^3,18<=x<=19}}],{x,10,19}],
Plot[{4.5,5},{x,10,19}]
]
и посмотреть на отрезки между y == 4.5 и y == 5, и оно кажется совпадающим.
В зависимости от того, что вы хотите сделать с этим, можно было бы превратить все это в один дизъюнкт, поместив Or@@
перед With
и объединить альтернативы, такие как
17.897288052000384 <= x <= 18. || 18. <= x <= 18.00034993487379
в
17.897288052000384 <= x <= 18.00034993487379
с использованием замены сопоставления с образцом.
Это отображает сообщения о том, что Reduce необходимо превратить ваши десятичные числа в рациональные, чтобы иметь возможность использовать соответствующие алгоритмы, но если это единственные алгоритмысообщения, тогда это должно быть безопасно, чтобы принять те.Все сообщения должны внимательно просматриваться.
Проверьте это очень внимательно, указав фактические значения m и M, чтобы быть абсолютно уверенным, что это правильно.