2016-05-12 10 views
0

Matlabコードで実装したい8つのプロットがあります。これらのプロットはいくつかの研究論文に由来しているため、それらを使用できるようにするためにはまずそれらをデジタル化する必要があります。MATLAB:複数変数のプロットをデジタイズしてデータを実装する

プロットの例を以下に示す:Example plot

これは、基本的に3つの異なる変数を有する表面プロットです。私はちょうどXとYの座標で正規のプロットをデジタル化する方法を知っています。しかし、このようなグラフをどのようにしてデジタル化するのでしょうか?私はかなり確信がないので、質問です。

また、私はこのプロットからデータを得ることができます。どのようにあなたのコードでそれを利用できるようになりますか?与えられたデータポイント間の補間と外挿を行うことがありますか?

このトピックに関するヒントはすべて歓迎します。ここでは、事前

答えて

0

おかげで、私が示唆しているものです:

  1. imreadを使用して、MATLABで画像をお読みください。
  2. 左下隅と右上隅のピクセル位置を手動で見つける
  3. これらのピクセル値と実際の数値を使用すると、各ピクセルのxとyの値を簡単に決定できます。 meshgridを使用することをお勧めします。
  4. カーブが黒であることがわかっている場合は、画像から黒以外のピクセルをすべて削除して、カーブと数字だけを残します。
  5. 次に、小さなオブジェクト(数字)を削除するには、関数bwareaopenを使用します。白の代わりに黒を取り除くために画像を反転することを忘れないでください。
  6. 最後に、ポイント#3とポイント#6の結果を使用して、グラフのデータを手動で抽出することができます。それは簡単ではありませんが、実現可能です。
0

あなたは、以前の研究から、またはプロットから値を推定し、補間することによってどちらか得ることができた、MATLABでプロットを作成するために、三つの変数のためのデータが必要になります。しかし、データを取得すると、サーフェスプロットを作成するために使用できる2つの関数、surfaceとサーフィン、サーフィンはサーフェスとほぼ同じですがシェーディングが含まれています。

補間と外挿については、2D補間をチェックアウトしたいと思うかもしれませんが、interp2です。 interp2関数も外挿を行うことができます。

これらの機能のドキュメントを読んで、特定の問題がある場合はそれをポストバックする必要があります。