[Matlab]由等高线图模拟出山体三维地形图

用到这个技术的起因是要从一个电机效率图中提取出数据,但是非常可惜,这个效率图是以等高线形式表达的,数值并非连续的,如下:
[Matlab]由等高线图模拟出山体三维地形图
这种情况下就不再适合利用右边的Colorbar来提取数据了,我的方法是,首先先把每条等高线的坐标(x,y,z)弄到,这一点可以利用imread函数做到,效果如下:
[Matlab]由等高线图模拟出山体三维地形图

然后就可以利用插值法将“非连续部分”的数值算出来了,这和利用等高线图模拟出山体三维地形图其实是一个道理,最终效果:
[Matlab]由等高线图模拟出山体三维地形图

当时这个问题困扰了我很久,直到有一天找到了这篇文章:
http://www.doc88.com/p-7436852826511.html
我才知道原来Matlab自带一个griddata函数可以轻松做到,PS.,记得多试几种插值方法看看哪个最适合。

最后说说我对这种提取数据的方法的评价:首先这是目前我能想到的最好的办法了,其次效果不是非常理想,这是实话,只能达到预期的70~80%那么好,如果想达到更好的效果,那么就需要非常有耐心地去勾勒(或者说找到)更细致的坐标点,但是对于这样的电机效率图来说,在一些关键位置可能就越来越不清晰,很难找准坐标点,比如低扭矩区域。