Can I create function that use default input unless a user gives one?
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Rik
2022 年 2 月 17 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Satellite Mission Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!