1

別のプログラムからの出力データを使用して、matlab でカラー プロットを作成しようとしています。私が持っているのは、x 位置、y-y 位置 (これはブラック ホールの周囲のイメージを表すため、両方ともミリ秒単位)、および目的のすべてのポイントの値 (色が割り当てられる) を示す 3 つのベクトルです。画像。各「ピクセル」の色を示す値がマトリックスにないため、どうやらpcolorを使用できないようです.meshgrid以外にベクトルからマトリックスを作成する方法がわかりませんが、そうではありませんでしたベクトルのサイズのために動作します。

すぐに返信できない場合があります。

4

2 に答える 2

1

x、y 座標の配置 (つまり非単調) とデータ サンプルの希薄性について仮定をしない場合、ベクトルから適切な画像を取得する最善の方法は を使用することTriScatteredInterpです。次に例を示します。

% samplesToGrid.m
function [vi,xi,yi] = samplesToGrid(x,y,v)

F = TriScatteredInterp(x,y,v);
[yi,xi] = ndgrid(min(y(:)):max(y(:)), min(x(:)):max(x(:)));
vi = F(xi,yi);

100x100 グリッドで 500 個の「ピクセル」サンプルを取得し、完全なイメージを作成する例を次に示します。

% exampleSparsePeakSamples.m
x = randi(100,[500 1]); y = randi(100,[500 1]);
v = exp(-(x-50).^2/50) .* exp(-(y-50).^2/50) + 1e-2*randn(size(x));
vi = samplesToGrid(x,y,v);
imagesc(vi); axis image

座標が整数値の場合、ゴードンの答えは機能しますが、画像はスペアになります。

于 2013-09-14T05:33:12.270 に答える