Matlab에서 추적기 필드의 평균을 계산하려고하지만 필드를 구성하는 셀의 크기가 다릅니다.matlab에서 고르지 않은 가중치에 대한 평균을 계산하십시오.
T =
1 3 5 8
2 1 4 3
2 1 9 1
20 8 3 1
그리고 난이 개 더 많은 필드를 가지고 dx
및 T
을 구성하는 세포의 크기를 설명 dy
예를 들어, 내 추적 필드입니다.
dx =
1 1 2 3
1 1 2 3
1 1 2 3
1 1 2 3
및
dy =
3 3 3 3
3 3 3 3
2 2 2 2
1 1 1 1
그래서, 직관적,
dx
및
dy
는 동안 추적 필드
T
의 왼쪽 하단 모서리가
T
의 평균의 계산에 작은 기여를해야한다고 말해 오른쪽 상단 구석이 가장 큰 기여를해야합니다.
나는 처음 mean(mean(T))
을 시도, 그러나 이것은 분명히 같은 것을 사용하여, 나는 철저 수동으로 평균을 계산하고 가중치를 포함 거라고 생각 조사의 조금 후에 T
등의 왼쪽 하단의 중요성을 비중 확대 이 :
T_mean_i = sum(T*dx)./sum(dx)
그리고 dy
유사한, Y 방향의 셀 폭. 그러나이를 구현하는 방법을 잘 모르겠습니다.
편집 : 다음은 내 질문에 대한 자세한 내용입니다.
내 눈금은 260 * 380 셀이므로 size(dy) = size(dx) = 260-by-380
입니다. 추적 필드는 표면 플럭스 필드, 예를 들어 sflux
을 비슷한 크기의 염분 필드 인 salt
으로 나눔으로써 계산됩니다. 따라서 size(sflux) = size(salt) = 260-by-380-by-1000
, 여기서 시간 차원은 길이가 1000
입니다.
나는 각 시간 단계 ii
에서 셀 너비 필드의 가중치, dx
및 dy
을 포함 sflux(:,:)./salt(:,:,ii)
의 평균을 찾고 싶어요. (for-loop를 사용하지 마십시오. 걱정하지 마세요!)
내가하고있는 일을 제대로 수행하고 있습니까? 아니면 내가 잘못 생각한거야? 언제든지 설명을 요청하십시오.
건배!
각 요소의 크기 : 해당 위치에 'dx' 및'dy '** 제품 ** 또는 ** sum **? – Shai
음,'dy. * dy'는 각 셀의 영역입니다. 그래서, 제가 생각하기에, 각 세포의 면적은 평균을 위해 주어져야하는 가중치를 결정합니다. 내 유일한 관심사는 그 결과가 * 정규화 *되었습니다. ... –
슈퍼 빠른 답변 주셔서 감사합니다 ... 나는 필드가 실제로 3 차원 (세번째 희미 함)이므로'(:) '를 사용하지 않았습니다. 시간을 나타내는). 그래서, 나는 각 시간 단계에서 평균을 계산하고 싶다. '(:)'를 사용하는 것은 항상 의미합니다. –