Info

This question is closed. Reopen it to edit or answer.

Use integrated data to define rules in SimBiology Toolbox

1 view (last 30 days)
Hello,
I want to try the following thing, define a model, integrate some data and define a rule how to use the data to change parameters.
This is how I can currently access to data:
Mobj = sbiomodel('testmodel');
cell=addcompartment(Mobj,'cell',1,'ConstantCapacity',0,'UserData',data);
addrule(Mobj,'cell=myInterpolation(''cell'',time)', 'repeatedAssignment');
The function myInterpolation then opens a mat file where it accesses the right data, does the interpolation according to the actual time point and handles back the new cell volume.
It would be much easier to link the data to the model and access it, however I don't know how to call the linked data in the addrule function.
Thx!

Answers (2)

Pramod Kumar
Pramod Kumar on 15 Nov 2011
Hi Sebastian,
There is no elegant way to store data on the model and be able to access it in a function that is used in a rule.
If the data is not too big you can hard code it in the rule function. to see an example look at insulindemo.m. This demo uses functions EndogenousGlucoseProduction and GlucoseAppearanceRate in repeated assignment rules. each of these functions have the data hard coded. They do an interpolation to compute the data at a given time point.

Sebastian
Sebastian on 15 Nov 2011
Thanks for the answer, the insuline demo will definitly help me to understand some more structure of the scripts. Unfortunately, I have to say that I plan to implement quite long time series and also a larger number of these. Additionally, I wanted flexibility as my data is organized in "modules" and I want to change one module while the other remains the same. Hardcoding will not work that good there - and I am not that keen on writing a script that writes me a script with hardcoded data. :)

Communities

More Answers in the  SimBiology Community

Products

Community Treasure Hunt

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

Start Hunting!