SimBiology calling a function

4 visualizzazioni (ultimi 30 giorni)
Richard Allen
Richard Allen il 26 Feb 2014
Risposto: Ingrid Tigges il 5 Mar 2014
I am familiar with the SimBiology functionality that allows calling a user defined MATLAB function. Is there a shorthand to pass all species to that function?
For example what I'm looking to be able to do is call:
P= myfunction(X,P,0.5);
rather than
P=myfunction(species1,species2,...,parameter1,parameter2,....)
where X is a vector with elements containing each species in the model, and P all the parameters.
Thanks for any help/suggestions!
Richard
  1 Commento
Ingrid Tigges
Ingrid Tigges il 26 Feb 2014
Hello Richard, please contact technical support regarding your question and refer to Ingrid Tigges and your post on MATLAB Answers.

Accedi per commentare.

Risposte (1)

Ingrid Tigges
Ingrid Tigges il 5 Mar 2014
Have a look at the attached code. simbiology_ml_answers is the main script. The steps are as follows:
  • Get species names with
speciesNames = get(m1.Species, 'Name');
  • Build a string containing all species names
  • If you use your own function in a rule, put the string into the rule (with added information like the function name)
As you can see in the code there are some additional tweaks necessary to prevent things like algebraic loops.

Community

Più risposte nel  SimBiology Community

Categorie

Scopri di più su Extend Modeling Environment in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by