Best practice for saving only one output from a vector-outputting function

What's the proper way to request only one variable from a vector outputting function, i.e.
[WantThis DontWantThis] = myfun(x, y, ... )
In the past I've just saved the DontWantThis output as a variable called trash and not made reference to it again. This seems rather unprofessional. Is there a cleaner way?

 채택된 답변

Cedric
Cedric 2013년 4월 14일
편집: Cedric 2013년 4월 14일
Simply
WantThis = myfun(x, y, ... )
if you just need/want the first output. More generally
[a, b, c, d] = myfun(x, y, ... )
even if there could be more output args ( e, f, g, ..).
If don't want to name args that you don't need, which are preceding args that you do need, you can use ~ as a placeholder:
[~, ~, c, ~, e] = myfun(x, y, ... )
Note that ~ is supported since 2009 if I remember well (edit: ref).

추가 답변 (1개)

You can replace it with a tilde (~)
[WantThis ~] = myfun(x, y, ... )
or just leave it off entirely
WantThis = myfun(x, y, ... )
In the above case, DontWantThis will be thrown away, essentially not returned. I think most people use this latter way, though it can only be used for ignoring return arguments to the right. In other words if you just put one return value:
theOutput = myfun(x, y, ... )
theOutput will be WantThis, not DonotWantThis. Understand?

카테고리

도움말 센터File Exchange에서 Data Type Conversion에 대해 자세히 알아보기

질문:

2013년 4월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by