Solving normcdf for sigma
4 次查看(过去 30 天)
显示 更早的评论
Hello
I am trying to solve the following equation for sigma but keep encountering errors: normcdf(1.43,1.415,sigma)-normcdf(1.4,1.415,sigma)=0.02 The code I've entered is: syms sigma solve(normcdf(1.43,1.415,sigma)-normcdf(1.4,1.415,sigma)==0.02)
Any help would be greatly appreciated.
Thanks
0 个评论
回答(1 个)
John D'Errico
2018-4-8
The symbolic toolbox does not understand normcdf very well. But fzero will work just fine.
fun = @(sigma) normcdf(1.43,1.415,sigma)-normcdf(1.4,1.415,sigma)-0.02;
[sigma,fval] = fzero(fun,1)
sigma =
0.59835074767517
fval =
1.73472347597681e-17
As a test:
normcdf(1.43,1.415,sigma)-normcdf(1.4,1.415,sigma)
ans =
0.02
If you really, absolutely needed the utmost accuracy (why???) you could use the transformation for normcdf into erf. But that makes absolutely no sense in this context, since you have only 3 significant digits on your other numbers.
4 个评论
Torsten
2018-4-9
I suggest that you plot the function
fun = @(sigma) normcdf(1.43,1.415,sigma)-normcdf(1.4,1.415,sigma)-0.98;
to see where its zero is approximately located.
Best wishes
Torsten.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!