0

大きな配列があり、640000 個の要素が double 型です。値をプロットする必要がありますが、配列の長さが膨大であり、プロセッサ リソースを消費します。

画面の解像度が 600x600 しかありません。

400 の可能な値 (境界線に 200 ドット) のみをプロットするために大きな配列を縮小するにはどうすればよいですか。

私は Java を使用しようとしていましたが、開始する方法がわかりません... こんにちは

X、t(時間)をプロットしています。

    double BigArray = new double[640000];
    //...
    filling the vector
    //...
    calculating resolution available (dots)
    int n = 400;
    //...
    double LitArray = new double[n];
    double TimeArray = new double[n];
    //...
    calculating new values for LitArray and TimeArray.
    //...

ありがとう

4

1 に答える 1

0

必要なプロットの種類を指定していません... バー? ライン?散らばる?

これは折れ線グラフであり、直線的に増加する x シリーズに対して 640000 の y 値があると仮定します。

通常行うことは、アレイを 400 個のバケットに分割することです。そのため、400 要素の配列を作成します。バケットごとに 1600 個の値があるため、それらをどうするかを決める必要があります。

通常は、各バケット内の 1600 要素を平均して、各ピクセル位置に対して 1 つの値を作成します。ただし、非常に高速にする必要がある場合は、代表的なサンプル (たとえば、等間隔に配置された 16 要素) または各バケットから単一の値を取得することもできます。

実際には、各バケットの最小値と最大値が必要な場合があり、各ピクセル位置で一方から他方に線を引きます。そうすれば、ズームアウトされたグラフが各バケットの範囲をカバーし、間違った情報を伝えてしまうことはありません...

于 2012-07-26T02:17:03.367 に答える