Why do I receive an error message about output arguments for my Embedded MATLAB Function in Simulink?

2 Ansichten (letzte 30 Tage)
I have if-else statements in my code to output different results in different situations. When I start the simulation I get the following error message.. I hope you can help me. Thank you
Output argument 'D' is not assigned on some execution paths.
Function 'MPPT /IC Algo' (#182.9.10), line 1, column 10: "D"
function D = InCon(V,I,T)
  2 Kommentare
Honglei Chen
Honglei Chen am 6 Jun. 2018
The error message suggests that your D is not assigned for certain input combination. without the code itself, it would be hard for people to provide useful suggestions.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Birdman
Birdman am 8 Jun. 2018
Simulink wants to know the initial value and size of your output at the very beginning of the simulation. Therefore, add
D=0;
statement to your function at the very beginning. Then, it should work without error.
  3 Kommentare
Birdman
Birdman am 9 Jun. 2018
Then check your if-else statements and make sure that they are being entered because your value should have changed.

Melden Sie sich an, um zu kommentieren.


Honglei Chen
Honglei Chen am 8 Jun. 2018
Your D is undefined for the cases where T<=n*0.005
You can consider add that by adding the else branch to the code, for example,
if T>n*0.005
... % what you have now
else
D = Dold;
end
HTH

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by