매개 변수로 부등식 풀기

Sep 08 2020

불평등을 해결하고 싶다

$m<700000log((m-1)a)+3 $

어디 $a$ 부등식에 매개 변수가 없을 때 명령을 알고 있지만 매개 변수의 경우는 알지 못합니다. (a는 매개 변수입니다)

위의 불평등에 대한 명령을 원합니다.

답변

1 BobHanlon Sep 08 2020 at 19:29
Reduce[{m < 700000 Log[(m - 1) a] + 3, Element[a, PositiveIntegers]}, m]

(* Reduce::nsmet: This system cannot be solved with the methods available to Reduce.

Reduce[{m < 3 + 700000 Log[a (-1 + m)], a ∈ Integers && a > 0}, m] *)

대략적인 솔루션을 찾으려면

data = Table[{a, 
   m /. FindRoot[700000 Log[(m - 1) a] + 3 - m == 0, {m, 1 + 1/a}]}, {a, 20}]

(* {{1, 2.}, {2, 1.5}, {3, 1.33333}, {4, 1.25}, {5, 1.2}, {6, 1.16667}, {7, 
  1.14286}, {8, 1.125}, {9, 1.11111}, {10, 1.1}, {11, 1.09091}, {12, 
  1.08333}, {13, 1.07692}, {14, 1.07143}, {15, 1.06667}, {16, 1.0625}, {17, 
  1.05882}, {18, 1.05556}, {19, 1.05263}, {20, 1.05}} *)

(nlm = NonlinearModelFit[data, 1 + 1/a + ϵ, {ϵ}, a]) // Normal

(* 1. + 1/a *)

nlm["BestFitParameters"]

(* {ϵ -> -3.99951*10^-7} *)

대략적인 솔루션은 다음과 같습니다. m > 1 + 1/a

Plot[Evaluate@
  Table[700000 Log[(m - 1) a] + 3 - m, {a, 5, 1, -1}],
 {m, 1, 5}, PlotLegends -> Range[5, 1, -1]]

1 CarlWoll Sep 08 2020 at 20:04

@BobHanlon의 대체 변형을 사용하여 간격에 대한 분석 결과를 찾을 수 있습니다. 간격의 경계는 다음 방정식에서 계산됩니다.

eq = m == 700000Log[(m-1)a] + 3

m == 3 + 700000 로그 [a (-1 + m)]

대체 :

eq2 = eq /. m -> 1 + x/a

1 + x / a == 3 + 700000 Log [x]

Solve이 방정식을 처리 할 수있는 것으로 밝혀졌습니다 .

xsol = x /. First @ Solve[eq2, x, InverseFunctions->True]

-700000 a ProductLog [-(1 / (700000 a E ^ (1/350000)))]

그래서 m다음 과 같이 주어진다 :

msol = 1 + xsol/a

1-700000 ProductLog [-(1 / (700000 a E ^ (1/350000)))]

이제, ProductLog다중되고, 다른 지점은 두, 인수 버전을 사용하여 결정됩니다. 따라서 실제 솔루션은 다음과 같습니다.

min = msol /. ProductLog[z_] -> ProductLog[0, z];
max = msol /. ProductLog[z_] -> ProductLog[-1, z];

따라서 불평등은 다음과 같습니다.

ineq = min < m < max

1-700000 ProductLog [-(1 / (700000 a E ^ (1/350000)))] <m <1-700000 ProductLog [-1,-(1 / (700000 a E ^ (1/350000)))]

확인합시다 a=10.:

Block[{a = 10.}, ineq]

1.1 <m <1.30826 * 10 ^ 7

원래 불평등을 해결하는 것과 비교해 봅시다 a=10..

Block[{a = 10.},
    Reduce[m < 3 + 700000 Log[(m-1)a] + 3, m, Reals]
]

Reduce :: ratnz : Reduce는 계수가 정확하지 않은 시스템을 풀 수 없습니다. 답은 해당하는 정확한 시스템을 풀고 결과를 수치화하여 얻었습니다.

1.1 <m <1.30826 * 10 ^ 7