Function 忽略Matlab函数的输出

Function 忽略Matlab函数的输出,function,matlab,Function,Matlab,可能重复: 我有一个Matlab函数,有两个输出。有时我使用两种输出 function [output1 output2] = myFunction(input) [a b] = myFunction(input); 其他时候我只需要output1,不想浪费内存分配output2 a = myFunction(input); 然而,我想不出一个简单的方法来让反向场景只需要output2,而不想浪费内存分配output1。我以为会是这样 [~ b] = myFunction(input)

可能重复:

我有一个Matlab函数,有两个输出。有时我使用两种输出

function [output1 output2] = myFunction(input)
[a b] = myFunction(input);
其他时候我只需要output1,不想浪费内存分配output2

a = myFunction(input);
然而,我想不出一个简单的方法来让反向场景只需要output2,而不想浪费内存分配output1。我以为会是这样

[~ b] = myFunction(input)

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

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

clear dontwant;

是[~,b],不是[~b]。缺少逗号。

缺少逗号:[~,b]=MyFunctionInput我在添加逗号时遇到以下错误:错误:表达式或语句不正确,可能不平衡,{,或[。您的调用是什么样子的?请张贴您用来调用它的实际行。@yy08:~仅在MATLAB R2009b中引入,您使用的是什么版本?“[~,b]=myFunctioninput'。我正在使用版本2007b,这可能会解释它。在装有2010b的计算机上试用过。效果很好。谢谢您的帮助!