4-D 매트릭스가 있습니다. 크기는 [17,14,122,16]과 같이 경도, 위도, 일, 년입니다. 각 셀에 대해 98 백분위 수 이상의 값의 빈도를 알아야 최종 출력이 98 % 임계 값을 초과하는 값의 발생 횟수를 포함하는 17x14의 배열로 제공됩니다.MATLAB에서 각 셀의 임계 값보다 높은 주파수를 찾습니다.
저는 각 셀에 대해 98 백분위 수와 관련된 값의 매트릭스 17x14를 제공하지만 출현 빈도를 결정할 수 없습니다.
k=0;
p=cell(1,238);
r=cell(1,238);
for i=1:17
for j=1:14
n=m(i,j,[1:122],[1:16]);
n=squeeze(n);
k=k+1;
q=prctile(n(:),98);
r{k}=nansum(nansum(n>=q));
p{k}=q;
end
end
이 코드 행렬을 p
벌금을 부여하지만 매트릭스 r
모든 셀들에 대해 동일한 값을 포함한다. 어떻게 가능할까요? 이걸 내가 뭘 잘못하고 있니? 도와주세요.
모든 데이터가 숫자이므로 2D 행렬로 전환 할 수 있습니까? 그러면 첫 번째 열은 경도이고 두 번째 열은 위도입니다. 이 행렬에 대한 연산은 이해하기가 쉽습니다. 4D 배열의 예제를 반환하는 최소 코드 예제를 제공 할 수 있습니까? –
n = squeeze (n)을 수행하면 122x16 크기의 2D 행렬이 제공됩니다. – MelB