2013-07-15 4 views
0

I 가지고 matrix XColumn vector H 다음과 같은 행렬 m의 모든 컬럼 H를 유지하면서matlab의 각 행렬 요소에 난수를 어떻게 추가합니까?

X=[ 1 2 3; 2 3 4; 3 4 5]; 
H=[1; 2 ;3]; 
m=[X(:,1) H(:) X(:,2) H(:) X(:,3) H(:)]; 

가 어떻게 난수를 추가 한 후 (M)의 모든 요소에 작은 난수를 추가 할를?

+1

귀하의 질문은 매우 명확하지 않다. 모든 원소에 무작위 수를 더하고 싶다면, 임의의 수를 추가하기 전에 모든 원소의 원소를 * H *로 유지하시오. 아니면 모든 원소의 원소를 다른 모든 원소와 동일하게 만드시겠습니까? 난수를 추가하기 전부터. 이전/이후 예제 데이터를 제공하면 도움이됩니다. –

+0

두 번째 것. –

답변

2

당신은 개별적으로 난수를 추가해야합니다에 랜덤을 추가 한 다음 결합 된 매트릭스를 구축 할 수 있습니다.

Xnew = X + rand(size(X)); % replace 'rand' with the random numbers you want 
Hnew = H + rand(size(H)); 
mnew = [Xnew(:,1) Hnew(:) Xnew(:,2) Hnew(:) Xnew(:,3) Hnew(:)]; 
+0

크리스. 이렇게하면 문제가 해결됩니다. –

+1

두 번째 줄은'Hnew = H + rand (size (H))'가 아니어야합니까? – Dan

+0

@ Dan 예, 감사합니다! –

0

당신은 X 대신 m

rX = X + rand(size(X)); % add uniformly distributed random numbers in [0,1] interval 
m=[rX(:,1) H(:) rX(:,2) H(:) rX(:,3) H(:)];