How can I estimate a value of a noise parameter when using linsolve?
2 views (last 30 days)
Show older comments
I am currently trying to estimate the amount of noise present in my system so that I can minimise the error on some of my parameters. I have the code
noise = 0.23;
conds = 1/noise*[1 -log(9) 1./(8.617*10^(-5)*447.12); 1 -log(11) 1./(8.617*10^(-5)*465.86); 1 -log(13) 1./(8.617*10^(-5)*486.31);1 -log(9) 1./(8.617*10^(-5)*467.74);1 -log(9) 1./(8.617*10^(-5)*488.49)];
times = 1/noise*[log(2463); log(206.82); log(71.251); log(1232.6); log(741.91)];
X = linsolve(conds,times)
% Sum of squared residuals
z=0.5*(times-conds*X).'*(times-conds*X);
% chi^2=2*z
% Tune the noise sigma_P unit Q~0.5 . sigma_P is then a sensible noise
% level
Q=chi2cdf(2*z,length(conds),'upper');%Q is prob that chi^2 exceeds measured value 2*z
% %Covariance matrix for the estimate
P_xhat=inv(conds.'*conds);
where noise is a parameter I have added to find the noise in my model by finding the value of noise that makes Q~=0.5. Here, I have guessed the value of noise to get to something that gives the answer I want. How would I go about getting matlab to do this estimation for me? Could I do something along the lines of fminsearch but searching for the value that is closest to 0.5 rather than the minimum?
0 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!