WSMLink`
WSMLink`

WSMPlot

WSMPlot is being phased out in favor of SystemModelPlot, which was introduced experimentally in Version 11.3.

WSMPlot[sim]

shows preferred plots from the WSMSimulationData object sim.

WSMPlot[sim,"name"]

shows stored plot "name".

WSMPlot[sim,{"v1","v2",}]

generates a plot of the variables vi in sim.

WSMPlot[{sim1,sim2,},]

plots variables from several simulations.

WSMPlot["mmodel",]

plots from a new simulation of "mmodel".

Details

  • WSMPlot[,{tmin,tmax}] plots from tmin to tmax.
  • WSMPlot[{"mmodel",args},] generates simulation data using WSMSimulate["mmodel",args].
  • WSMPlot[conn,] takes simulation data from a WSMSimulationConnection.
  • WSMPlot[sim,{{"v1","p1",di},},] plots variables vi and sensitivity bounds when parameter pi varies 100di%. »
  • The shortest unique model name mmodel can be used where WSMNames["*.mmodel"] gives a unique match.
  • A list of stored plots for WSMSimulationData sim is available with sim["PlotNames"].
  • Variables vi can be given as strings or using DotName.
  • WSMPlot has the same options as ListLinePlot, with the following additions and changes:
  • AxesLabelAutomaticindicate units on axis
    MeshNonemesh points to draw on each line
    PlotLegendsAutomaticuses variable names vi
    TargetUnitsAutomaticplot in display units from model
  • Events in a simulation are indicated in a plot with Mesh->"Events". »
  • Possible settings for TargetUnits include:
  • "DisplayUnit"display units converted to common units
    "IndividualDisplayUnit"display units without conversion
    "Unit"base units converted to common units
    "IndividualUnit"base units without conversion
    unitexplicit unit
  • "Unit" and "DisplayUnit" attempt to convert compatible quantities to a common unit.
  • "DisplayUnit" and "IndividualDisplayUnit" convert to a unit specified in the model for plot purposes.

Examples

open allclose all

Basic Examples  (5)

Load Wolfram SystemModeler Link:

Plot a preferred stored plot from a model simulation:

Plot a stored plot from a model simulation:

Simulate a model for 10 seconds:

Plot the variable x1 for the whole interval:

Different simulations can be compared in the same plot:

The tooltip is prepended with the simulation number:

Scope  (21)

Variable Specification  (3)

Plot variables from a model simulation:

Give variables using DotName:

Show bounds when varying a parameter:

Show the estimated capacitor voltage variation when varying the frequency by 5%:

Time Specification  (1)

If no interval argument is given, the whole simulation interval is plotted:

Plot only a certain interval:

Simulation Specification  (4)

Simulate and plot a model from 0 to 5:

Simulate a model with given initial values and plot the result:

Simulate an oscillating mass on a spring, with a damper acting on the spring:

Use three different values for the damping constant:

Compare the oscillation of the mass with the different levels of damping:

Launch a simulation in real time, writing results to a file:

Start the simulation:

Plot from the result:

Stored Plots  (3)

Models can have stored plots:

Get names of the stored plots:

Show a stored plot:

Stored plots may contain multiple subplots:

Show a stored plot:

Stored plots may contain groupings of plots:

Groups are indicated by the / separator:

All plots in a group can be plotted at once:

Presentation  (10)

Multiple variables are automatically colored to be distinct:

Use PlotStyle to change the plot colors:

Filling can be used to specify fill regions and styles:

Fill between the two curves:

A legend is automatically shown for plots with multiple variables:

Turn off PlotLegends:

Style legends:

Events can be illustrated with Mesh points:

For multiple simulations:

Use any expressions in plot legends:

Do multiple simulations:

The Tooltip and plot legends show which simulation the curve belongs to:

WSMPlot sets the option AxesLabel:

Override by setting AxesLabel:

Wrappers like Style can be used for styling variables:

Setting a Tooltip removes all automatic tooltips:

Plots are shown in display units defined in the model:

Use TargetUnits to choose a different unit:

Options  (6)

PlotLegends  (1)

Use variable names as PlotLegends:

Use variable descriptions:

TargetUnits  (5)

Plot different units in the same plot:

Variables of the same physical dimension are converted to the same unit:

Use "IndividualDisplayUnit" to use the given display unit for each variable:

Use an explicitly given unit:

Plot in a common base unit from the model:

Use the individual base units without converting to a common unit:

Turn off unit handling completely for maximum performance:

Applications  (3)

Do a parameter sweep:

Compare the different simulations to a first-order system:

Find out which parameter a model is most sensitive to:

Simulate with sensitivity to three parameters:

A 5% sensitivity bound on the output shows that "sine.freqHz" has the highest impact:

Show a custom explanatory legend:

Properties & Relations  (5)

WSMPlot is related to Plot:

Select the variables you want to plot:

Plot using WSMPlot:

Plot using Plot:

WSMSetPlot stores a plot in a model:

Simulate and show the newly defined plot:

Use Plot to show variables of different magnitude in the same plot:

Retrieve results from a simulation:

Scale the rotational angle by a factor of 50 and show it with the rotational velocity:

Simulate a rolling wheel:

Get the and position of the wheel axis:

Plot the position with a ParametricPlot:

Show a plot of a simulation running in real time:

Show a plot that updates with new data in real time:

Start the simulation:

Stop the simulation:

Neat Examples  (1)

Simulate a Newton's cradle:

Show the position of each of the five balls: