Постройте результаты симуляции на одном рисунке
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
fcnHandle
— Функция, чтобы сгенерировать линейные графикиФункция, чтобы сгенерировать линейные графики в виде указателя на функцию. Для примера пользовательской функции, чтобы построить выбранные разновидности от данных моделирования, смотрите, что График Выбрал 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
— Имена состоянияСостояние называет, чтобы построить в виде вектора строки или массива ячеек из символьных векторов. Например, можно использовать xArgs
представлять состояния, которые будут построены на x - ось вашего пользовательского графика.
Этот аргумент соответствует второму входу функции, на которую ссылается fcnHandle
.
Пример: {'y1'}
Типы данных: cell
yArgs
— Имена состоянияСостояние называет, чтобы построить в виде вектора строки или массива ячеек из символьных векторов. Например, можно использовать yArgs
представлять состояния, которые будут построены на y - ось вашего пользовательского графика.
Этот аргумент соответствует третьему входу функции, на которую ссылается fcnHandle
.
Пример: {'y2','z'}
Типы данных: cell
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'title','Species X versus Species Y'
задает заголовок осей графика.'title'
— Заголовок осейЗаголовок осей в виде разделенной запятой пары, состоящей из 'title'
и вектор символов или строка.
Пример: 'title','Prey versus Predator'
Типы данных: char |
string
'xlabel'
— Пометьте для x - осьПометьте для x - ось графика в виде разделенной запятой пары, состоящей из 'xlabel'
и вектор символов или строка.
Пример: 'xlabel','y1'
Типы данных: char |
string
'ylabel'
— Пометьте для y - осьПометьте для y - ось графика в виде разделенной запятой пары, состоящей из 'ylabel'
и вектор символов или строка.
Пример: 'ylabel','y2'
Типы данных: char |
string
Поведение изменяется в R2020a
Начиная в R2020a, легенды фигуры статистически отображены. Флажок All Runs был удален.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.