Постройте результаты симуляции на одном рисунке
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.