In my Simulink model I would like to conditionally write output data to selectable .mat files in different relative directories.

2 views (last 30 days)
I have attempted to use a 'Switch Case' block with several 'Switch Case Action Subsystem' blocks, each containing a 'To File' block specifying a different relative directory and filename (.MAT). Unfortunately Simulink initializes empties (re-initializes) the MAt files specified in the non active Cases each run.

Accepted Answer

Jim Riggs
Jim Riggs on 18 Dec 2019
This sounds like a rather sophisticated way of constructing output. I'm not sure if that is easily acomplished with the "to file" block. I like to use S-functions to control my output.
In fact, I have an S-function that is the first block to run in my model (this is accomplished by placing it at the top level of the model and assigning it a priority = 1). this block reads a number from a file called "serialNumber", increments the number, and saves the incremented number bask to the "serialNumber" file. This serial number is used in other S-functions that generate output files, and appended to the output file name, so that every time I run the model the output is recorded in a new file with a "run number" attached to the file name. I can keep a log of all of the runs (date, time, run parameters), and pull up results for comparison (by run number) later. In fact, you can have the S-function that reads the serial number keep the run log in a file for you.
  1 Comment
Mark Wilson
Mark Wilson on 18 Dec 2019
Thank You Jim.
A very useful suggestion. I am now convinced that I cannot use the To File block as I am doing in Case Switch Action blocks.
Best Regards, Mark.

Sign in to comment.

More Answers (0)

Categories

Find more on Event Functions in Help Center and File Exchange

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!