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

 采纳的回答

Jan
Jan 2012-7-20
编辑:Jan 2012-7-20
Several methods:
X = rand(10, 20);
V1 = X(:);
V2 = reshape(X, 1, []);
V3 = reshape(X, numel(X), 1);

更多回答(1 个)

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 个评论

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

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by