Wrong number of arguments in the Matlab function

whenever I run the below code, it's executed successfully. I want to convert it into C code by Matlab coder app. But It's showing error.
soc=60;
y=libonoff(soc)
y = 1
function [y]=libonoff(soc) %#codegen
if soc>=80
lib=0;
else
lib=1;
end
y=lib;
end

3 comentarios

Stephen23
Stephen23 el 13 de Mzo. de 2023
As the error message states, the function LIBONOFF requires one input argument, but you are calling it with zero input arguments. What do you expect to occur, when you call it with no input arguments?
Ismat
Ismat el 13 de Mzo. de 2023
So far I know, it's not possible to generate C/C++ executable code from Matlab scripts rather than Matlab function. My function works properly in my script. In the process of code generating how to call it with an input aruguments in a function? generally we call it in the script.
Matan Silver
Matan Silver el 14 de Mzo. de 2023
Hi Ismat,
My last comment was incorrect so I've deleted it so as to not mislead anyone. Stephen above is correct. It looks like you typed "libonoff" when the GUI asked you to provide a command or script that exercises your entrypoint. However, the function expects an input. So you should either provide "libonoff(1)", or the name of your script that internally calls libonoff, in order to correctly exercise the entry-point. MATLAB Coder is behaving as expected in this case, since you are calling the function with no inputs when it expects one input.
Thanks and let me know if you have any questions,
Matan

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre MATLAB Coder en Centro de ayuda y File Exchange.

Productos

Versión

R2022b

Etiquetas

Preguntada:

el 13 de Mzo. de 2023

Comentada:

el 14 de Mzo. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by