Error when calculating AUC in simbiology

1 view (last 30 days)
Hello,
I am attempting to calculate AUC of a dimensionless target engagement species (TO_percent). My model maintains dimensions, however the species from which I am calculating AUC is dementionless
I set the new AUC species (AUC_TO_percent) to dimensionless*day, and the reaction rate is TO_percent
I've attached the following error
Note: I am using simbiology 2022b.
Any help would be greatly appreciated, thanks so much
Brett
  1 Comment
Arthur Goldsipe
Arthur Goldsipe on 31 Jul 2023
Can you share your project or model? If confidentiality is an issue, would you be able to share it privately with MathWorks? If so, you can contact me via my MATLAB profile, and I will share my email address. Another option would be to set up a video call, where we can look at the error together without you actually sharing it with us.

Sign in to comment.

Accepted Answer

Arthur Goldsipe
Arthur Goldsipe on 1 Aug 2023
In case anyone runs into a similar issue and is looking for the answer, I looked at Brett's model and made a few recommendations to solve the problems:
  • When using unit conversion, you must explicitly set the units of any dimensionless quantity to dimensionless. You will get the second error seen in the screenshot if you leave the units blank.
  • Use a (non-constant) parameter rather than a species to model a state with dimensionless units. Setting species units to dimensionless is not supported in SimBiology. I need to investigate further, but I think it's a bug that Brett didn't see a warning or error specifically about this. (The first error in the screenshot was indirectly related to using a species with dimensionless units.)
  • Use an observable to calculate the AUC of this parameter. You can set the units of this observable to day or dimensionless*day; both are equivalent. Specifically, you could set the observable expression to something like trapz(time,myParameter) to calculate the AUC of myParameter. Note that using trapz in a model that uses unit conversion will result in a warning. This warning is just to indicate that you the user must double-check that this expression has consistent units, since SimBiology doesn't know how to check units for functions like trapz.

More Answers (0)

Communities

More Answers in the  SimBiology Community

Categories

Find more on Extend Modeling Environment in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!