Я знаю, что вы хотите (я ученый).Это не так, но, по крайней мере, показывает, как использовать «кривую» для построения функции подгонки по любому диапазону, и кривая будет гладкой.Используя тот же набор данных, что и выше:
nonlinFit <- nls (плотность ~ a - b * exp (-c * conc), данные = DNase1, начало = список (a = 1, b =1, c = 1)) </p>
fitFnc <- функция (x), прогнозирование (nonlinFit, список (conc = x)) </p>
кривая (fitFnc, от = .5, до = 10)
или,
кривая (fitFnc, от = 8,2 до = 8,4)
или,
кривая (fitFnc, от = .1 до = 50) # далеко за пределами диапазона данных
или что-либо еще (без предварительной настройки последовательности точек оценки).
Я элементарный программист на R, поэтому я не знаю, как реализовать (элегантно) что-то вроде ReplaceAll (/.) В Mathematica, которое можно было бы использовать для замены вхождений символических параметров в модели на соответствующие параметры.Этот первый шаг работает, хотя выглядит ужасно:
myModel <- "a - b * exp (-c * conc)" </p>
nonlinFit <- nls (as.formula (paste(«плотность ~», myModel)), data = DNase1, start = list (a = 1, b = 1, c = 1)) </p>
Это оставляет вас с отдельной «моделью» (как символьная строка), которую вы могли бы использовать с подобранными параметрами ... чисто (НЕ выкапывая a, b, c) просто использовало бы nonlinFit ... хотя не уверен как.