2012-11-16 6 views
5

어떻게이 항목을 열로 변경할 수 있습니까? 모든 750 개의 항목이 한 행에 있습니까?행 벡터를 열 벡터로 변경

p = normal(1:750)-1; 

나는 시도했다 :

columns = 1; 
p = normal(1:750)-1; 
p = p(1:columns); 

나는 또한 시도 :

rows = 1000; 
p = normal(1:750)-1; 
p = p(1:rows)'; 

답변

6

내가 방금 트랜스 수 상상 :

p = (normal(1:750)-1)' 
+0

감사합니다. Dan이 설명서 어디에서나 찾을 수 없었습니다. [이전 질문] (http://stackoverflow.com/questions/13412283/matching-row-samples-to-class-labels) 내가 물어 보는 이유입니다. –

+1

아마도 이것이 첫 번째 시도에서 시도한 것일 수 있습니다. p = p (1 : length (p), 1); 트랜스 포스하려면 '을 사용하는 것이 분명 올바른 접근법입니다. – Dan

+1

누군가가 복소수를 사용한다면,'''(또는'ctranspose()') 연산자는 복소 공액 전치 함수라는 점에주의하십시오. 자세한 내용은 https://www.mathworks.com/help/matlab/ref/ctranspose.html의 설명서를 참조하십시오. 만약 nonconjugate transpose를 원한다면'.'' (또는'transpose()')를 대신 사용하십시오. – jvriesem

22

그것은에서 일반적이다를 사용하는 MATLAB연산자 :으로 변환하려면을 열 벡터로 변환하십시오. 알고 또는 normal은 행 벡터 또는 열 벡터 인 경우 걱정없이, 당신은과 같이, 열 벡터로 p 강제 할 수 있습니다 :이 후

p = p(:); 

, p는 열 벡터로을 보장합니다.

+0

그래서 a = 1 : 5는 행 벡터를 생성하지만 b = a (:)는 열 벡터입니까? – John

+2

@ 존 예, 정확하게. –

+0

이것은 실제로 열 벡터가있는 경우 열 벡터를 행 벡터로 변환하지 않으므로 필자가 선호하는 방법입니다. – raoulcousins

3

설정 p = p (:); 참으로 최선의 방법입니다.

'조바꿈을 사용하는 데주의하십시오. 나는 그것이 여러 번 실패하는 것을 보았다. non-conjugate transpose를위한 matlab 연산자는 실제로입니다. ' 그래서 당신은 할 것입니다 :

p = p.' 

복소수 공액을 취하지 않고 트랜스 포즈를하고 싶다면.

관련 문제