How do I programmatically change data names in a Stateflow Chart
Prashant Kumar answered .
2025-11-20
First you use the 'sfroot' function to get a handle to the root Simulink object:
>>rt = sfroot;
Then you use the 'find' method to get a handle to the chart:
>>ch = rt.find('-isa' , 'Stateflow.Chart')
Lastly, you use the 'find' method again to get a vector of the data objects:
>>signals = ch.find('-isa' , 'Stateflow.Data')
You can edit any property of the data object and Stateflow will automatically update. For instance, if you wanted to change the name of the first signal, you can execute:
>>signals(1).Name = "First_Signal"