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?

 采纳的回答

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 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by