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

请教:关于使用interp3的问题以及Fortran读取Matlab结果问题。

[复制链接]
发表于 2009-9-24 09:11:10 | 显示全部楼层 |阅读模式 来自 美国
本帖最后由 messenger 于 2009-10-14 00:56 编辑

各位高手,我想请教一个如何使用interp3进行三维插值的问题。谢谢!


三维网格:[X,Y,Z]=meshgrid(1:1:64,1:1:64,1:1:64);
三维数据:V(64,64,64)

现在空间分布着10个点,并且知道他们每个点的三维坐标:
第1个点的三维坐标:(x1,y1,z1)
第2个点的三维坐标:(x2,y2,z2)
:
:
第10个点的三维坐标:(x10,y10,z10)

现在想利用interp3得到这10个点的VI值。如何只进行1次运算,同时得到这10个点的插值?
我试着这样做,但是有错误:
VI=interp3(X,Y,Z,V,[x1,x2,x3,..,x10],[y1,y2,y3,..,y10],[z1,z2,z3,..,z10])
给的错误信息是:
??? Error using ==> interp3
XI,YI, and ZI must be the same size or vectors of different orientations.

请问这10个点的坐标XI,YI,ZI应该怎样设置?

如果不能同时算出10个点的插值,那么一个点一个点计算,XI,YI,ZI应该怎么设置?

谢谢!
发表于 2009-9-24 10:37:34 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
三维插值一直是一个难点,你可以参考此贴http://forum.simwe.com/thread-884796-1-1.html,自己先试试。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-9-26 03:02:47 | 显示全部楼层 来自 美国
谢谢messenger。
我试着一个点一个点来插值,结果好像还可以。
VI1=interp3(X,Y,Z,V,x1,y1,z1);
VI2=interp3(X,Y,Z,V,x2,y2,z2);

我有另一个问题想请教一下:
如果我想把一个矩阵A(10000,3)输出成一个数据文件,然后被FORTRAN读入。在matlab里怎样输出一个能被FORTRAN读入的文件?

谢谢!
回复 不支持

使用道具 举报

发表于 2009-9-26 09:04:43 | 显示全部楼层 来自 江苏南京
插值是根据自变量的变化得到想要的结果,VI = INTERP3(X,Y,Z,V,XI,YI,ZI),XI,YI,ZI必须是维数相同的向量。
回复 不支持

使用道具 举报

发表于 2009-9-26 11:21:44 | 显示全部楼层 来自 浙江杭州
本帖最后由 messenger 于 2009-9-28 10:52 编辑

3# xiaoniu

让Fortran读入,只要在Matlab中输出成有分隔符的文本文件即可。

我想用save **.txt * -ascii命令形式即可。

如果想输出更复杂的形式可以用fprintf命令,你自己试试吧,应该不是很难。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-9-28 04:34:40 | 显示全部楼层 来自 美国
插值是根据自变量的变化得到想要的结果,VI = INTERP3(X,Y,Z,V,XI,YI,ZI),XI,YI,ZI必须是维数相同的向量。
bingbo 发表于 2009-9-26 09:04


我的XI(10)包含10个点的x坐标;YI(10)包含10个点的y坐标;ZI(10)包含10个点的z坐标. XI,YI,ZI这三个是维数相同的向量。

如果,同时求这10个点的插值:VI = INTERP3(X,Y,Z,V,XI,YI,ZI), 不行,有错误。
如果,一个点一个点求插值, 好像可以:
v1=INTERP3(X,Y,Z,V,XI(1),YI(1),ZI(1))
v2=INTERP3(X,Y,Z,V,XI(2),YI(2),ZI(2))
:::
v10=INTERP3(X,Y,Z,V,XI(10),YI(10),ZI(10))

不知道为什么。
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-6 10:09 , Processed in 0.062065 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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