Not enough input arguments
2 views (last 30 days)
Show older comments
Anthony Santana
on 3 Mar 2023
Answered: Walter Roberson
on 4 Mar 2023
I am a novice and I ran this code in December with no issues. Now I get an error "Not enough input arguments. Error in line 7. alg.ptag = pid;.
I was just prompted to renew my license, not sure if that changed my version to a new one that works differently.
How can I rewrite it so that it works? Did something change in Matlab?
function initalg(pid)
% Setting global parameters
global alg
alg = {};
% parameters to use
alg.ptag = pid;
3 Comments
Walter Roberson
on 4 Mar 2023
it might be an attempt to clear the previous value of the the global since this is an initialization function. It should probably be something like
alg = struct() ;
Accepted Answer
Walter Roberson
on 4 Mar 2023
The error message is telling you that you did one of three things:
- You invoked initalg or initalg() at the command line without providing any parameter for the function; OR
- You had code that called initalg() without passing in any parameter to the function; OR
- you were in the editor at initalg.m file and you pressed the green Run button. The Run button is equivalent to invoking the function without any parameters.
0 Comments
More Answers (1)
Les Beckham
on 3 Mar 2023
Perhaps you have added the control system toolbox since last time this worked?
That toolbox contains a function named pid that expects input arguments.
which -all pid
help pid
See Also
Categories
Find more on PID Controller Tuning in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!