逗号分隔与不分隔的MATLAB函数返回之间有什么区别?

逗号分隔与不分隔的MATLAB函数返回之间有什么区别?,matlab,Matlab,我忘记了MATLAB中函数返回值之间的逗号,它没有抱怨 function [returnA, returnB]=foo(paramA) returnA=ones(1,10).*paramA; returnB=magic(4); end function[]=voo() %typing the return as this [A,B]=foo(5); %gives the same result as [A B]=foo(5); end 我的问题

我忘记了MATLAB中函数返回值之间的逗号,它没有抱怨

function [returnA, returnB]=foo(paramA)
    returnA=ones(1,10).*paramA;
    returnB=magic(4);
end

function[]=voo()
    %typing the return as this
    [A,B]=foo(5);
    %gives the same result as
    [A B]=foo(5);
end

我的问题是:这是完全相同的行为吗?我在文档中找不到它

是的,这与您在问题中提供的代码是一样的


正如@LuisMendo在评论中指出的,如果您在编辑器中查看MATLAB(又名代码分析器)消息,您将看到:

最佳实践是用逗号分隔输出变量


这意味着这两种语法都是有效的。至于为什么会出现这种情况,我不太清楚,我也找不到任何具体的指向“仅仅因为”的东西。正如@rayryeng在评论中指出的,这可能还与将语法与MATLAB对齐有关。

是的,这是相同的行为。编辑说,如果你忘记了逗号“最佳做法是用逗号分隔输出变量”。这意味着不带逗号的版本也会被删除acceptable@LuisMendo那么为什么最好的做法是用逗号分隔输出变量呢?@EBH因为它遵循逗号分隔列表的惯例:主要是因为代码更可读