Resolver desigualdad con parámetro
Quiero resolver la desigualdad
$m<700000log((m-1)a)+3 $
Dónde $a$ es un entero positivo, conozco el comando cuando no hay ningún parámetro en la desigualdad, pero no lo sé para el caso del parámetro. (a es el parámetro)
Quiero el comando para la desigualdad anterior.
Respuestas
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] *)
Para encontrar una solución aproximada
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} *)
La solución aproximada es 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]]
Usando una variación de la sustitución de @ BobHanlon, podemos encontrar un resultado analítico para el intervalo. Los límites del intervalo se calculan a partir de la siguiente ecuación:
eq = m == 700000Log[(m-1)a] + 3
m == 3 + 700000 Log [a (-1 + m)]
Sustituyendo:
eq2 = eq /. m -> 1 + x/a
1 + x / a == 3 + 700000 Log [x]
Resulta que Solvepuede manejar esta ecuación:
xsol = x /. First @ Solve[eq2, x, InverseFunctions->True]
-700000 a ProductLog [- (1 / (700000 a E ^ (1/350000)))]
y así mviene dado por:
msol = 1 + xsol/a
1 - 700000 ProductLog [- (1 / (700000 a E ^ (1/350000)))]
Ahora, ProductLogtiene varios valores y las diferentes ramas se determinan utilizando la versión de dos argumentos. Entonces, las soluciones reales son:
min = msol /. ProductLog[z_] -> ProductLog[0, z];
max = msol /. ProductLog[z_] -> ProductLog[-1, z];
y entonces la desigualdad es:
ineq = min < m < max
1 - 700000 ProductLog [- (1 / (700000 a E ^ (1/350000)))] <m <1 - 700000 ProductLog [-1, - (1 / (700000 a E ^ (1/350000)))]
Comprobemos a=10.:
Block[{a = 10.}, ineq]
1,1 <m <1,30826 * 10 ^ 7
Comparemos con resolver la desigualdad original con a=10.:
Block[{a = 10.},
Reduce[m < 3 + 700000 Log[(m-1)a] + 3, m, Reals]
]
Reduce :: ratnz: Reduce no pudo resolver el sistema con coeficientes inexactos. La respuesta se obtuvo resolviendo un sistema exacto correspondiente y numerando el resultado.
1,1 <m <1,30826 * 10 ^ 7