How to plot categorical data to compare with SimBiology simulation result?
2 次查看(过去 30 天)
显示 更早的评论
Is there a way to extract a simbiology simulation result for one time point and then overaly the result to compare with actual data? I'd like to create something like this plot below. The x-axis in my case would represent different sections of tissue samples such as stomach or small intestine and all measuremets would be compared with simulation result from day= 5.
6 个评论
Arthur Goldsipe
2022-3-9
Oh, first of all, apologies for posting an answer as a comment. I meant to post the above as an answer. But maybe that's irrelevant since I didn't understand your question correctly.
Sadly, I'm still a little unclear on exactly what you need help with. Could you provide sample data and/or code that illustrates the problem? Something like "Here's sample data. Here's the code I've written so far. And here's a sketch of what I'd like the plot to look like for this example." You've certainly described those things at a high level, but it's hard to know what to suggest without a bit more detail.
If you have concerns over sharing anything publicly here, please feel free to contact me directly, or perhaps you could contact Technical Support.
回答(1 个)
Arthur Goldsipe
2022-3-11
If I understand your question, you're primarily asking how to extract the simulation results at a specific time (for example, 5 days). It sounds like you already have the simulation results, which you obtained by calling sbiosimulate. I'm assuming your simulation time units are day. However, it's not clear to me whether you have those results as a SimData object or as numeric arrays. If you have the results in SimData you can estimate the results at 5 days using the resample method. If you have the results in numeric arrays, you can estimate the resutls at 5 days using the interp1 function. In both cases, I default to the pchip interpolation method. Here's some sample code.
t = 5;
% Case 1: SimData
simdata = sbiosimulate(model);
simdata1 = resample(simdata, t, 'pchip');
[~,x1] = getdata(simdata1);
% Case 2: Numeric arrays
[tManyTimes,xManyTimes] = sbiosimulate(model);
x2 = interp1(tManyTimes, xManyTimes, 5, 'pchip');
% Now plot the data
plot(t, x1, 'o')
plot(t, x2, 'o')
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Perform Sensitivity Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!