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

6 vues (au cours des 30 derniers jours)
How do I import a MAT file with a table for use inside of a custom mask with a MATLAB function block?

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 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.

Plus de réponses (0)

Catégories

En savoir plus sur Author Block Masks dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by