忽略Matlab函数的输出

时间:2011-07-05 18:57:54

标签: function matlab

  

可能重复:
  How to elegantly ignore some return values of a MATLAB function?

我有一个带两个输出的Matlab函数。有时我会使用两种输出。

function [output1 output2] = myFunction(input)
[a b] = myFunction(input);

其他时候我只需要输出1并且不想浪费内存分配输出2

a = myFunction(input);

但是,我无法找出一种简单的方法来提供相反的方案(只需要输出2而不想浪费内存分配输出1)。我认为它会像

[~ b] = myFunction(input)

但这似乎不起作用。有人建议快速解决方案吗?谢谢你的帮助!

2 个答案:

答案 0 :(得分:2)

它是[~, b],而不是[~ b]。逗号丢失了。

答案 1 :(得分:0)

除非您的输入有办法阻止创建,否则将在myFunction内部创建对象。如果可以在内部阻止创建,则可以修改myFunction以返回单元格数组或其他结构,从中可以决定要保留哪些元素。如果您担心[dontwant b]通过持有dontwant浪费matlab内存,那么您可能希望通过调用

从工作区中删除dontwant
clear dontwant;