2012-02-23 4 views
3

보간하고 싶은 온도 프로파일의 시계열을 가지고 있는데, 데이터가 불규칙적으로 분포하는 경우이를 수행하는 방법을 묻고 싶습니다. 여기 matlab에서 불규칙한 간격의 3D 행렬 보간

매트릭스의 특성이다 :

  • 온도는 시간 1x365
  • 깊이 불규칙 이격 30x1

시간과 깊이이다 30x365

  • 이다. 어떻게 정규 격자로 그들을 삽입 할 수 있는지 묻고 싶습니다. 데이터가 정규 격자에있는 경우에만

    1. interp2 작품 :

      내가 매트랩 interp2TriScatteredInterp 살펴 보았다 그러나 문제는 다음과 같습니다.

    2. TriscatteredInterp은 벡터가 열 벡터 인 경우에만 작동합니다. 시간과 깊이는 둘 다 열 벡터이지만 온도는 그렇지 않습니다.

    감사합니다.

  • +0

    크기 문제를 해결하기 위해 각 온도 행 ('온도 (i, :))'을 반복하면됩니다. 그러나 그 질문은 불분명하다. 네가하고 싶은 것이 정확히 무엇인가? 어떤 종류의 보간인가? 선형, 다항식, 뭔가 환상적입니까? 평소처럼 잘 어울릴 수 없습니까? – Superbest

    답변

    2

    기능 Interp2 그것은 단지 단조 하나가 필요합니다, 전혀 정기적 간격 측정 그리드가 필요하지 않습니다. 즉, 벡터 depthstimes에 저장된 샘플링 위치는 증가 (또는 감소)해야하며 그뿐입니다.

    이 참 * 상황이며 벡터 rdepthsrtimes에 저장 정규직 **에서 보간 할 것을 가정하면, 당신은 할 수 있습니다 :

    [JT, JD] = meshgrid(times, depths); %% The irregular measurement grid 
    [RT, RD] = meshgrid(rtimes, rdepths); %% The regular interpolation grid 
    TemperaturesOnRegularGrid = interp2(JT, JD, TemperaturesOnIrregularGrid, RT, RD); 
    


    * 를 : 그렇지 않은 경우 행과 열을 정렬하여 단조 격자로 되돌릴 수 있습니다.
    *
    * : 사실 Interp2에는 출력 그리드에 대한 제한이 없습니다 (불규칙하거나 비 모노 일 수 있음).

    0

    데이터를 스플라인 또는 다항식에 맞게 사용하고 일정한 간격으로 다시 샘플링합니다. polyfitn 기능을 적극 권장합니다. 사실,이 존 디 알리코 (John D' Errico) 녀석의 어떤 것도 놀라운 일입니다. 그 외에도, 나는 불규칙적으로 간격을 둔 3D 문제에 대한 데이터를 가지고 있으며 합리적으로 잘 작동했을 때이 기능을 사용 해왔다. 귀하의 데이터 세트가 훌륭하게 지원된다면, 그것은 의심의 여지가 있습니다. 이것은 케이크 한 조각 일 것입니다. 즐겨! 희망이 도움이!

    0

    GridFit 도구는 John D' Errico의 MATLAB 중심에서 시도하십시오. 그것을 사용하려면, 두 개의 독립적 인 데이터 벡터 (시간 & 온도), 의존적 인 데이터 매트릭스 (깊이)와 규칙적인 간격의 X & Y 데이터 포인트를 사용하십시오. 기본적으로 도구는 겹치는 (또는 거의) 데이터 요소에 대해 스무딩도 수행합니다. 원하지 않는 경우이 옵션 (및 기타 옵션)을 다양한 구성 옵션을 통해 무시할 수 있습니다.예제 코드 :

    관련 문제