Clear Filters
Clear Filters

How to simulate multiple doses and generate only one plot?

6 views (last 30 days)
I want to try many dosages of one species and generate only one plot. So I wonder if simbiology has such a function or if I need to use another Matlab tool.
the plot is like this:

Answers (3)

Bhargavi Srija Ramisetty
Bhargavi Srija Ramisetty on 13 Sep 2023
Hi Lo,
I believe you can use repeat dosing feature in simbiology.
Best
Srija

Sam Chak
Sam Chak on 13 Sep 2023
Hi @Lo
Are you looking to plot something like this?
m1 = sbiomodel('onecomp');
r1 = addreaction(m1,'drug -> null');
k1 = addkineticlaw(r1,'MassAction');
p1 = addparameter(k1,'ke','Value',1.0,'ValueUnits','1/hour');
k1.ParameterVariableNames = 'ke';
r2 = addreaction(m1,'dose -> drug');
k2 = addkineticlaw(r2,'MassAction');
p2 = addparameter(k2,'ka','Value',0.1,'ValueUnits','1/hour');
k2.ParameterVariableNames = 'ka';
amt = [250 500]; % dosage amount
for j = 1:numel(amt)
d1 = sbiodose('d1','repeat');
d1.Amount = amt(j);
d1.AmountUnits = 'milligram';
d1.Interval = 8;
d1.TimeUnits = 'hour';
d1.RepeatCount = 5;
d1.Active = true;
d1.TargetName = 'dose';
cs = getconfigset(m1);
cs.StopTime = 48;
cs.TimeUnits = 'hour';
cs.RuntimeOptions.StatesToLog = {'drug'}; % comment out this line if want to plot dosage
[t, sd, species] = sbiosimulate(m1,d1);
plot(t, sd), hold on
end
hold off, grid on
legend('250 mg', '500 mg', 'Location', 'NW');
xlabel('Hours');
ylabel('Drug Concentration');
  2 Comments
Lo
Lo on 13 Sep 2023
hi Sam Chak
I'm not very familiar with program. could you please show me in diagram form ? thank you !
best
Eric
Sam Chak
Sam Chak on 16 Sep 2023
Hi @Lo,
I believe you might be referring to the SimBiology Model Analyzer app, which offers a user-friendly graphical interface for entering data and performing actions with just a few clicks. You can find useful information and examples on this page:

Sign in to comment.


Jeremy Huard
Jeremy Huard on 13 Sep 2023
Hi @Lo,
you can also scan over single dosing parameters such as its amount or even scan over a list of dose objects.
There is an example in the documentation of a scan over a dosing amount that will help you:
Best,
Jérémy

Communities

More Answers in the  SimBiology Community

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!