a+b
равно (x * t - 2 * x) + (v - x^2)
, что является просто квадратом в x
, поэтому вы можете аналитически решить a+b>3000
для x
, v
и t
.
Неравенство равно x^2 + (2-t)x + (3000-v) < 0
.
Подставим T = 2-t
и V = 3000-v
, затем x^2 + Tx + V < 0
.
Для того, чтобы любые значения были меньше нуля, он должен иметь два действительных корня,что означает, что T^2 - 4V > 0
- то есть V < (T^2)/4
. (https://en.wikipedia.org/wiki/Quadratic_formula)
Учитывая T
и V
, удовлетворяющие этому неравенству, значения x
, для которых a+b>3000
- это значения между корнями квадратичного, то есть |2x+T| < sqrt(T^2 - 4V)
.
Так что, если вы хотите выбрать значения, которые удовлетворяют условию, будет просто зациклить диапазон значений t
, выбрать значение v
, которое удовлетворяет V < (T^2)/4
, а затем выбрать x
, который попадает в соответствующий диапазон.
Вот один из способов ...
t <- 1:1000
T <- 2 - t
V <- sapply((T ^ 2) / 4, function(z) runif(min = 0, max = z, n = 1)) #assumes V>0 (???)
v <- 3000 - V
x <- (sapply(sqrt(T ^ 2 - 4 * V), function(z) runif(min = -z, max = z, n = 1)) - T) / 2
ab <- (x * t - 2 * x) + (v - x ^ 2) #all >3000 (except for t=2, where ab=3000 exactly)