What's the differene between [a,b] and [a b] in matlab?

56 ビュー (過去 30 日間)
Zhe Dong
Zhe Dong 2022 年 1 月 9 日
コメント済み: Rik 2022 年 1 月 9 日
For arrays in matlab, is there a difference between an array with comma and one without?
  1 件のコメント
Stephen23
Stephen23 2022 年 1 月 9 日
There is a very important difference:
  • a comma clearly shows the intent.
  • a space is unclear and liable to bugs (i.e. unary operators vs binary operators).

サインインしてコメントする。

採用された回答

John D'Errico
John D'Errico 2022 年 1 月 9 日
編集済み: John D'Errico 2022 年 1 月 9 日
No difference. If a comma is used, then MATLAB catenates the elements horizontally. A space is equivalent to a comma.
In SOME circumstances, a comma can be more clear about your intentions, and it can insure what will happen. Good coding practice suggests always using a comma, as this makes it very clear what was intended. And good coding practice says you should use the form that is most easily read and followed, so that you can more easily debug your code later.
There are probably some circumstances (that I am not thinking up at this moment, but they will probably come to me later) where a space can be confusing or even ambiguous, and then you may not know how MATLAB will take it. So in general, use a comma to separate elements.
  4 件のコメント
Zhe Dong
Zhe Dong 2022 年 1 月 9 日
That's very helpful, thank you both!
Rik
Rik 2022 年 1 月 9 日
There are more situations where ambiguous syntax can cause problems: in R2021a and later the code below results in a single value.
[1 -... % NB: no space between minus and ellipsis
2]
ans = -1
In older releases this resulted in [1,-2] (in GNU Octave it still does).

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePerformance and Memory についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by