Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Manipulate parameters or initial values in plots of model simulation results
ResourceFunction["SystemModelManipulate"][model] creates a Manipulate object from model showing the resulting plots of a simulation with controllers for parameters and initial values. | |
ResourceFunction["SystemModelManipulate"][model,{u}] creates a control only for the top-level parameter or variable u. | |
ResourceFunction["SystemModelManipulate"][model,{u,umin,umax}] allows the value for u to vary between umin and umax. | |
ResourceFunction["SystemModelManipulate"][model,{{u,uinit},umin,umax,…}] takes the initial value of u to be uinit. | |
ResourceFunction["SystemModelManipulate"][model,{u,{u1,u2,…}}] allows u to take on discrete values u1,u2,…. | |
ResourceFunction["SystemModelManipulate"][model,{u,func}] creates a control from the function func. | |
ResourceFunction["SystemModelManipulate"][model,{u,…},{v,…},…] provides controls to manipuate each u,v,…. |
| SystemModel[…] | general system model |
| StateSpaceModel[…] | state-space model |
| TransferFunctionModel[…] | transfer function model |
| AffineStateSpaceModel[…] | affine state-space model |
| NonlinearStateSpaceModel[…] | nonlinear state-space model |
| DiscreteInputOutputModel[…] | discrete input-output model |
| "ParameterValues" | {p1→val1,…} | set parameter pi to value vali |
| "InitialValues" | {v1→val1,…} | set initial value of variable vi to vali |
| "Inputs" | {in1→fun1,…} | set input ini to value funi[t] at time t |
| Appearance | "Open" | appearance of controls for real and integer values |
| ContinuousAction | False | whether to update continuously when controls are changed |
| SynchronousInitialization | False | whether to perform initialization synchronously |
| SynchronousUpdating | False | whether to update synchronously |
Create a dynamic interface for a model simulation:
| In[1]:= | ![]() |
| Out[1]= | ![]() |
Manipulate an initial value in a simulation:
| In[2]:= | ![]() |
| Out[2]= | ![]() |
Specify the model by name and manipulate a specific parameter value in a simulation:
| In[3]:= |
| Out[3]= | ![]() |
Control initial values in an AffineStateSpaceModel:
| In[4]:= | ![]() |
| Out[4]= | ![]() |
Control initial and parameter values in a NonlinearStateSpaceModel:
| In[5]:= | ![]() |
| Out[5]= | ![]() |
Control parameter and initial values in a StateSpaceModel with a given input:
| In[6]:= | ![]() |
| Out[6]= | ![]() |
Control a parameter value in a TransferFunctionModel with a given input:
| In[7]:= | ![]() |
| Out[7]= | ![]() |
Control a parameter value in a DiscreteInputOutputModel with a given input:
| In[8]:= |
| Out[8]= |
| In[9]:= |
| Out[9]= | ![]() |
Reproduce control annotations for a SystemModel:
| In[10]:= | ![]() |
| Out[10]= | ![]() |
For a SystemModel all default plots are shown by default:
| In[11]:= | ![]() |
| Out[11]= | ![]() |
Manipulate all plots individually with a "Plots" control:
| In[12]:= | ![]() |
| Out[12]= | ![]() |
Select which plots to make available:
| In[13]:= | ![]() |
| Out[13]= | ![]() |
Use variables or list of variables to specify plots:
| In[14]:= | ![]() |
| Out[14]= | ![]() |
Specify a custom simulation interval:
| In[15]:= | ![]() |
| Out[15]= | ![]() |
Pick minimum and maximum values for the control of a parameter value:
| In[16]:= | ![]() |
| Out[16]= | ![]() |
Pick minimum, maximum and jump values for the control of a parameter value:
| In[17]:= | ![]() |
| Out[17]= | ![]() |
Pick an initial value for the control of a parameter value:
| In[18]:= | ![]() |
| Out[18]= | ![]() |
Pick a list of discrete values for the control of a parameter:
| In[19]:= | ![]() |
| Out[19]= | ![]() |
Pick a function for the control of a parameter:
| In[20]:= | ![]() |
| Out[20]= | ![]() |
Pick a label for the control of an initial value:
| In[21]:= | ![]() |
| Out[21]= | ![]() |
Pick a list of discrete values and their labels for the control of a parameter:
| In[22]:= | ![]() |
| Out[22]= | ![]() |
Controls for booleans and enumerations use PopupMenu as ControlType if they are not specified:
| In[23]:= | ![]() |
| Out[23]= | ![]() |
If provided in the model, the base unit is displayed next to the name of the variable or parameter and the description is shown with Tooltip:
| In[24]:= | ![]() |
| Out[24]= | ![]() |
Set a fixed initial value:
| In[25]:= | ![]() |
| Out[25]= | ![]() |
Set a fixed parameter value:
| In[26]:= | ![]() |
| Out[26]= | ![]() |
Set an input:
| In[27]:= | ![]() |
| Out[27]= | ![]() |
Real and integer values are displayed by default:
| In[28]:= | ![]() |
| Out[28]= | ![]() |
Remove displayed values:
| In[29]:= | ![]() |
| Out[29]= | ![]() |
Study the trajectory of a classical charged particle under the effect of the Lorentz force:
| In[30]:= | ![]() |
| Out[30]= | ![]() |
Visualize trajectories in the configuration space of a Duffing oscillator:
| In[31]:= | ![]() |
| Out[31]= | ![]() |
Visualize trajectories and mass loss of a rocket with exhaust velocity of constant magnitude:
| In[32]:= | ![]() |
| Out[32]= | ![]() |
Study the model of a thumb-wheel potentiometer connected in a rheostat configuration:
| In[33]:= | ![]() |
| Out[33]= | ![]() |
Use Setting on the output to access the displayed plots:
| In[34]:= | ![]() |
| Out[34]= | ![]() |
Observe the trajectories of 5 balls released inside a room, varying the size of the room using parameters:
| In[35]:= | ![]() |
| Out[35]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License