Plot the prey versus predator data from the stochastically simulated lotka model by using a custom function (plotXY
).
Load the model. Set the solver type to SSA to perform stochastic simulations, and set the stop time to 3.
Set the number of runs and use sbioensemblerun
for simulation.
Plot the simulation data. By default, sbioplot
shows the time plot of each species for each run. You can expand each run by clicking the + icon, and you can select individual time plots.
Plot selected states against each other; in this case, plot the prey population versus the predator population. Use the function plotXY
(shown at the end of this example) to plot the simulated y1 (prey) data versus the y2 (predator) data. Specify the function as a function handle.
If you use the live script file for this example, the plotXY
function is already included at the end of the file. Otherwise, you must define the plotXY
function at the end of your .m or .mlx file or add it as a file on the MATLAB path.
Define plotXY Function
sbioplot accepts a function handle for a function with the signature:
function [handles,names] = functionName(sd,xArgs,yArgs)
.
The plotXY
function plots two selected states against each other. The first input sd
is the simulation data (SimBiology SimData
object or vector of objects). In this particular example, xArgs is a cell array containing the name of the species to be plotted on the x-axis, and yArgs is a cell array containing the name of the second species to be plotted on the y-axis. However, you can use the inputs xArgs and yArgs in any way in your custom plotting function. The function returns handles
, an array of function handles to the line plots, and names
, a cell array of character vectors shown on the nodes that are children of a Run node in a hierarchical display.