Как проверить, является ли функция в R постоянной функцией?

Я думаю, что эта строка вызывает ошибку ..

  imageView.setImageDrawable(createDrawableFromURL("http://savagelook.com/misc/sl_drop2.png"));

, и ошибка объясняет, почему это так ..

     Only the original thread that created a view hierarchy can touch its views.

эта ошибка вызвана тем, что вы пытаясь изменить пользовательский интерфейс на mainthread из какого-то другого потока .. здесь doInBackground в вашем случае ...

16
задан patapouf_ai 25 May 2015 в 11:53
поделиться

1 ответ

Эти основанные на коде тесты умны и забавны, но до сих пор я думаю, что подход «попробуй набор чисел» может быть более мощным, в зависимости от типа функций, которые вы можете получить, и от того, заботитесь ли вы больше об ошибках типа I или типа II в вашей идентификации.

В своем вопросе вы говорите

, который определен на некотором интервале Реальной линии

. Итак, давайте предположим, что мы знаем интересующую область. Попробуйте некоторое количество точек в этом домене и проверьте свою функцию.

n = 1e5
test = runif(n, min = 0, max = 5)
results = f(test) # sapply(test, f) if f isn't vectorized

# test for constancy
all(results == results[1]) # or all(diff(results) == 0) or however else

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

f3 = function(x) ifelse(x == 5.46512616432116, 0, 1)
5
ответ дан Gregor 25 May 2015 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: