Function 忽略Matlab函数的输出
可能重复: 我有一个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)
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的计算机上试用过。效果很好。谢谢您的帮助!