Failure of dimensional analysis for a rule

Hi,
I have a rule y=x^0.35. x has the dimension of mass. An error message showed up saying that the exponent must be an integer constant. How can I handle this situation as this rule is very important in my model?

3 commentaires

James Tursa
James Tursa le 21 Sep 2023
We need to see a small subset of your code that reproduces your problem.
Day
Day le 21 Sep 2023
The model was developed using the Simbiology app without writing codes.
Torsten
Torsten le 21 Sep 2023
Modifié(e) : Torsten le 21 Sep 2023
Can't you assign a unit to y instead of letting Simbiology compute it for you as kg^0.35 ? And why is it possible if the exponent is an integer ? Are you sure that this is really a dimensional problem ?

Connectez-vous pour commenter.

 Réponse acceptée

Arthur Goldsipe
Arthur Goldsipe le 21 Sep 2023

1 vote

When you enable dimensional analysis (or unit conversion) in SimBiology, fractional exponents can only be applied to dimensionless quantities. So you could write your rule as y=y0*(x/x0)^0.35, where x and x0 have the same units, and y0 is the value of y when x=x0.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 21 Sep 2023

0 votes

I am baffled about what unit (grams ^ 0.35) would be. Should that be interpreted as (grams ^ (35/100) so that the unit would be "the 100'th root of grams to the 35'th power" ? Or should it be interpreted as (grams ^ (7/20)) ? so that the unit would be "the 20'th root of grams to the 7'th power" ?
Mind you, I also struggle with the physical meaning of something like y = sqrt(x) when x is mass.
If this is a situation of "never mind the dimensional continuity for now, the math works out" then you are going to have to strip the units from the item, make the math transformation, and add units back to the result.

3 commentaires

SimBiology users often work with empirically derived correlations that use such fractional exponents. But in order to make sense of units, I always incorporate a normalization factor so that the fractional exponent only applies to a dimensionless quantity. For example: k = k0*(WT/WT0)^0.35, where k0 is the value of k when at a weight of WT0.
Hmmm, it appears that people do find uses for odd units; https://www.reddit.com/r/askscience/comments/2v4gv5/the_square_root_of_a_kilogram/
Day
Day le 27 Sep 2023
@Arthur Goldsipe Thank you very much

Connectez-vous pour commenter.

Catégories

En savoir plus sur Extend Modeling Environment dans Centre d'aide et File Exchange

Produits

Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by