Результаты моделирования печати на одном рисунке
sbioplot( выводит на график каждый прогон моделирования из sd)sd, a SimData объект или массив объектов на том же рисунке. График - это временной график каждого состояния в sd. На рисунке также показано иерархическое отображение всех прогонов как различных узлов в дереве, и можно выбрать, какой прогон будет отображаться.
sbioplot( печать результатов моделирования путем вызова дескриптора функции sd,fcnHandle,xArgs,yArgs,Name,Value)fcnHandle с входами sd, xArgs, и yArgsи использует дополнительные параметры, заданные одним или несколькими аргументами пары имя-значение. Например, можно указать x-метку и y-метку графика. xArgs и yArgs должны быть массивами ячеек или строковыми векторами имен состояний для построения графика.
Постройте график данных о добыче и хищнике из стохастически смоделированной модели лотки с использованием пользовательской функции (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 (хищник). Укажите функцию как дескриптор функции.
Если для этого примера используется файл сценария в реальном времени, plotXY функция уже включена в конец файла. В противном случае необходимо определить plotXY в конце файла .m или .mlx или добавьте его в качестве файла по пути MATLAB.
sbioplot(sd,@plotXY,{'y1'},{'y2'},'xlabel','y1','ylabel','y2','title','Prey versus Predator');
Определение функции plotXY
sobioplot принимает дескриптор функции для функции с сигнатурой:
function [handles,names] = functionName(sd,xArgs,yArgs).
plotXY функция строит график двух выбранных состояний друг против друга. Первый вход sd - данные моделирования (SimBiology SimData объект или вектор объектов). В этом конкретном примере xArgs представляет собой клеточный массив, содержащий имя вида, подлежащего построению на оси x, и yArgs представляет собой клеточный массив, содержащий имя второго вида, подлежащего построению на оси y. Однако входные значения xArgs и yArgs можно использовать любым способом в пользовательской функции печати. Функция возвращает handlesмассив дескрипторов функций для линейных графиков, и namesмассив ячеек символьных векторов, показанных на узлах, которые являются дочерними узлами узла Run в иерархическом отображении.
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 - Функция для создания линейных графиковФункция для создания линейных графиков, заданная как дескриптор функции. Пример пользовательской функции для печати выбранных видов из данных моделирования см. в разделе Печать выбранных состояний из данных моделирования.
Функция должна иметь подпись:
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, легенды фигур отображаются статистически. Флажок Все прогоны удален.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.