exponenta event banner

sbiosubplot

Результаты моделирования печати на вложенных графиках

Описание

пример

sbiosubplot(sd) выводит на график каждый прогон моделирования из sd, a SimData объект или массив объектов, в собственный вложенный график. Вложенный график - это график времени каждого состояния в sd.

пример

sbiosubplot(sd,fcnHandle,xArgs,yArgs) печать результатов моделирования путем вызова дескриптора функции fcnHandle с входами sd, xArgs, и yArgs. Исходные данные xArgs и yArgs должны быть массивами ячеек имен состояний для построения графика.

пример

sbiosubplot(sd,fcnHandle,xArgs,yArgs,showLegend) также указывает, следует ли отображать легенду на графике. Если true, функция показывает yArgs как легенда.

пример

sbiosubplot(sd,fcnHandle,xArgs,yArgs,showLegend,Name,Value) также использует дополнительные параметры, заданные одним или несколькими аргументами пары имя-значение. Например, можно указать x-метку и y-метку графика.

Примеры

свернуть все

Постройте график данных о добыче и хищнике из стохастически смоделированной модели лотки в отдельных субплотах с помощью пользовательской функции (plotXY).

Загрузите модель. Установите тип решателя SSA для выполнения стохастического моделирования и установите время остановки равным 3.

sbioloadproject lotka;
cs              = getconfigset(m1);
cs.SolverType   = 'SSA';
cs.StopTime     = 3;
rng('default') % For reproducibility

Задание количества прогонов и использование sbioensemblerun для моделирования.

numRuns = 4;
sd      = sbioensemblerun(m1,numRuns);

Постройте график каждого прогона моделирования в отдельном вложенном графике. По умолчанию sbiosubplot показывает график времени каждого вида для каждого прогона для каждого субплота.

sbiosubplot(sd); 

Figure contains 4 axes and other objects of type uicontrol. Axes 1 with title Run1 contains 4 objects of type line. These objects represent x, y1, y2, z. Axes 2 with title Run2 contains 4 objects of type line. Axes 3 with title Run3 contains 4 objects of type line. Axes 4 with title Run4 contains 4 objects of type line.

Постройте график выбранных состояний друг против друга; в этом случае постройте график популяции добычи по сравнению с популяцией хищника в отдельных субплотах для каждого прогона. Используйте функцию plotXY (показано в конце этого примера) для построения графика смоделированных данных y1 (добыча) по сравнению с y2 (хищник). Укажите функцию как дескриптор функции в sbiosubplot вызов для вывода каждого участка на печать в собственном вложенном графике. В этом случае пятый входной аргумент (showLegend) имеет значение true, что означает четвертый входной аргумент (yArgs) отображается как легенда.

Если для этого примера используется файл сценария в реальном времени, plotXY функция уже включена в конец файла. В противном случае необходимо определить plotXY в конце файла .m или .mlx или добавьте его в качестве файла по пути MATLAB.

sbiosubplot(sd,@plotXY,{'y1'},{'y2'},true,'xlabel','y1','ylabel','y2')

Figure contains 4 axes and other objects of type uicontrol. Axes 1 with title Run1 contains an object of type line. This object represents y2. Axes 2 with title Run2 contains an object of type line. Axes 3 with title Run3 contains an object of type line. Axes 4 with title Run4 contains an object of type line.

Определение функции plotXY

sbiosubplot принимает дескриптор функции с сигнатурой:

function functionName(sd,xArgs,yArgs).

plotXY функция строит график двух выбранных состояний друг против друга. Первый вход sd - данные моделирования (SimBiology SimData объект или вектор объектов). В этом примере: xArgs - клеточный массив, содержащий имя вида, подлежащего построению на оси x, а yArgs - клеточный массив, содержащий имя вида, подлежащего построению на оси y. Однако входные значения xArgs и yArgs можно использовать любым способом в пользовательской функции печати. Вывод функции не требуется.

function plotXY(sd,xArgs,yArgs)
% Select simulation data for each state from each run.
xData = selectbyname(sd,xArgs);
yData = selectbyname(sd,yArgs);
% Plot the species against each other.
plot(xData.Data,yData.Data);
end

Входные аргументы

свернуть все

Результаты моделирования, указанные как SimData объект или вектор SimData объекты.

Этот аргумент соответствует первому входу функции, на которую ссылается fcnHandle.

Пример: simdata

Функция для создания линейных графиков, заданная как дескриптор функции. Пример пользовательской функции для печати выбранных видов из данных моделирования см. в разделе Печать выбранных состояний из данных моделирования в вложенных графиках.

Функция должна иметь подпись:

function functionName(sd,xArgs,yArgs).

Исходные данные sd, xArgs, и yArgs являются теми же входами, которые передаются при вызове sbiosubplot. Вывод функции не требуется.

Пример: @plotXY

Типы данных: function_handle

Имена состояний для построения графика, заданные как строковый вектор или массив ячеек символьных векторов. Например, можно использовать xArgs для представления состояний, выводимых на печать по оси X пользовательского графика.

Этот аргумент соответствует второму входу функции, на которую ссылается fcnHandle.

Пример: {'y1'}

Типы данных: cell

Имена состояний для построения графика, заданные как строковый вектор или массив ячеек символьных векторов. Например, можно использовать yArgs для представления состояний, выводимых на печать по оси Y пользовательского графика.

Этот аргумент соответствует третьему входу функции, на которую ссылается fcnHandle.

Пример: {'y2','z'}

Типы данных: cell

Логический флаг для отображения легенды графика, указанный как true или false. Если true, функция показывает yArgs как легенда.

Пример: true

Типы данных: logical

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'xlabel','Species A' задает метку X графика.

Метка для оси X графика, заданная как разделенная запятыми пара, состоящая из 'xlabel' и символьный вектор или строку.

Пример: 'xlabel','y1'

Типы данных: char | string

Метка для оси Y графика, заданная как разделенная запятыми пара, состоящая из 'ylabel' и символьный вектор или строку.

Пример: 'ylabel','y2'

Типы данных: char | string

См. также

|

Представлен в R2008a