Percentile plot in SimBiology model analyzer
3 views (last 30 days)
Show older comments
Hello team,
How could I access to the percentile plot (shown as below with purple box) in simbiology model analyzer through code?
Is it a undocumented function?
Thank you very much.
Best,
Jesse
0 Comments
Answers (1)
Jeremy Huard
on 22 Sep 2022
Hi Jess,
this built-in plot is currently not available on the command line.
But I have attached my own implementation. Hopefully, you will find it useful.
Here is an example:
pkmd = PKModelDesign;
pkmd.addCompartment('Central', DosingType='Bolus', EliminationType='linear',...
HasResponseVariable=true, HasLag=false);
pkmd.addCompartment('Peripheral', DosingType='Bolus', EliminationType='',...
HasResponseVariable=true, HasLag=false);
model = pkmd.construct;
ka = sbioselect(model, 'Type','Parameter','Name','ka_Central');
ka.Value = 0.1;
cs = getconfigset(model);
cs.CompileOptions.UnitConversion = true;
dObj_Oral = adddose(model,'DailyDoseOral');
dObj_Oral.Amount = 0.1;
dObj_Oral.RepeatCount = 3;
dObj_Oral.TargetName = 'Dose_Central';
dObj_Oral.AmountUnits = 'milligram';
dObj_Oral.TimeUnits = 'hour';
dObj_Oral.Interval = 24;
dObj_Oral.StartTime = 0;
pd1 = makedist('Lognormal', mu=0.2, sigma=0.2);
pd2 = makedist('Normal', mu=2, sigma=0.5);
samples = SimBiology.Scenarios(["Q12", "ke_Central"], [pd1 pd2], Number=100, SamplingMethod='random');
observableNames = {'Drug_Central','Drug_Peripheral'};
timeEnd = 47; % hours
f = createSimFunction(model, samples, observableNames, dObj_Oral.TargetName);
data = f(samples, timeEnd, getTable(dObj_Oral));
figure;
sbioplotscan(data);
grid on;
Best regards,
Jérémy
Communities
More Answers in the SimBiology Community
See Also
Categories
Find more on Import Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!