How to convert matrix to 1-D array and back to matrix form?
조회 수: 8 (최근 30일)
이전 댓글 표시
I have a matrix of size say, W X H, i have to convert the matrix into a 1-D array and perform some operations(bitxor) and again retrieve back my image in the same dimension ie W X H. How to do it? Thanks in advance.
댓글 수: 0
채택된 답변
Stephen23
2015년 7월 27일
편집: Stephen23
2015년 7월 27일
>> A = [1,2,3,4;5,6,7,8]
A =
1 2 3 4
5 6 7 8
>> B = reshape(A,1,[]) % columnwise
B =
1 5 2 6 3 7 4 8
>> B = reshape(A.',1,[]) % rowwise
B =
1 2 3 4 5 6 7 8
>> reshape(B,size(A))
ans =
1 3 5 7
2 4 6 8
Note how one can use the transpose operator to select between columnwise and rowwise conversion from the matrix to the vector.
댓글 수: 3
Stephen23
2015년 7월 27일
편집: Stephen23
2015년 7월 27일
If the number of elements has changed then you will have to decide yourself how this should be dealt with. You have many choices, such as:
- define a new size based on the new number of elements
- removing some values
- padding
- subsampling
- interpolating
- extrapolating
- etc
What do you want to do?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!