Testing of the U-2R model
Verify against MuPad "analysis" document: U-2R_analysis.html
close all clear all
Here you will find all figures
figures_folder='U_2R_testing_figures';
TEST COMPUTATION OF EQUILIBRIUM POPULATIONS
Set some meaningful parameters matching settings of MuPad analysis document
LRratio_array=[0 : 0.05 : 1.5]; % Array of L/R Rtotal_array=1e-3*ones(1,length(LRratio_array)); % Receptor concentration, M K_A = 1e6; K_B_s_1 = 2; K_B_s_2 = 3; % Set appropriate options for the model (see model file for details) % model_numeric_solver='fminbnd' ; % % model_numeric_options=optimset('Diagnostics','off', ... % 'Display','off',... % 'TolX',1e-9,... % 'MaxFunEvals', 1e9);
The important option here is "TolX" that sets termination tolerance on free ligand concentation in molar units. With our solution concentrations in 1e-3 range TolX should be set to some 1e-9.
Compute arrays for populations and plot
concentrations_array=[]; for counter=1:length(LRratio_array) % compute [concentrations species_names] = equilibrium_thermodynamic_equations.U_2R_model(... Rtotal_array(counter), LRratio_array(counter), K_A, K_B_s_1, K_B_s_2,... 'analytical', 'none'); % collect concentrations_array = [concentrations_array ; concentrations]; end
Plot
Figure_title= 'U_2R'; X_range=[0 max(LRratio_array)+0.1 ]; % extend X just a bit past last point Y_range=[ ]; % keep automatic scaling for Y % display figure figure_handle=equilibrium_thermodynamic_equations.plot_populations(... Rtotal_array, LRratio_array, concentrations_array, species_names, Figure_title, X_range, Y_range); % save it % results_output.output_figure(figure_handle, figures_folder, 'Concentrations_plot');
Observations The result matches simulations in the 'analysis' MuPad notebook. The code is correct.