Как построить многомерную функцию в R - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь построить следующую функцию: enter image description here

Это то, что я сейчас пробовал:

curve(7*x*y/( e^(x^2+y^2)))

Но я получаю следующую ошибку:

enter image description here

Ответы [ 3 ]

1 голос
/ 27 октября 2019

Одним из способов построения графика является использование функции contour(). Кроме того, как заметил @Sang won kim, exp() - это функция для e^(...)

x <- seq(from = 0.01, to = 2.1, by = 0.01)
y <- x

multi_var_fx <- function (x, y) {
  7 * x * y / (exp(x^2 + y^2))
}

z <- outer(x, y, multi_var_fx)

contour(x, y, z, xlab = 'x', ylab = 'y')

Создано в 2019-10-27 представляет пакет (v0.3.0)

1 голос
/ 27 октября 2019

Вы можете создать контурный график следующим образом:

library(tidyverse)

tibble(x = seq(0, 10, 0.1),             # define the drawing grid
       y = seq(0, 10, 0.1)
  ) %>% 
cross_df() %>%                          # create all possible combinations of x and y
mutate(z = 7*x*y/(exp(x^2+y^2)) ) %>%   # add your function
ggplot(aes(x = x, y = y, z = z)) +      # create the plot
  geom_contour()

contour plot

1 голос
/ 27 октября 2019

Ваше е означает экспоненциальную функцию. В r код экспоненциальной функции равен exp(). Таким образом, вы можете изменить этот код.

curve(7*x*y/(exp(x^2+y^2)))
...