How to drive model in simbiology from values on data file?
    8 views (last 30 days)
  
       Show older comments
    
    Camila Almeida
 on 23 Jul 2015
  
    
    
    
    
    Commented: Ingrid Tigges
    
 on 27 Jul 2015
            Hi,
I wanted to simulate a PD model but with a static PK given by a data file that I input into the model. Is that possible? I just have no clue of how to do it.
1 Comment
  Ingrid Tigges
    
 on 23 Jul 2015
				What do you mean with static pharmacokinetics? Can you elaborate a bit more how your model looks like?
Accepted Answer
  Ingrid Tigges
    
 on 24 Jul 2015
        Do you want a kind of lookup table for your data? If yes you can do it as follows:
1) Create a repeated rule that calls an external function which loads your data file at t=0
2) Store the data in a persistent variable
The external function could look like as follows
 function y = AssignmentRule_function(time)
persistent data
 %%Variables to customize the behavior
numStates = 4; % The number of states that are saved in the MAT file
stateIndex = 3; % The index of the state you will interpolate
matFileName = 'unnamed.mat'; % Name of the MAT file
 %%Ensure data is compatible with code generation
if isempty(data)
data = struct('t', [0;10], 'x', zeros(2,numStates));
end
% Time dimension varies; num states is fixed
coder.varsize('data(:).t');
coder.varsize('data(:).x', [], [true false]);
 %%Initialize the data when time == 0
 if time == 0
 data = load(matFileName, 't', 'x');
 end
 %%Interpolate the data
y = interp1(data.t, data.x(:,stateIndex), time, 'pchip');
end
2 Comments
  Ingrid Tigges
    
 on 27 Jul 2015
				Hi Camila,
Based on the information you provided, you will have to write your own function looking like the one in my answer. This bit cannot be done in the SimBiology Desktop itself.
If you would like to see this kind of functionality to be part of the SimBiology Desktop, please contact technical support. The amount of customers requesting a certain feature has an impact on the prioritization of work of MathWorks development.
Ingrid
More Answers (0)
See Also
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!