Can I create function that use default input unless a user gives one?

1 visualizzazione (ultimi 30 giorni)
Hi I want to create function that will use current time to calculate the position of satellites. But later on I will need this function to calculate the satellite position at a few second ahead of the current time for example current time is let's say 50 seconds for the sake of simplicity and I want to update it with 2 second later.
Now I want this function to calculate the sat position at t = 50 seconds by defult unless I give it the 2 second and it adds to the first time. Please check the code structure for better understanding of the uestion
function satposit(time)
if nargin<0
t = 50 % just an example only
s = vt % just an example only
else if nargin>=1
t = 50 + time
s = vt
end
end

Risposta accettata

Rik
Rik il 17 Feb 2022
The code you show is almost exactly what you describe (except for the <0 instead of <1): if the user doesn't provide an input, it will set t to 50, otherwise it will set t to 50+time.
You could have found this error using the debugger to step through your code.
Note that this is a more common way to do this:
function satposit(time)
if nargin<1
time=0; % define the default value of time
end
t = 50 + time;
s = vt;
end

Più risposte (0)

Categorie

Scopri di più su Reference Applications in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by