How to set a string as an input parameter for a matlab function block?
40 views (last 30 days)
Claudio Ferrara on 28 Dec 2021
Hi, I am trying to set a string as an input mask parameter in a matlab function block in Simulink but it has been a nightmare. So i have set my input as parameter in the ports and data manager, i have created in the mask editor a parameter with the same name. If I use numbers everything works, with strings no.
Actually if you deselect tunable and if you use a popup containing a list of strings in the mask editor simulink creates a sort of hidden enumeration class so the first string corresponds to the number 1 and so on, but this is not what i would like to achieve.
I can pass a string as a normal input using the constant string block, but I would like to write the string using the mask of the block.
Anyone that could help me please?
Pranjal Kaura on 31 Dec 2021
A workaround could be to specify the format of the input data as 'uint8', you will be able to define the string in the mask and have it implicitly imported. You will then need to edit the code to convert the uint8 array into a character array for use with your function. We already have an enhancement request for this functionality recorded and our development team is currently in the process of reviewing this request.
The attached example does just that.
Hope this helps!