2014-04-29 4 views
1

거대한 ~ 9Gb .bin 파일이 있습니다. fread()으로 데이터를 읽고 2 차원 배열 A ~ 10^9 점을 얻습니다.MATLAB에서 가장 큰 2D 데이터를 표시하는 가장 빠른 방법

figure(1) 
    imagesc(x,y,A) 

그것은 나를 위해 800 ~ 초 정도 걸립니다 내가 그림에 아무 것도 할 수 없습니다만큼 간단 imagesc()로 표시하려고

. 나는 파일을 올바르게 읽었을 것이라고 확신한다. 작은 것들로 확인했습니다.

내 PC에 적은 노력으로 거대한 데이터를 표시하는 방법이 있습니까?

답변

2

아마도 A에서 일종의 다운 샘플링을 사용하십시오. 이를 올바르게 수행하려면 로우 패스 필터와 데시 메이션을 적용해야하지만 로우 패스 필터는 매우 오래 걸릴 수 있습니다. 그래서, 가능 앨리어싱 적용하더라도, 당신은 단지 그것을 n에서 샘플을 채취하고 음모를 시도 할 수 있습니다 :

n = 10; %// choose as suits you best 
imagesc(x(1:n:end), y(1:n:end), A(1:n:end,1:n:end)) 
1

데이터의 특성을 모르고 귀하의 질문에 대답하는 것은 매우 어렵다. 데이터가 이미지가

  • 경우는 알려진 방법에 사용 다운 스케일, 또는 그것을 잘라해야합니다

    여기에 몇 가지 아이디어입니다.

  • 데이터가 원활하다는 것을 알고 있다면 별칭을 도입하지 않고도 샘플링 할 수 있습니다.
  • 데이터 자체를 표시하는 대신 데이터에 대한 통계를 보여줍니다.
+0

과학적 계산이므로 부드러움에 대한 정보는 없습니다. 어쨌든 다운 샘플링이 도움이 될 것 같아서 고마워. – MaxPY

관련 문제