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 Comments

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?
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.
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

Sign in to comment.

Answers (0)

Categories

Find more on MATLAB Coder in Help Center and File Exchange

Products

Release

R2022b

Asked:

on 13 Mar 2023

Commented:

on 14 Mar 2023

Community Treasure Hunt

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

Start Hunting!