conversion of 2d array in to vector

hai matlab users
i have a 2d array double matrix ; i would like to convert it to vector.
2d array to vector.
since dec2bin not working on arrays; i would like to convert the array in to vector. can any one say, how to convert a 2d array into a vector with an example or the command to do that

1 Comment

thanks sir,
but how to convert 2d double array into a vector.

Sign in to comment.

 Accepted Answer

Jan
Jan on 20 Jul 2012
Edited: Jan on 20 Jul 2012
Several methods:
X = rand(10, 20);
V1 = X(:);
V2 = reshape(X, 1, []);
V3 = reshape(X, numel(X), 1);

More Answers (1)

Hanoh Beizer
Hanoh Beizer on 20 Jul 2014
Edited: Hanoh Beizer on 20 Jul 2014
That's what I did with my picture:
sz=size(pic);
num=sz(1)*sz(2);
pic_vec=zeros(num);
count=1;
for i=1:sz(1)
for j=1:sz(2)
pic_vec(count)=pic(i,j);
count=count+1;
end
end

2 Comments

zeros(num) creates a num*num matrix. I assume you mean zeros(num, 1). Anyway, the loopless pic_vec=pic(:) is much faster.
HERE IS THE CODE IN MATLAB TO CONVERT 2D MATRIX TO A VECTOR:
sz=size(pic);
num=sz(1)*sz(2);
pic_vec=zeros(1,num);
for i=1:sz(1)
for j=1:sz(2)
pic_vec(1,(i-1)*sz(2)+j)=pic(i,j)
end
end

Sign in to comment.

Categories

Asked:

on 20 Jul 2012

Commented:

Anu
on 9 Oct 2014

Community Treasure Hunt

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

Start Hunting!