Can I create function that use default input unless a user gives one?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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
0 Kommentare
Akzeptierte Antwort
Rik
am 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
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Satellite Mission Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!