- https://www.mathworks.com/help/coder/ug/timetable-limitations-for-code-generation.html
- https://www.mathworks.com/help/fixedpoint/ug/timetable-limitations-for-code-generation.html
Simulink Matlab system block with timetable error
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
gregory pais
el 15 de Dic. de 2023
Comentada: gregory pais
el 3 de En. de 2024
In my class derivated from matlab.System I use a timetable property initialized with the function array2timetable from a matrix of size 1460*1441 double elements
I use further this timetable in my code and in Matlab and all run without issue.
But when I use it in Simulink throught a Matlab system object I have this error after ctrl+D
Simulink detected an error 'Unable to determine a common type for all cell elements due to failed loop unrolling.'. The error occurred for MATLAB System block 'test/MATLAB System'. See line 45, column 35 in file 'C:\Program Files\MATLAB\R2022b\toolbox\matlab\datatypes\codegen\tabular\+matlab\+internal\+coder\@tabular\extractData.m'. The error was detected during size propagation phase.
After many test I find this error is due to my timetable exceeds 1100 variables when I create a timetable with an array of 1460*1100 double elements this error is not rised.
How to solve this issue ? any configurations parameters?
0 comentarios
Respuesta aceptada
Jaynik
el 29 de Dic. de 2023
Hi Gregory,
I understand that MATLAB code executes without any issue when using 'timetable' but you are encountering an error when integrating the code within Simulink through a MATLAB "System" block.
It is difficult to provide you a specific answer without investigating the actual model. While the code for "timetable" runs without any errors on MATLAB, there are some limitations to it when it comes to Simulink. It is recommended to go through the following documentation which outlines the limitations for code generation with "timetables":
Alternatively, if possible, try reducing the complexity of the timetable by limiting the number of variables or the size of the data. If your application permits, dividing the timetable into smaller segments could be a viable workaround.
Hope this helps!
Más respuestas (0)
Ver también
Categorías
Más información sobre Transmitters and Receivers en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!