Hi r-help-boun...@r-project.org napsal dne 27.09.2010 13:13:28:
> > Hi, > > I have a function that generates a set of data but I am having problems > determining the parameters using the nls fitting procedure. > > #### > > "MH"<-function(field,diameter,mu=10e-7,sig=0.1,Ms=100,chi=0){ > #variables mu, sig, chi, Ms > #input: field and diameter > #all in CGS > rho <- 5 > kb <- 1.38e-16 > t <- 300 > length.d<-length(diameter) > length.H<-length(field) > M<-double(length.H) > for (i in 1:length.H){ > S1<-0 > S2<-0 > H <- field[i] > for (j in 1:length.d){ > d<-diameter[j] > vol <- 4/3*pi*(d/2)^3 > lognorm <- 1/(d*sig*sqrt(2*pi))*exp(-(log(d)-log(mu))^2/(2*sig^2)) > lang <- 1/tanh(Ms*rho*vol*H/(kb*t))-1/(Ms*rho*vol*H/(kb*t)) > S1 <- S1 + lognorm*vol*lang > S2 <- S2 + lognorm*vol > } > M[i] <- Ms*S1/S2 + chi*H > } > M > } > > ### I can calculate a set of data: > > htest<- (-10:10)*200 > dtest<- (5:15)*1e-7 > mtest<- MH(field=htest,diameter=dtest) > > ### However when I try to reverse engineer to calculate the parameters mu, > sig, chi and Ms I run into problems. Could anyone shed some light on this > problem? What problem? I get > fit <- nls(M~MH(H,(5:15)*1e-7,mu,sig,Ms,chi),data=df,start=list(mu=10e-7, + sig=0.1, chi=0, Ms=100)) Error in nls(M ~ MH(H, (5:15) * 1e-07, mu, sig, Ms, chi), data = df, start = list(mu = 1e-06, : 'data' must be a list or an environment evidently I have df only as function for density of F distribution. One comment. If you looked into help page you could find this warning Warning Do not use nls on artificial "zero-residual" data. Which I suppose you have. So add some noise to it. Regards Petr > > fit <- nls(M~MH(H,(5:15)*1e-7,mu,sig,Ms,chi),data=df,start=list(mu=10e-7, > sig=0.1, chi=0, Ms=100)) > > ### Thanks, Paul > -- > View this message in context: http://r.789695.n4.nabble.com/Fitting-problem- > tp2715234p2715234.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.