2016-07-19 9 views
3

私は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 

私の質問は、まったく同じ動作ですか?私は文書でそれを見つけることができませんでした

+5

はい、同じ動作です。 – excaza

+1

コンマを忘れてしまった場合、エディタは "_ベストプラクティスは出力変数をカンマで区切ることです_"と言います。これは、カンマなしのバージョンも受け入れ可能であることを意味します。 –

+1

@ LuisMendoしたがって、_ベストプラクティスは出力変数を区切ることがなぜ_カンマ_ですか? – EBH

答えて

3

はい、あなたの質問で提供するコードで見られるのと同じ動作です。


あなたが表示されますエディタでMATLABのlint(別名コードアナライザ)メッセージを見れば@LuisMendoは、コメントで指摘するように:

ベストプラクティスは、出力変数を分離することですカンマで

これは、両方の構文が有効であることを示しています。 については、なぜなのかわかりません。「ただの理由」を指す傾向のある具体的なものは実際には見つかりません。コメント内で@rayryengが指摘しているように、MATLABのcomma-separated listsと構文を揃えなければならない場合もあります。

関連する問題