difference in brackets (, [ or no brackets?

I tried typing in a simple array
x= 0:2:10
x=[0:2:10]
x=(0:2:10)
they all give me the same answer whats the difference then?

 Respuesta aceptada

James Tursa
James Tursa el 18 de Oct. de 2016
Editada: James Tursa el 18 de Oct. de 2016

4 votos

0:2:10 produces a row vector of the numbers 0,2,4,6,8,10.
In the [0:2:10] and (0:2:10) versions, the [ ] and ( ) are simply redundant and unnecessary, since what is inside the [ ] and ( ) is already a row vector.
In general, if you have only one argument to the [ ] or ( ) like above, the [ ] or ( ) are unnecessary. If you have more than one argument, then the [ ] actually does something. E.g.
x = [0,2,4,6,8,10]
In this case there are actually 6 separate arguments to the [ ], so the [ ] does something in this case (concatenates the 6 inputs into a single row vector).

1 comentario

(0:2:10) prioritizes the calculation of 0:2:10 . For example,
1 + 0:2:10
ans = 1×5
1 3 5 7 9
1 + (0:2:10)
ans = 1×6
1 3 5 7 9 11
The + operator normally has higher priority than the : operator, so 1 + 0:2:10 is interpreted as (1+0):2:10 which is 1:2:10
[0:2:10] builds the vector 0 2 4 6 8 10 in memory, but then calls the horzcat() operation, as if you had used horcat(0:2:10) . horzcat() with just a single input just returns the same input, so it is valid but uses time that is not productive.

Iniciar sesión para comentar.

Más respuestas (2)

Image Analyst
Image Analyst el 18 de Oct. de 2016

0 votos

No difference - they're ignored. Only difference would be if you used braces {}, which would turn the result into a "cell". See the FAQ for info on that: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
ogaba-oche david
ogaba-oche david el 10 de Mayo de 2023

0 votos

(a+A)/2 keeps telling error, when a = 8 and A = -2

1 comentario

Not for me.
a = 8;
A = -2;
(a+A)/2
ans = 3
Please show us the full and exact text (everything in red) of the error message you received when you performed that operation. You may also want to show us more information about the variables a and A.
whos a A
Name Size Bytes Class Attributes A 1x1 8 double a 1x1 8 double

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 18 de Oct. de 2016

Comentada:

el 10 de Mayo de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by