If A is a matrix, A(:) produces the columns in a vector. Is there a parallel function for rows?
조회 수: 116 (최근 30일)
이전 댓글 표시
A=[1,2,3;4,5,6;7,8,9]. Then A(:) returns [1;2;3;4;5;6;7;8;9]. Is there an operator that will produce [1,2,3,4,5,6,7,8,9]?
댓글 수: 0
답변 (1개)
James Tursa
2016년 8월 26일
편집: James Tursa
2016년 8월 26일
First, I assume your example result is a typo, since A(:) will return the elements in column order, not row order. E.g.,
>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> A(:)
ans =
1
4
7
2
5
8
3
6
9
To get them out in row order, transpose A first. E.g.
>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> reshape(A',[],1)
ans =
1
2
3
4
5
6
7
8
9
댓글 수: 2
James Tursa
2016년 8월 26일
편집: James Tursa
2016년 8월 26일
Ummm ... that was a direct copy from my MATLAB command window, and the order is clearly 1,2,3,4,5,6,7,8,9 as shown. If you want the result as a row instead of a column, then simply:
reshape(A',1,[])
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!