Team:Paris/Modeling/More f3bis Algo

From 2008.igem.org

Revision as of 03:46, 30 October 2008 by Hugo (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

function optimal_parameters = find_f3_EnvZ(X_data, Y_data, initial_parameters)
% gives the 'best parameters' involved in f3 with OmpR = 0 by least-square optimisation
% -> USE IT AFTER find_f3_OmpR
 
% X_data = vector of given values of ( [EnvZ]i ) (experimentally
% controled)
% Y_data = vector of experimentally measured values f3 corresponding of
% the X_data
% initial_parameters = values of the parameters proposed by the literature
%                       or simply guessed
%                    = [EnvZ_b, OmpR_b, K14, n14]
 
global beta17 K15 n15; % parameters GIVEN BY find_f3_OmpR
 
     function output = act_pFlhDC(parameters, X_data)
         for k = 1:length(X_data)
             OmpR_P = complexes((parameters(1) + X_data(k)),parameters(2),parameters(3),parameters(4));
                 % complexes is a function that solve the "basical
                 % complexation equation"
             output(k) = beta17*(1 - hill( OmpR_P, K15, n15 ));
         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_pFlhDC(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