Why my simulink model is running in R2018b but not in R2015a ?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
elie solai
el 13 de Feb. de 2019
Comentada: elie solai
el 15 de Feb. de 2019
Hi all,
I am using a Simulink Model originally developped under Matlab R2018a. The model is composed mostly of matlab functions blocks are more basic blocks. There is no other specific module needed than the ones included in Simulink.
The model runs fine in my R2018b matlab version.
But i have to make it run in Matlab R2015a version, because it's the only matlab version installed on the cluster i work on.
So I just Exported the model to previous version as it is suggested by matlab.
I got erros like "Undefined function or variable <my_variable>. The first assignment to a local variable determines its class"
This error occurs for only 2 variables in the whole model. These two act both as input and output for some functions. I attached a screenshot of the errors displayed by Simulink. ![SimulinkErrors_plafrim.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/203976/SimulinkErrors_plafrim.png)
![SimulinkErrors_plafrim.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/203976/SimulinkErrors_plafrim.png)
I am struggling with this issue because my model works perfectly on my local machine (where i have R2018b installed).
Do you think this might be only a version problem or a deeper error may have occured ?
Thank you for any help or tips on this issue
I wish you a very good day.
Cheers,
Elie
2 comentarios
Yasasvi Harish Kumar
el 14 de Feb. de 2019
Hey,
Can you attach the model that you are working on?
Regards
Respuesta aceptada
Yogananda Jeppu
el 15 de Feb. de 2019
Do you use variable being passed inside as an array. The matlab function in the simulink may require the array size to be defined. I normally assign zeros(10,1) to value x and then assign x to the input variable. x is used inside later. This defines the array of length 10x1. if your function code is big and you use m_dot_air in the code. then pass the variable as m_dot_air1 as a paremeter. function(...,m_dot_air1,...). Inside the function say m_dot_air = zeros(10,1); m_dot_air = mdot_air1;
Más respuestas (2)
qrqr
el 14 de Feb. de 2019
2018で作ったから2015では対応できないのでは?
2018に新しくできたブロックを使っていたら2015では当然できませんよね。
3 comentarios
Yogananda Jeppu
el 15 de Feb. de 2019
You can try the Signal Specification block from Simulink >> Signal Attributes >>. Perhaps this will work. Enable data type and signal dimension display. Format >> Port/Dsiplay >> Signal Dimensions. If you see any ? marks then that needs to be sorted out.
0 comentarios
Ver también
Categorías
Más información sobre Simulink Functions 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!