griddataやcsapsなどの関数を使用できます。一緒にそれらはあなたが望むようにスムーズな結果にあなたを導きます。最初の関数は、データマトリックスセットにポイントを追加します。2つ目は、結果をよりスムーズにします。コードの例を以下に示します。この例では、スムージングは最初にX方向で実行され、次にY方向で実行されます。遊んでするようにしてくださいresolution
とsmoothing_parameter
(これらのパラメータの現在のセットがあるべきOKが)。
x = min_x:step_x:max_x;
y = min_y:step_y:max_y;
resolution = 10;
xg = min_x:(step_x/resolution):max_x;
yg = min_y:(step_y/resolution):max_y;
[X,Y] = meshgrid(x,y);
[XG,YG] = meshgrid(xg,yg);
smoothing_parameter = 0.02;
fitted = griddata(X,Y,Z,XG,YG,'cubic');
fitted_smoothed_x = csaps(xg,fitted,smoothing_parameter,xg);
fitted_smoothed_xy = csaps(yg,fitted_smoothed_x',smoothing_parameter,yg);
surf(XG,YG,fitted_smoothed_xy');
編集:等高線図だけを取得したい場合は、たとえば、以下に示すように行うことができます。実際のデータがないので、組み込み関数peaks
を使用してデータを生成します。
[X,Y,Z] = peaks(30);
figure
surfc(X,Y,Z)
view([0 90])
zlim([-10 -8])
ここでは、表面の下にある上から等高線図を見るだけです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加