Parameter unit setting problem
3 views (last 30 days)
Show older comments
I observed that the units of the parameters obtained from the literature model are in pg/µl*10^15 *cell^2 *d. When I try to implement it using SimBiology, the system raises an error, and I am unsure how to resolve it.
m2 = sbiomodel('CART1201');
P_IL6 = addparameter(m2, 'P_IL6', 'Units','picogram/(microliter*1e5*cell*cell*day)','ConstantValue',false);
set(P_IL6,'Notes','CART induced IL6 secretion');
m2 = sbiomodel('CART1201');
P_IL6 = addparameter(m2, 'P_IL6', 'Units','picogram/(microliter*10^5*cell*cell*day)','ConstantValue',false);
set(P_IL6,'Notes','CART induced IL6 secretion');
1 Comment
David Goodmanson
on 1 Dec 2023
Hi Bohao,
Their 10^15 does not agree with your 10^5, but that is an aside to what I want to ask about. I don't use the units feature of Matlab so I don't know the rules, but would it be possible to create a dimensionless variable called, say, ten15, whose value is 10^15?
Accepted Answer
Arthur Goldsipe
on 1 Dec 2023
Edited: Arthur Goldsipe
on 4 Dec 2023
Hi Bohao,
SimBiology's units functionality does not support embedding numeric multipliers like 10^15. And even after you address that issue, you will probably see that SimBiology warns you because there is no unit called "cell".
My recommendation is to define your own custom units (and possibly a custom unit prefix) to support this set of units. When you do this, your custom definitions are stored in a unit library rather than in your model. This means that if you share your model with someone else, you will also need to share any custom units or unit prefixes that this model references. You can read more about the SimBiology user-defined library here.
To make my answer more concrete, here's sample code that defines a unit for cell and another unit for 10^15:
cell = sbiounit('cell','dimensionless');
sbioaddtolibrary(cell);
times1e15 = sbiounit('times1e15','dimensionless',1e15);
sbioaddtolibrary(times1e15);
m2 = sbiomodel('CART1201');
P_IL6 = addparameter(m2, 'P_IL6');
P_IL6.Units = 'picogram/(microliter*times1e15*cell*cell*day)';
P_IL6.ConstantValue = false;
P_IL6.Notes = 'CART induced IL6 secretion';
0 Comments
More Answers (0)
Communities
More Answers in the SimBiology Community
See Also
Categories
Find more on Extend Modeling Environment 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!