difference between a= and a(:)=
Show older comments
I find matlab code with assignments
a(:)=... and a(1:N)=...
where in the latter case the right hand side has length N also.
Why they dont write just a=...
Is there a difference?
Also I found the code snipped
if isvector(V)
V = V(:);
what is the sense of this??
Accepted Answer
More Answers (2)
a(1:N) will be either row or column vector depedning on a is row or column vector respectively.
a(:) always gives you a column vector.
a = rand(1,10) ;
a(1:10)
a(:)
If A is a matrix, A(:) will give a column vector will all columns appended one after another.
You can try yourself instead asking such simple questions.
Walter Roberson
on 7 Jun 2021
Assigning to a(:) or a(1:N) keeps the same "shape" and datatype.
Example:
A1 = zeros(5,1,'uint8');
A2 = zeros(5,1,'uint8');
A1(:) = 1:5;
A2 = 1:5;
After, A1 stays a uint8 column vector, but A2 becomes a double precision row vector.
1 Comment
Ernst Reißner
on 7 Jun 2021
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!