Я предполагаю, что вы имеете в виду, что у вас есть векторы y
и x
, и вы пытаетесь подобрать функцию y(x)=Alog(x)
.
Прежде всего, подгонка бревна - плохая идея, потому что она плохо себя ведет. К счастью, у нас есть x(y)=exp(y/A)
, поэтому мы можем установить экспоненциальную функцию, которая гораздо удобнее. Мы можем сделать это, используя нелинейные наименьшие квадраты:
nls(x~exp(y/A),start=list(A=1.),algorithm="port")
, где start
- начальное предположение для A
. Этот подход является численной оптимизацией, поэтому он может потерпеть неудачу.
Более стабильный способ - преобразовать его в линейную функцию log(x(y))=y/A
и установить прямую линию, используя lm
:
lm(log(x)~y)