What is the difference between the statements: A=2; A=(2); A=[2]?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Paulo Silva
2011-9-5
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.
回答(2 个)
Paulo Silva
2011-9-5
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 个评论
Oleg Komarov
2011-9-5
The square brackets should cause a small overhead for calling the concatenation.
Teja Muppirala
2011-9-5
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
2011-9-5
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!