Error: The sample time for any variable-size signal must be discrete

24 vues (au cours des 30 derniers jours)
rach
rach le 3 Mar 2012
Modifié(e) : DGM le 27 Mar 2025
Hi,
I have the following code within the MATLAB Function Block Editor (in the Matlab function found in the user-defined library in simulink). The size of output y depends on the input u.
function y = fcn(u)
%#codegen
assert(u<=10);
y = zeros(1,u);
for i = 1:u
y(i) = 3;
end
end
Also, in the Ports and Data Manager, I have also checked the Variable Size option for output y, and entered a size of 10 in the Size field.
However, running the simulation generated the error: The signal at input port 1 of 'untitled/Display' is a variable-size signal with a nondiscrete sample time. The sample time for any variable-size signal must be discrete.
May I know what is going on and how do I go about solving it? I would greatly appreciate any help or advice. Thanks in advance!

Réponses (3)

S An
S An le 29 Avr 2018
Hi, I met this problem today. I solved it by creating a new blank "matlab function" in simulink and copying the code from the old one. Hope it's useful!
  1 commentaire
Siva Shankar
Siva Shankar le 4 Mar 2019
Modifié(e) : Siva Shankar le 4 Mar 2019
S An that was a silly answer.Hope it's not useful

Connectez-vous pour commenter.


amal elkouche
amal elkouche le 10 Nov 2019
Hi S An, I also met this problem, can you tell me how can I connect the ports of the new matlab function with the model?
Thank you in advance

mark
mark le 27 Mar 2025
Modifié(e) : DGM le 27 Mar 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by