找回密码
 注册
Simdroid-非首页
查看: 243|回复: 8

如何进行二维插值?

[复制链接]
发表于 2003-6-23 19:10:07 | 显示全部楼层 |阅读模式 来自 内蒙古呼和浩特
现有平面离散的若干点(xi,yi)和它们对应的函数值z,要对其它的坐标点(x,y) 进行插值,怎样实现?
我试过用inter2函数,但是它要求z是矩阵,而这里的z只是对应这些离散点的值,并不是一个二维矩阵,试问这个插值怎么实现,高手请指点,谢谢!
发表于 2003-6-23 20:50:18 | 显示全部楼层 来自 新加坡

回复: 如何进行二维插值?

Simdroid开发平台
用griddata,在matlab里用:
  
help griddata,或者doc griddata
  
看看它的帮助文件。doc griddata有个例子。
  
:I
 楼主| 发表于 2003-6-25 09:16:21 | 显示全部楼层 来自 广东佛山

回复: 如何进行二维插值?

谢谢taohe,我已经用了。
oldhe 该用户已被删除
发表于 2003-6-25 14:45:39 | 显示全部楼层 来自 北京
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-6-25 16:12:40 | 显示全部楼层 来自 新加坡

回复: 回复: 如何进行二维插值?

oldhe wrote:
[x,y]=meshgrid(1:100);
z=griddata(xi,yi,zi,x,y);
ans=interp2(x,y,z,x_userdef,y_userdef);

  
这样的话,先是用griddata用现有数据在meshgrid产生的那些点上作插值,然后用所得的插值结果以及meshgrid的那些点,调用interp2来再做一次插值。以获得(x_userdef,y_userdef)处的值。
  
一个griddata会不会好一些,比如:
ans = griddata(xi, yi, zi, x_userdef, y_userdef);
  
:I
 楼主| 发表于 2003-6-25 16:36:23 | 显示全部楼层 来自 广东佛山

回复: 如何进行二维插值?

我也觉得用一个griddata会好一些,因为我用现有数据在tecplot里面插值到一个矩形域的网格点上,在回到matlab中interp2二维插值,可能和oldhe老兄说得是一个道理,但是后者和前者结果有差别,好像偏大。
有待继续讨论。
oldhe 该用户已被删除
发表于 2003-6-25 18:16:05 | 显示全部楼层 来自 北京
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-6-25 19:12:46 | 显示全部楼层 来自 新加坡

回复: 如何进行二维插值?

griddata可以用在向量数据的插值。
  
另外,如果数据点稀疏,或者目标点较远的话,'nearest'方法应该更好一些。
  
:I
发表于 2010-5-12 09:51:33 | 显示全部楼层 来自 重庆沙坪坝区
请问谁那儿有二维差值的算法方面的数学资料吗?共享下吧,或者给指点下参考书也可以!尽量详细的那种!谢谢
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 21:28 , Processed in 0.058797 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表