exponenta event banner

sbioplot

Постройте результаты симуляции в одной фигуре

Синтаксис

sbioplot(sd)
sbioplot(sd,fcnHandle,xArgs,yArgs,Name,Value)

Описание

пример

sbioplot(sd) графики каждая симуляция, запущенная от sd, объекта SimData или массива объектов, в той же фигуре. График является графиком временной зависимости каждого состояния в sd. Данные также показывают иерархическое отображение всех выполнений как различные узлы в дереве, и можно выбрать который выполнение отобразиться.

пример

sbioplot(sd,fcnHandle,xArgs,yArgs,Name,Value) результаты симуляции графиков путем вызова указателя на функцию fcnHandle с входными параметрами sd, xArgs, и yArgs и дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, можно задать x-метку и y-метку графика. xArgs и yArgs должны быть массивами ячеек или векторами строки имен состояний, чтобы построить.

Примеры

свернуть все

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

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

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

Определите номер выполнений и используйте sbioensemblerun для симуляции.

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

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

sbioplot(sd); 

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

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

sbioplot(sd,@plotXY,{'y1'},{'y2'},'xlabel','y1','ylabel','y2','title','Prey versus Predator');

Задайте Функцию plotXY

sbioplot принимает указатель на функцию для функции с подписью:

function [handles,names] = functionName(sd,xArgs,yArgs).

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

function [handles,names] = plotXY(sd,xArgs,yArgs)
    
% Select simulation data for each state from each run.
xData1 = selectbyname(sd(1),xArgs);
xData2 = selectbyname(sd(2),xArgs);
yData1 = selectbyname(sd(1),yArgs);
yData2 = selectbyname(sd(2),yArgs);

% Plot the species against each other.
fH1 = plot(xData1.Data,yData1.Data);
fH2 = plot(xData2.Data,yData2.Data);

% The first output, handles, is a two-dimensional array of handles of the line plots. It must be of size M x N, 
% where M is the number of line plots for each run and N is the number of runs.
handles = [fH1,fH2];

% The second output, names, must be a one-dimensional cell array of character vectors.
% Its length must be equal to the number of rows in handles, and the texts are displayed on the 
% nodes that are children of a Run node.
names = {'y1 vs y2'};
   
end

Входные параметры

свернуть все

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

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

Пример: simdata

Функция, чтобы сгенерировать линейные графики, заданные как указатель на функцию. Для примера пользовательской функции, чтобы построить выбранные разновидности от данных моделирования, смотрите, что График Выбрал States from Simulation Data.

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

function [handles,names] = functionName(sd,xArgs,yArgs).

Входные параметры sd, xArgs и yArgs являются теми же входными параметрами, которые вы передаете в том, когда вы вызываете sbioplot.

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

Второй вывод names является одномерным массивом ячеек из символьных векторов, содержащим имена, которые будут отображены на узлах, которые являются дочерними элементами узла Run в иерархическом отображении. Длина names должна быть равна количеству строк в handles.

Пример: @plotXY

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

Состояние называет к графику, заданному как вектор строки или массив ячеек из символьных векторов. Например, можно использовать xArgs, чтобы представлять состояния, которые будут построены на x - ось пользовательского графика.

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

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

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

Состояние называет к графику, заданному как вектор строки или массив ячеек из символьных векторов. Например, можно использовать yArgs, чтобы представлять состояния, которые будут построены на y - ось пользовательского графика.

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'title','Species X versus Species Y' задает заголовок осей графика.

Заголовок осей, заданный как пара, разделенная запятой, состоящая из 'title' и вектора символов или строки.

Пример: 'title','Prey versus Predator'

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

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

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

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

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

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

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

Смотрите также

|

Введенный в R2008a