날이 코드를 이해하는 데 도움이 바랍니다 무엇 :다음 MATLAB 코드의 평균이
x(:,i) = mean((y(:,((i-1)*j+1):i*j)), 2)';
내가 내 책에서 찾을 수 없습니다. 감사.
a = (i-1)*j+1;
b = i*j;
val = y(:,a:b);
x(:,i) = mean(val, 2)'; %# =mean(val')
당신이 이해하지 못하는 정확히 무엇 :
날이 코드를 이해하는 데 도움이 바랍니다 무엇 :다음 MATLAB 코드의 평균이
x(:,i) = mean((y(:,((i-1)*j+1):i*j)), 2)';
내가 내 책에서 찾을 수 없습니다. 감사.
a = (i-1)*j+1;
b = i*j;
val = y(:,a:b);
x(:,i) = mean(val, 2)'; %# =mean(val')
당신이 이해하지 못하는 정확히 무엇 :
당신이 게시 코드는 임시 변수를 사용하여 가독성을 할 수 있습니까? mean
의 의미는 :
및 '
입니다. matlab 도움말을 참조하십시오.
배열 x의 i 번째 열은 배열 y의 j 번째 열 그룹의 평균입니다.
예를 들어, i가 1이고 j가 3이면 x의 첫 번째 열은 y의 처음 세 열의 평균입니다.
당신이 이해하지 못하는 정확하게 말했다 경우 도움이 될,하지만 여기에 몇 가지 팁입니다
당신이 같은 경우 (r은, C), 행렬 A를 의미가 행 r, c 열 (항상이 순서대로). 즉 괄호 안에 쉼표로 구분 된 두 개의 요소가 있어야합니다. 첫 번째 행은 행을 나타내며 두 번째 요소는 쉼표로 구분됩니다.
다음과 같은 경우 : 쉼표의 한쪽에 "all"을 의미합니다. 따라서, (r, :)가 있다면 행렬 a, 행 r, 모든 열을가집니다.
쉼표의 한쪽에만 혼자있는 것이 아니라면 "~"을 의미합니다. 그래서 당신이 (r, z : y)를 가졌다면 행렬 a, 행 r, 열 z에서 y를 의미합니다.
평균 = 평균. Matlab의 함수 형식은 M = mean (A, dim)입니다. A는 평균 (또는 평균)을 취하는 행렬이 될 것이고, M은 결과가 나타날 곳이 될 것입니다. dim = 1 인 경우 각 요소가 열의 평균이되는 행 벡터를 가져옵니다. dim = 2 인 경우 (귀하의 경우), 각 요소가 행의 평균이되는 열 벡터를 가져와야합니다. 코드 끝에을주의하십시오. 왜냐하면 코드의 끝 부분에 ', 이것은 중첩을 의미하기 때문입니다. 즉, 열 벡터가 행 벡터로 변환됩니다.
확인, 코드 있도록 : 내부 비트
x(:,i) = mean((y(:,((i-1)*j+1):i*j)), 2)';
시작, 그
y(:,((i-1)*j+1):i*j)
그래서
말하고있다
행렬 Y (R, C)
R (행)이다, 즉, 모든 행
C는 (열) ((I-1) J + 1)이다 난 J, 즉, 열 I- (부터 예정 1) J + 1 전까지 J
그때 R, C) (Y라는 것으로부터 얻어진 행렬을 얻을 것이고, 다음 할 것이다 번호 :
mean((y(r,c), 2)
하기 때문에 얻을 위에서 얻은 결과와 각 행의 평균 (평균)을 취합니다. 귀하의 코드가 '나중에'즉, 당신은 가지고있다 :
mean((y(r,c), 2)'
그러면 그것은 열 벡터를 가져 와서 행 벡터로 변환 할 것이다. 이 행의 각 요소는 y (r, c) 행의 평균이됩니다. 마지막
:
x(:,i) = mean((y(r,c), 2)';
는 결과가 상기 행렬 X의 열 I에 배치된다는 것을 의미한다.
대신 x (i, :) 여야하지 않습니까?
'의 평균을 찾을 수 없습니다. – nata
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/arithmeticoperators.html – yuk