variance including in non linear fit

9 views (last 30 days)
Hello, I acquired a set of samples in a time window (100sample/sec), and I considered my final data as the mean of each measurement. I would like to fit (I used the lsqcurvefit matlab method, fitting an erfc function) a set of this measurement but I would like also to include the variance of each measurement in the fit....how could I do this?
In particular what I want to do is to fit an erfc function but the source of my data is a pawermeter which measures the power from a laser which is not so stable than each measurement presents a no-negligible variance.

Accepted Answer

Matt J
Matt J on 14 Oct 2020
Edited: Matt J on 14 Oct 2020
If you mean you want to inversely weight by the variance, just pre-weight your ydata and your model function output,
x=lsqcurvefit(@(x,xdata) mdl(x,xdata)./weights, x0,xdata, ydata./weights,....)
  2 Comments
leonardo rossi
leonardo rossi on 14 Oct 2020
Sorry the ignorance, but with mdl what do you mean? I'm not sure how should I use this method.
This is my function : f=@(p,x)(p(1)*(erfc(p(2)*(x-p(3))))+p(4));
To determine the variances of sample I simply used the var() function.
and this is where I fit the data (I have a matrix of samples):
for i=1:zSampNum
p0(i,:)=[max(sample(i,:)),(2^.5)/(6*stepX(i)),stepX(i)*10,0];
distance(i,:)=linspace(-stepX(i)*10,stepX(i)*10,xSampNum);
fit=lsqcurvefit(f,p0(i,:),distance(i,:),sample(i,:));
fitDistance(i,:)=linspace(-stepX(i)*10,stepX(i)*10,2000);
fitSample(i,:)=f(fit,fitDistance(i,:));
waist(i)=(2^.5)/fit(2);
figure()
plot(distance(i,:),sample(i,:),'*')
hold on
plot(fitDistance(i,:),fitSample(i,:))
title(['Plot relative to measurement' num2str(i)])
end
Sorry for this but I tried to used your approach (from a theoretical point of view I understand) but I'm not sure to understand the implementation.
Matt J
Matt J on 14 Oct 2020
fit=lsqcurvefit(@(p,x)(p(1)*(erfc(p(2)*(x-p(3))))+p(4))./weights,...
p0(i,:),distance(i,:),sample(i,:)./weights);

Sign in to comment.

More Answers (0)

Categories

Find more on Descriptive Statistics in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!