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

2 vues (au cours des 30 derniers jours)
Imtiaz nabi
Imtiaz nabi le 17 Fév 2022
Réponse apportée : Rik le 17 Fév 2022
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

Réponse acceptée

Rik
Rik le 17 Fév 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

Plus de réponses (0)

Catégories

En savoir plus sur Satellite Mission Analysis dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by