Team:Paris/Modeling/More FP Algo

From 2008.igem.org

find_ƒP

function optimal_parameters = find_FP(X_data, Y_data, initial_parameters)
% gives the 'best parameters' involved in f4, f5, f6, f7 or f8  
% with FlhDC = 0 or FliA = 0 by least-square optimisation
 
% X_data = vector of given values of [FliA]i or [FlhDC]i (experimentally
% controled)
% Y_data = vector of experimentally measured values f4, f5, f6, f7 or f8
% corresponding of the X_data
% initial_parameters = values of the parameters proposed by the literature
%                       or simply guessed
%                    = [beta, K -> (K)/(coef), n]
 
     function output = act_pProm(parameters, X_data)
         for k = 1:length(X_data)
                 output(k) = parameters(1)*hill(X_data(k), parameters(2), parameters(3));
         end
     end
 
options=optimset('LevenbergMarquardt','on','TolX',1e-10,'MaxFunEvals',1e10,'TolFun',1e-10,'MaxIter',1e4);
% options for the function lsqcurvefit
 
optimal_parameters = lsqcurvefit( @(parameters, X_data) act_pProm(parameters, X_data),...
     initial_parameters, X_data, Y_data, options );
% search for the fittest parameters, between 1/10 and 10 times the initial
% parameters
 
end