MATLABのあるグリッドから別のグリッドへデータを補間しようとしています。最初のグリッドはy
で不均一に配置されていますが、2番目のグリッドは不揃いです。補間(griddata
を使用)を実行すると、その結果は、データが存在しない領域にわたって推定されます。MatlabでGriddataに不要な補間があります
補間前後のコードとプロットを示します。後
::前
Xin2 = [619000 619000 619000 619000 619000 619000
621000 621000 621000 621000 621000 621000
623000 623000 623000 623000 623000 623000
625000 625000 625000 625000 625000 625000
627000 627000 627000 627000 627000 627000
629000 629000 629000 629000 629000 629000
631000 631000 631000 631000 631000 631000
633000 633000 633000 633000 633000 633000
635000 635000 635000 635000 635000 635000
637000 637000 637000 637000 637000 637000
639000 639000 639000 639000 639000 639000
641000 641000 641000 641000 641000 641000
643000 643000 643000 643000 643000 643000
645000 645000 645000 645000 645000 645000
647000 647000 647000 647000 647000 647000
649000 649000 649000 649000 649000 649000
651000 651000 651000 651000 651000 651000
653000 653000 653000 653000 653000 653000
655000 655000 655000 655000 655000 655000
657000 657000 657000 657000 657000 657000
659000 659000 659000 659000 659000 659000];
Yin2 = [-688.38 -626.71 -568.39 -514.5 -465.64 -422.03
-688.36 -626.64 -568.28 -514.35 -465.46 -421.82
-688.32 -626.51 -568.07 -514.06 -465.1 -421.4
-688.25 -626.31 -567.74 -513.61 -464.54 -420.75
-688.2 -626.18 -567.53 -513.33 -464.19 -420.34
-688.19 -626.13 -567.45 -513.23 -464.06 -420.19
-688.14 -625.99 -567.22 -512.91 -463.67 -419.73
-688.06 -625.74 -566.82 -512.37 -463.01 -418.95
-688.01 -625.6 -566.59 -512.06 -462.61 -418.49
-688 -625.57 -566.54 -511.99 -462.53 -418.4
-687.13 -623.02 -562.4 -506.38 -455.59 -410.27
-677.94 -595.9 -518.32 -446.64 -381.64 -323.64
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3
-677.06 -593.29 -514.08 -440.89 -374.52 -315.3];
Tempin2 = [0.74399 0.734 0.71456 0.68519 0.64358 0.58546
0.7444 0.73442 0.71505 0.68578 0.64421 0.58598
0.7446 0.73456 0.71517 0.68589 0.64428 0.58594
0.74389 0.7338 0.71437 0.68505 0.64341 0.58507
0.74176 0.73172 0.71234 0.68311 0.64166 0.58365
0.73842 0.72847 0.70929 0.68033 0.63925 0.58175
0.73554 0.72561 0.70641 0.67755 0.63666 0.57929
0.73602 0.72568 0.70602 0.67671 0.63529 0.57718
0.74297 0.73128 0.7101 0.67944 0.63682 0.57729
0.75596 0.74156 0.71799 0.68532 0.6408 0.57963
0.77081 0.75286 0.72441 0.68681 0.63783 0.57257
0.77558 0.74655 0.7048 0.65198 0.58381 0.49389
0.76412 0.73625 0.69626 0.6459 0.57968 0.49109
0.7519 0.72508 0.68915 0.64346 0.58165 0.49733
0.74398 0.72001 0.68661 0.64361 0.58471 0.50343
0.7387 0.718 0.68708 0.64565 0.58851 0.50948
0.73546 0.71749 0.68821 0.64767 0.59183 0.51471
0.73255 0.71626 0.68831 0.64861 0.59397 0.51842
0.72843 0.71274 0.68603 0.64778 0.5947 0.52053
0.72166 0.7065 0.68148 0.64538 0.59429 0.52148
0.71285 0.69917 0.67631 0.64259 0.59351 0.52205];
%And the code to make the interpolation variables and run the interpolation:
[X_i,Y_i]=meshgrid([Xin2(:,1)],[-700:5:-315]);
Temp_i=griddata(Xin2,Yin2,Tempin2,X_i,Y_i);
figure,pcolor(Xin2,Yin2,Tempin2), shading flat % original data
figure,pcolor(X_i,Y_i,Temp_i),shading flat %interpolated data
:
誰もが約から斜めに合流外挿したデータのダークブルーの三角形を(説明することができます(6.4e5、-325)から(6.2e5、-425)まで、そしてこれをどうやって止めることができますか?
NB私は両方のプロットで同じキャックスを維持するのを忘れていました。これは、不要な補間がどこで発生するかを示すために重要ではありません。
ありがとう@Suever。私はあなたが提案したようにinpolygonを使用して終了し、凸包内の領域をマスクしましたが、元のデータ境界の外側はマスクされていました。 –