1

192x1 ベクトルにそれぞれ3 つの変数 ( xy、 ) があります。zデータはすべてランダムで、欠損値 (NaN) が含まれることがあります。c他の 2 つの変数に対して変数xをプロットしy、等高線プロット ( xx 軸、yy 軸、およびz等高線を作成)としてプロットしたいと思います。

私の最大の問題は、 と の 192x192 マトリックスを作成することxです。yなぜならxyがランダムなデータで構成されているからです。GRIDDATA、Delaunay、および TriScatteredInterp を使用しようとしましたが、データに NaN があるため機能しませんでした。私に何ができるか知っている人はいますか?の散布図からxvsの行列を返す方法があれば、私の問題は解決されます。yxy

サンプルコード

x=rand(192,1);
y=rand(192,1);
z=rand(192,1);

[X,Y]=meshgrid(x,y);
contour(X,Y,z);

??? ==> 74 Z での輪郭の使用エラー サイズは 2x2 以上である必要があります。

4

2 に答える 2

1

NaN で何をするつもりですか? 等高線図を描画するための追加情報が含まれていますか? それらを削除することはできませんか?

idx = any(isnan([x y z]),2);
x(idx)=[];
y(idx)=[];
z(idx)=[];

次に、この質問から解決策を適用できます。欠落しているデータはとにかく解釈されます。

于 2011-05-27T20:13:39.150 に答える
0

等高線図の性質上、問題は行列 z のサイズにあります。コードをデバッグすると、meshgrid を呼び出した後、X と Y のサイズが 192 x 192 になることがわかります。次の行を変更するだけで機能します。問題が解決したかどうか教えてください;)

z=rand(192,192);
于 2011-05-25T16:30:30.460 に答える