What is the difference between the statements: A=2; A=(2); A=[2]?
Afficher commentaires plus anciens
I am a beginner, got a question about it When making an assignment, it usually uses A=2, and it is also understandable that A=[2] as matrix form. But what's the point of A=(2) here that returns the same value? it works when I am trying to change a value to a matrix.
3 commentaires
Andreas Goser
le 5 Sep 2011
Do you ask, because you reuse code that is created like that?
edvyan
le 5 Sep 2011
Paulo Silva
le 5 Sep 2011
It depends where the parenthesis are located on the expression, if you put the ( after the variable it means you are going to insert index or indices values, if you put ( after the equal it will be ignored.
Réponses (2)
Paulo Silva
le 5 Sep 2011
In MATLAB values like [2] and (2) are the same as 2, for the ( type they mean other things when used after a variable or function.
now for more values
A=[1 2 3] %same as A=1:3
A is now a vector and if you do A(2) you get the second value of the vector A which is 2
2 commentaires
Oleg Komarov
le 5 Sep 2011
The square brackets should cause a small overhead for calling the concatenation.
Teja Muppirala
le 5 Sep 2011
When used in loop indices, square brackets will make things very slow:
%% Very fast
tic
x = 0;
for n = 1:1e6
x = x+1;
end
x
toc
%% Very slow
tic
x = 0;
for n = [1:1e6]
x = x+1;
end
x
toc
Fangjun Jiang
le 5 Sep 2011
0 votes
To merely answer your question.
A=2 is the same as A=[2], is because 2 is a special case of a matrix with size as 1x1.
A=2 is the same as A=(2), is because 2 can be regarded as a special case of an calculation, for example, it could be A=(4-3)*2
You may want to learn other use of (),{} and [] in MATLAB. Type 'help {' to see a list of symbols and their use.
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!