2016-05-12 74 views
0

我有8个图,我想在Matlab代码中实现。这些情节来源于几篇研究论文,因此,我需要先将它们数字化以便能够使用它们。MATLAB:用多个变量对数据进行数字化并实现数据

的曲线图的一个示例如下所示:Example plot

这基本上是与三个不同的变量的表面图。我知道如何用X和Y坐标数字化一个规则的情节。但是,如何将这样的图形数字化?我很不确定,因此,这个问题。

另外,如果我能从这个图获得数据。你将如何在代码中使用它?也许在给定的数据点之间有一些内插和外推?

欢迎关于此主题的任何提示。

在此先感谢

回答

0

这里是我的建议:

  1. 阅读使用imread在Matlab中的图像。
  2. 手动找到左下角和右上角的像素位置
  3. 使用这些像素值和实际数值,可以很容易地确定每个像素的x值和y值。我建议你使用meshgrid
  4. 知道曲线是黑色的,然后从图像中删除每个非黑色像素,这只会让您留下曲线和数字。
  5. 然后使用功能bwareaopen删除小对象(数字)。不要忘记反转图像以去除黑色而不是白色。
  6. 最后,通过使用点#3和点#6的结果,您可以手动提取图的数据。这并不容易,但它是可行的。
0

您需要三个变量的数据才能在Matlab中创建一个绘图,您可以从之前的研究中获得绘图,也可以通过估算和插值绘图中的值获取绘图。一旦你获得了数据,有两个功能可以用来制作表面图,surface和冲浪,冲浪与表面几乎相同,但包括阴影。

对于插值和外推,听起来像您可能想要检查2D插值interp2。 interp2函数也可以进行外推。

您应该阅读这些功能的文档,然后发回具体问题,如果您有任何问题。