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

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 Comments

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.

Sign in to comment.

Answers (2)

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 Comments

Thank you for your answer, it works properly.But the values of Dis zero always.
Then check your if-else statements and make sure that they are being entered because your value should have changed.

Sign in to comment.

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

2 Comments

Thank you for your answer,but it doesn't work properly. same error
i am facing the same error, if you have got any solution related to this, please do share me. shreyasacharya05@gmail.com

Sign in to comment.

Asked:

on 6 Jun 2018

Commented:

on 24 Jul 2018

Community Treasure Hunt

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

Start Hunting!