몇 가지 실험 데이터의 다음 플롯이 있습니다 (아래 참조). 빨간색 선은 실험 값인 검은 색 점의 맞춤 곡선입니다. 이제 0, 0.583 및 1.916에있는 처음 세 개의 점이 기준선을 형성하고 다음 두 점인 2.083, 2.416이 이상 값 인 것 같습니다. 기준선과 이상 값을 고려하지 않도록 피팅 곡선을 프로그래밍하려면 어떻게해야합니까? 현재 R은 관련없는 값에 대해서도 최적화를 시도하고 있습니다.
x <-
c(0,0.583333,1.916666,2.083333,2.416666,2.5,3.666666,5.916666,9,16.75,20)
y <-
c(
0.05464,0.05453,0.0544,0.18043,0.18151,0.12551,0.18792,0.2497,0.28359,0.31734,0.3263
)
plot(x,y, ylim = range(c(0,0.45)), pch = 1)
fit <- nls(y ~ -p1 / exp(x) + p1, start = list(p1 = 1))
xx <- seq(0,20, length = 200)
lines(xx, predict(fit, data.frame(x = xx)), col = "red")
처음 5 개 점 을 맞추지 않으려면 제외 할 음수 위치의 벡터를 제공하는 subset=
인수를 사용하십시오 nls
.
nls(y ~ -p1 / exp(x) + p1, start = list(p1 = 1), subset = -seq(5))
이 모델은 실제로 단일 매개 변수에서 선형이므로 다음 lm
대신 사용할 수 있습니다 nls
.
lm(y ~ I(1-exp(-x)) - 1, subset = -seq(5))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다