|
|
Line 16: |
Line 16: |
| == find_ƒ1 == | | == find_ƒ1 == |
| | | |
- | <html><pre class="codeinput">
| + | |
- | <span class="keyword">function</span> optimal_parameters = find_f1(X_data, Y_data, initial_parameters)
| + | |
- | <span class="comment">% gives the 'best parameters' involved in f1 by least-square optimisation
| + | |
- | </span>
| + | |
- | <span class="comment">% X_data = vector of given values of a [aTc]i (experimentally
| + | |
- | </span><span class="comment">% controled)
| + | |
- | </span><span class="comment">% Y_data = vector of experimentally measured values f1 corresponding of
| + | |
- | </span><span class="comment">% the X_data
| + | |
- | </span><span class="comment">% initial_parameters = values of the parameters proposed by the literature
| + | |
- | </span><span class="comment">% or simply guessed
| + | |
- | </span><span class="comment">% = [beta1, (K20 -> (gamma.K20)/(coefTet.f0)), n20, K19, n19]
| + | |
- | </span>
| + | |
- | <span class="comment">% Warning : in the global parameters, K20 -> K20/coefTet
| + | |
- | </span>
| + | |
- | <span class="keyword">function</span> output = expr_pTet(parameters, X_data)
| + | |
- | <span class="keyword">for</span> k = 1:length(X_data)
| + | |
- | output(k) = parameters(1) * (1 - ...
| + | |
- | hill((1 - hill(X_data(k),parameters(4),parameters(5))),parameters(2),parameters(3)));
| + | |
- | <span class="keyword">end</span>
| + | |
- | <span class="keyword">end</span>
| + | |
- |
| + | |
- | options=optimset(<span class="string">'LevenbergMarquardt'</span>,<span class="string">'on'</span>,<span class="string">'TolX'</span>,1e-10,<span class="string">'MaxFunEvals'</span>,1e10,<span class="string">'TolFun'</span>,1e-10,<span class="string">'MaxIter'</span>,1e4);
| + | |
- | <span class="comment">% options for the function lsqcurvefit
| + | |
- | </span>
| + | |
- | optimal_parameters = lsqcurvefit( @(parameters, X_data) expr_pTet(parameters, X_data), ...
| + | |
- | initial_parameters, X_data, Y_data, 1/10*initial_parameters, 10*initial_parameters, options );
| + | |
- | <span class="comment">% search for the fittest parameters, between 1/10 and 10 times the initial
| + | |
- | </span><span class="comment">% parameters
| + | |
- | </span>
| + | |
- | <span class="keyword">end</span>
| + | |
- | </pre></html>
| + | |
| | | |
| == Inv_ƒ1 == | | == Inv_ƒ1 == |
| | | |
- | <html><pre class="codeinput">
| |
- | <span class="keyword">function</span> quant_aTc = Inv_f1(inducer_quantity,aTc_0)
| |
- | <span class="comment">% gives the quantity of [aTc]i needed to get inducer_quantity of a protein
| |
- | </span><span class="comment">% throught a gene behind pTet
| |
- | </span>
| |
- | <span class="keyword">global</span> gamma, f0;
| |
- | <span class="comment">% parameters
| |
- | </span>
| |
- | <span class="keyword">function</span> equa = F(x)
| |
- | equa = f1( (f0/gamma) , x ) - inducer_quantity;
| |
- | <span class="keyword">end</span>
| |
- |
| |
- | options=optimset(<span class="string">'LevenbergMarquardt'</span>,<span class="string">'on'</span>,<span
| |
| | | |
- | class="string">'TolX'</span>,1e-10,<span class="string">'MaxFunEvals'</span>,1e10,<span
| |
| | | |
- | class="string">'TolFun'</span>,1e-10,<span class="string">'MaxIter'</span>,1e4);
| + | </div> |
- |
| + | |
- | quant_aTc = fsolve(F,aTc_0,options);
| + | |
- |
| + | |
- | <span class="keyword">end</span>
| + | |
- | </pre></html></div>
| + | |