Есть ли разница между [1 2] и [1, 2] в MATLAB? - PullRequest
2 голосов
/ 15 апреля 2010
>> [1 2]

ans =

     1     2

>> [1 ,2]

ans =

     1     2

>> 

Это выглядит так же, это правда?

Ответы [ 3 ]

8 голосов
/ 15 апреля 2010

Нету; нет разницы См. здесь для получения дополнительной информации:

Самый простой способ создать матрицу в MATLAB это использовать матрицу оператор конструктора, []. Создать строку в матрицу путем ввода элементов (показано как E ниже) в пределах скобки. Разделите каждый элемент запятая или пробел:

row = [E1, E2, ..., Em]          row = [E1 E2 ... Em]
4 голосов
/ 15 апреля 2010

Оба выдают вектор строки при применении к скалярным элементам, то есть горизонтальной конкатенации. Пробел эквивалентен запятой внутри квадратных скобок для построения массива или вектора. Фактически, вы можете использовать пробелы и запятые по своему усмотрению в таком выражении, хотя лучше всего этого не делать, так как это будет затруднять чтение. Например, мне трудно читать:

A = [1 2,3, 4 , 5 6 7, 8]

Гораздо проще читать - это одна из следующих альтернатив:

A = [1 2 3 4 5 6 7 8]
A = [1,2,3,4,5,6,7,8]

Разделили ли вы элементы; вместо этого это привело бы к вертикальной конкатенации, которая является другим животным. Вы также можете создавать массивы, используя эти разделители. Итак, чтобы создать массив 2x3,

A = [1 2 3;4 5 6]
A =
     1     2     3
     4     5     6
0 голосов
/ 15 апреля 2010

Если у вас есть сомнения в будущем, проверьте его с помощью функции ISEQUAL :

>> a=[1 2];
>> b=[1,2];
>> isequal(a,b)
ans =
     1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...