Vector type output from MATLAB function in Simulink - Errors

22 vues (au cours des 30 derniers jours)
patr chri
patr chri le 27 Mai 2020
Modifié(e) : patr chri le 28 Mai 2020
Hello all,
I have been trying to work out how to implement a vector of any size (1xn) with MATLAB functions in Simulink. For the purposes of this question, let's take a simple test model found in the attached image.
In the first MATLAB function, I have the following simple code:
function y = fcn(u)
if(u == 1)
a = zeros(1,6);
y = a;
end
end
In the second MATLAB function, I have the following code:
function k = fcn(u1)
if(u1(1) == 0)
k = 2;
end
end
Based on answers on relative previous questions in the forum, I have the following settings regarding the variables in both MATLAB function:
However, I get the following errors when I try to run the model:
Output argument 'k' is not assigned on some execution paths.
Function 'MATLAB Function1' (#2181.9.10), line 1, column 10:
"k"
Launch diagnostic report.
Component:MATLAB Function | Category:Coder error
Errors occurred during parsing of MATLAB function 'untitled/MATLAB Function1'
Component:MATLAB Function | Category:Coder error
Output argument 'y' is not assigned on some execution paths.
Function 'MATLAB Function' (#2174.9.10), line 1, column 10:
"y"
Launch diagnostic report.
Component:MATLAB Function | Category:Coder error
Errors occurred during parsing of MATLAB function 'untitled/MATLAB Function'
Component:MATLAB Function | Category:Coder error
Errors occurred during parsing of MATLAB function 'untitled/MATLAB Function'
Component:Simulink | Category:Model error
Any ideas what I am doing wrong?
Thanks,
Christos

Réponse acceptée

patr chri
patr chri le 27 Mai 2020
Modifié(e) : patr chri le 28 Mai 2020
The issue was that I hadn't declared an else/elseif in the if statement so Simulink didn't know what to do if the statement wasn't applying.

Plus de réponses (0)

Catégories

En savoir plus sur Computer Vision with Simulink dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by