#r
#r
Вопрос:
Я пытаюсь построить две кривые на одном графике, но это не работает. Я хочу построить функцию f (x) = 3x 2, если x<= 3 и f (x) = 2x-0.5x ^ 2, если x> 3 на интервале [0,6]. Я думал, что должен был сделать
curve(3*x 2, 0,3)
и
curve(2*x-0.5*x^2,3,6, add = TRUE)
Что я мог бы сделать для построения такой функции?
Комментарии:
1. Ограничения отключены. Вам нужно будет настроить xlim и ylim при первом вызове кривой, чтобы отображался второй. Итак, добавьте
ylim = c(-5, 10), xlim = c(0,6)
к первому вызову кривой.
Ответ №1:
Используйте xlim
и ylim
в первом curve
, чтобы установить границы графика.
curve(3*x 2, 0,3, xlim = c(0, 6), ylim = c(-5, 12))
curve(2*x-0.5*x^2,3,6, add = TRUE)
Поскольку вторая кривая все еще немного обрезается, вы можете захотеть использовать c(-7 12)
для пределов y.
Другой вариант, если вы хотите, чтобы линии были соединены и который устраняет необходимость устанавливать ограничения вручную, — это кодировать обе функции в одной с ifelse
:
curve(ifelse(x <= 3, 3 * x 2, 2 * x - 0.5 * x^2), 0, 6, ylab = "f(x)")