Uniroot внутри uniroot в R

мне нужно сделать следующее: мне нужно найти корень (y) следующим образом:

      func1 = function(x){function2(x)-y}
finalResult=uniroot(func1, range1)

Проблема в том, что function2 определяется как:

      function2(x){
function3(z)-x
intermediateResult=uniroot(function3(z),range2).
return intermediateResult
}

Следовательно, у меня есть юнирут внутри юнирута. Отладка. Я вижу, что значение x внутри function2 (x) передается как вектор значений, охватывающий весь диапазон 1 ... и, следовательно, я не могу найти окончательный единственный результат, но получаю сообщение об ошибке.

сообщение об ошибке:
(значения f() в конечных точках не противоположного знака
Дополнительно: Предупреждающие сообщения:
1: In if (is.na(f.lower))stop("f.lower = f(lower) is NA") :
длина условия>1 и будет использоваться только первый элемент)

Как я мог решить эту проблему?

Большое спасибо.

0 ответов

Другие вопросы по тегам