matrix to vector matrix ?

조회 수: 1 (최근 30일)
ubeyd yuruk
ubeyd yuruk 2015년 4월 2일
편집: Stephen23 2015년 4월 2일
ok i know reshape works for this actually..but i want to reshape my matrix like this a = [111 ,101, 100]
a = [111101100]
reshape makes it like : a= [111100110]
so what i want to do is actually put all vectors behind each other..like first row then second row then third so on..is there anyway to do that ?

채택된 답변

Mohammad Abouali
Mohammad Abouali 2015년 4월 2일
a = [111 ,101, 100];
num2str(a,'%d')
ans =
111101100
  댓글 수: 1
ubeyd yuruk
ubeyd yuruk 2015년 4월 2일
thanks man you just saved my day

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2015년 4월 2일
편집: Stephen23 2015년 4월 2일
The solution is very simple!
MATLAB is column-major, so it works down the columns first, then the along the rows. So if you want to reshape along the rows first, you can simply transpose the input matrix before doing the reshape:
>> a = [1,1,1;1,0,1;1,0,0]
a =
1 1 1
1 0 1
1 0 0
>> reshape(a.',1,[])
ans =
1 1 1 1 0 1 1 0 0
And that's it! Just one little transpose of the input matrix makes this work. There is no need for a slow string conversion. Note that if the input array is already a character array, this method will still work:
>> a = ['111';'101';'100']
a =
111
101
100
>> reshape(a.',1,[])
ans =
111101100

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by