In SimBiology, can you change the Capacity of a compartment using an Event or Assignment (and still pass dimensional analysis)?

2 ビュー (過去 30 日間)
The Help file suggests that this should be possible. I am trying this with set(CompartmentName, 'Capacity', ParameterName) as the event function. The compartment, CompartmentName, has the appropriate units and is not ConstantCapacity. The parameter, ParameterName, is scoped to the model and has appropriate units. Verification fails as dimensional analysis cannot cope with set(). I can work around this in an adequate manner generating a SimBiology model object through M code but I wanted to know if this can be performed using the sbiodesktop interface.

採用された回答

Arthur Goldsipe
Arthur Goldsipe 2015 年 12 月 1 日
Hi Bernard,
Yes, it's possible to change the capacity of a compartment using an event or assignment. To do this, set the corresponding event function or rule expression to a string of the form Variable = Expression.
You can find some example rules on this page and sample events on this page.
But let me give you a simple example here. Let's say that you have a compartment named myCompartment and a parameter named myParameter, both of which have units of liter. Then, you could change this compartment's capacity to whatever value is associated with the parameter using an event function or rule of the form myCompartment = myParameter. And as you already discovered, you will need to make sure the compartment capacity is not marked as constant if you want to change it with a repeated assignment rule or event.
-Arthur
  1 件のコメント
Bernard
Bernard 2015 年 12 月 1 日
Thank you, Arthur. I did not realise that the Capacity of a compartment was the value returned by CompartmentName, and instead I had been trying to address it as a property of the compartment. Simply switching the event function to CompartmentName = ParameterName allowed verification and the model to run.

サインインしてコメントする。

その他の回答 (0 件)

コミュニティ

その他の回答  SimBiology コミュニティ

カテゴリ

Help Center および File ExchangeExtend Modeling Environment についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by