0

私のプログラムは、3D 空間で風データをモデル化する 2D ベクター シートを作成します。これらの 2D シート間を補間する方法を知りたいです。X と Y の値は、静的なままの緯度/経度の値に対応するため、変化しません。ベクトルの W コンポーネントは 0 に設定され、2 つの 2D ベクトル シート間の Z 距離に対応する Z 範囲で補間されるベクトルの U/V コンポーネントのみが残されます。

私はinterp3を読みましたが、私がやろうとしていることでうまくいくかどうかはわかりません. あなたがこれを手伝ってくれるなら、私は無限に感謝しています、ありがとう.

注: 質問を複雑にしすぎて、他の人がその質問に答えてくれる可能性を失う運命にあるため、以前に尋ねたこれと同様の質問を削除しました。

ご協力ありがとうございます。さらに情報を提供できる場合はお知らせください。ここに画像の説明を入力

4

1 に答える 1

1

2 つの Z シート間の任意の数の異なるステーションを補間するコードを次に示します。interp1() 関数にすべての Z シートを含めるように書き直すことができると思います。うまくいけば、これは正しい方向にあなたを設定します.

zLevels = 5;   %number of interpolated points between z50 and z75
nStation = 100;     %number of (lat,long) pairs to interpolate
for i = 1:nStation %for nStation different (lat, long) pairs generate interp. values
        % generate zQuery points between z50 and z75 for each station
        zQuery = ((1:zLevels)/zLevels)*range([z50mb_vec(i) z75mb_vec(i)]) + z75mb_vec(i);
        % use interp1 to interpolate about the Z axis for U component
        U(i,1:zLevels) = interp1([z50mb_vec(i) z75mb_vec(i)],[UwindVec50mb(i) UwindVec75mb(i)],zQuery);
        % and for V component
        V(i,1:zLevels) = interp1([z50mb_vec(i) z75mb_vec(i)],[VwindVec50mb(i) VwindVec75mb(i)],zQuery);
end

% defining some color codes for each zLevel, otherwise the plot is a mess
% of colors
colorcode = ['r' 'g' 'b' 'm' 'c' 'r' 'g' 'b' 'm' 'c' 'r'];
for j = 1:nStation
    for i = 1:zLevels
    quiver3(lat_value(j), long_value(j), zQuery(i), U(j,i), V(j,i), 0, colorcode(i));
    hold on;
    end
end

生成されたプロット (z50 データは青緑、z75 は赤、それ以外は補間されたシート): 上記のコードからプロット

于 2013-11-24T06:07:11.600 に答える