Equilibrium concentrations of species are computed before signals from equilibrium experiments can be calculated.

The model definitions and derivations were performed in Equilibrium_thermodynamic_models/

The functions to perform this task are placed in code/+equilibrium_thermodynamic_equations/. These functions may be used as stand-alone functions to investigate reaction mixture composition separately from fitting sessions.

Example of functional interface is:

**[concentrations, species_names] = U_model(Rtotal, LRratio, K_A,... model_numeric_solver, model_numeric_options)**

where

**Rtotal**is total concentration of the R species**LRratio**is molar ratio of total ligand and receptor quantities =Ltotal/Rtotal**K_A**and so on are equilibrium constants- Two last parameters set the numeric solver and its options.
**r**- is an array of concentration of all R-containing species**g**- an array of concentration of all other species**r_names**and**g_names**are the cell arrays with name labels for species

The solution of equilibrium thermodynamic equations is either analytical or numeric. A switch between the two is through **model_numeric_solver='analytical'** or **='ode45'** (as an example). Some models wouldn't have analytical solution.

You can display progression of a titration using plot_populations.m (see Tutorial 6 for examples).

For numeric solutions the function to solve is provided separately (for example, see U_R_model_numeric.m)