Error:not enough input arguments

1 visualizzazione (ultimi 30 giorni)
Laura Ristea
Laura Ristea il 4 Gen 2023
Risposto: Steven Lord il 4 Gen 2023
I need to calibrate an magentometer but when i press run it says that i don't have enough input arguments on line 24.Any advice?
function calCo = calibrate(out)
%Initially no offset and unity gain
calCo.offset = 0;
calCo.g = 1;
mx_max = -1e9;
my_max = -1e9;
mz_max = -1e9;
mx_min = 1e9;
my_min = 1e9;
mz_min = 1e9;
%Display wait bar dialog box to show calibration is running
statusBox = waitbar(0, 'Rotate magnetometer in the x-y plane', ...
'Name','Calibration');
%Start a stopwatch timer
tic;
t_stop=10;
%Read raw magnetometer ouput for t_stop seconds as it is rotated
while toc <= t_stop
[mx, my, mz] = readMag(out, calCo);
%Store max/min values=Nort/South;
mx_max = max(mx_max,mx);
my_max = max(my_max,my);
mx_min = min(mx_min,mx);
my_min = min(my_min,my);
%Update wait bar
waitbar(toc/t_stop, statusBox)
end
%Reset timer and waitbar ,with a delay of 1 second to read instructions
waitbar(0, statusBox, 'Rotate magnetpmeter in the x-z plane')
pause(1);
%Read raw magnetometer ouput for t_stop seconds as it is rotated
while toc<= t_stop
[mx, my, mz] = readMag(out,calCo);
%Store max/min values=Nort/South;
mz_max = max (mz_max,mz);
mz_min = min (mz_min, mz);
%Update wait bar
waitbar(toc/t_stop, statusBox)
end
%Close wait bar
close(statusBox)
%Calculate offsets for each axis
offsetX = mx_max;
offsetY = my_max;
offsetZ = mz_max;
%Calculate scaling factors
gainX = (mx_sin - offsetX)/180;
gainY = (my_min - offsetY)/180;
gainZ = (mz_min - offsetZ)/180;
calCo.offset = [offsetX offsetY offsetZ];
calCo.g = [gainX,gainY,gainZ];
mbox = msgbox('Sensor calibration complete');
uiwait(mbox);
end

Risposte (1)

Steven Lord
Steven Lord il 4 Gen 2023
You must call your calibrate function with an input argument (whatever your readMag function requires as its first input). You can do this by typing calibrate followed by that input argument in parentheses like calibrate(42) [if 42 was a valid first input to readMag] or (if you want to use the Run button to run your code) by following the steps on this documentation page.

Categorie

Scopri di più su Dialog Boxes in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by