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

10 ビュー (過去 30 日間)
rach
rach 2012 年 3 月 3 日
編集済み: DGM 2025 年 3 月 27 日
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!

回答 (3 件)

S An
S An 2018 年 4 月 29 日
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 件のコメント
Siva Shankar
Siva Shankar 2019 年 3 月 4 日
編集済み: Siva Shankar 2019 年 3 月 4 日
S An that was a silly answer.Hope it's not useful

サインインしてコメントする。


amal elkouche
amal elkouche 2019 年 11 月 10 日
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 2025 年 3 月 27 日
編集済み: DGM 2025 年 3 月 27 日

Community Treasure Hunt

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

Start Hunting!

Translated by