Import tables in MAT files in custom Mask for use with ML Function Block

6 views (last 30 days)
How do I import a MAT file with a table for use inside of a custom mask with a MATLAB function block?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 4 Oct 2019

For variables to be accessed through the mask, they need to be Simulink parameters. As you cannot have a "table" type in a Simulink parameter, the closest method is to convert your table into a "struct".

A "struct" will not include your row names, but will still include the column names.

To do this, create a mask over your MATLAB Function block.

The mask should have an "edit" parameter to specify the table object you are working with. You would also most likely want a "button" action to allow for a "uigetfile" callback to have a user select a file, then load the table as a mask parameter.

The "edit" parameter needs to hold the table value. On the mask initialization callback, set a variable using the "table2struct" function on your table parameter.

In the MATLAB function block, select Simulink from the top ribbon, then "Edit Data". Add a parameter with the same name as the mask structure parameter. You should now have access to a structure in the MATLAB function block.

More Answers (0)

Categories

Find more on Author Block Masks in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!