How do I add character to a string in Simulink/Simevents?
6 views (last 30 days)
Show older comments
Is there a way to append characters from array in Simulink/Simevents? I have tried to add characters to an empty string using strcat and append in Simulink/Simevents, but I am getting the following error:
Incorrect size for expression '<output of strcat>': expected [1x0] but found [1x1].
Incorrect size for expression '<output of append>': expected [1x0] but found [1x1].
Is there a way to make this work? or is there another way to append characters to an empty string in Simulink/Simevents? The following is the code I am using. Thank you.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1084935/image.png)
memory is an array with 10 0s.
1 Comment
Answers (1)
Mark McBroom
on 4 Aug 2022
Simulink doesn't like the fact that the variable s grows in length. Try something like this:
.....
s = repat(' ',1,10); % create char array of max size
s_counter = 0;
for c=1:length(entity.memory)
if(entity.memory( c ) ~= 0
s_counter = s_counter + 1;
s(s_counter) = entity.memory( c );
end
end
fprintf('%s\n', s);
0 Comments
See Also
Categories
Find more on Discrete-Event Simulation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!