Мне передается функция R, которая определена на некотором интервале Real Line и возвращает числовое значение. Есть ли способ проверить, является ли функция постоянной?
Примеры функций:
f1<-function(x) {11}
f2<-function(x) {x+2}
f3<-function(x) {1+1}
f4<-function(x) {return(3)}
Я ищу тест, который скажет, что f1, f3, f4 являются постоянными функциями, но f2 - нет. Есть идеи?
Edit:
Фрэнк и Грегор ( изменить: и второе решение Майкла Лоуренса) решения ниже всех работают для всех 4 приведенных выше тестовых случаев (Марат и Майкл не работают во всех четырех случаях). Так что уже есть решения. Но дополнительные бонусные баллы, если вы можете найти решение, которое также дает правильный ответ для следующих трех тестовых функций:
f5 <- function(x) ifelse(x == 5.46512616432116, 0, 1)
f6 <- function(x) ifelse(x == 5.46512616432116, 0, 0)
f7 <- function(x) {x - x}