image thumbnail

sigm_fit

version 1.5.0.0 (4.11 KB) by R P
Optimization of parameters of the sigmoid function

7.1K Downloads

Updated 30 Mar 2016

View License

Optimization of parameters of the sigmoid function

Syntax:
[param]=sigm_fit(x,y)

that is the same that
[param]=sigm_fit(x,y,[],[],[]) % no fixed_params, automatic initial_params

[param]=sigm_fit(x,y,fixed_params) % automatic initial_params
[param]=sigm_fit(x,y,[],initial_params) % use it when the estimation is poor
[param]=sigm_fit(x,y,fixed_params,initial_params,plot_flag)

param = [min, max, x50, slope]

if fixed_params=[NaN, NaN , NaN , NaN] % or fixed_params=[]
optimization of "min", "max", "x50" and "slope" (default)

if fixed_params=[0, 1 , NaN , NaN]
optimization of x50 and slope of a sigmoid of ranging from 0 to 1


Additional information in the second output, STAT
[param,stat]=sigm_fit(x,y,fixed_params,initial_params,plot_flag)


Example:
%% generate data vectors (x and y)
fsigm = @(param,xval) param(1)+(param(2)-param(1))./(1+10.^((param(3)-xval)*param(4)))
param=[0 1 5 1]; % "min", "max", "x50", "slope"
x=0:0.1:10;
y=fsigm(param,x) + 0.1*randn(size(x));

%% standard parameter estimation
[estimated_params]=sigm_fit(x,y)

%% parameter estimation with forced 0.5 fixed min
[estimated_params]=sigm_fit(x,y,[0.5 NaN NaN NaN])

%% parameter estimation without plotting
[estimated_params]=sigm_fit(x,y,[],[],0)

Cite As

R P (2021). sigm_fit (https://www.mathworks.com/matlabcentral/fileexchange/42641-sigm_fit), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: Sine function fit

Inspired: sigmoid, sigm_fit_val(param,x)

Community Treasure Hunt

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

Start Hunting!