#r
#r
Вопрос:
Как я могу записать это уравнение внутри R как функцию? при условии: 20 * x 1 170 * x 2 = 20000
#ATTEMPT
library(Rsolnp)
fn <- function(h, s){
z=200 * x[1]^(2/3) * x[2]^(1/3)
return(-z)}
# constraint z1: 20*x 170*y=20000
eqn <- function(x) {
z1=20*x[1] 170*x[2]
return(c(z1))
}
constraints = c(20000)
x0 <- c(1, 1) # setup init values
sol1 <- solnp(x0, fun = fn, eqfun = eqn, eqB = constraints)
sol1$pars
Комментарии:
1.
R <- function(h, s)200 * h^(2/3) * s^(1/3)
2. Вы хотите написать эту функцию для отображения или фактически запустить ее?
3. @Onyambu, пожалуйста, отправьте ответ
4. я хочу написать эту функцию для максимизации с помощью Rsolnp, при условии: 20 * x [1] 170 * x [2] = 20000
5. было бы лучше записать ваш вопрос как «как я могу настроить это уравнение для ограниченной максимизации?» Как вы можете видеть из ответа @Onyambu (который является отличным ответом на ваш первоначальный вопрос), ваша первая версия была слишком расплывчатой
Ответ №1:
В R мы бы использовали ключевое function
слово и передали необходимые параметры:
например, в этом случае.
R <- function(h, s)200 * h^(2/3) * s^(1/3)
Теперь у нас есть функция с именем R, которая принимает аргументы h и s и выдает нам результат.
Например, мы могли бы сделать:
R(27, 8)
Комментарии:
1. я только меняю (h, s) на (x) и x [1] и x[2] внутри функции