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?

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.

Reply via email to