作业帮 > 综合 > 作业

matlab三维插值,已知一系列三维数据点,怎么插值成一条光滑曲线,有源程序最好.

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/06 11:39:46
matlab三维插值,已知一系列三维数据点,怎么插值成一条光滑曲线,有源程序最好.
matlab三维插值,已知一系列三维数据点,怎么插值成一条光滑曲线,有源程序最好.
用 fitting. 3维 需要 Curve Fitting ToolBox. 修匀,插值 都在 那里面.我没有买这个 工具箱,所以帮不上忙.用 plot3 画曲线,在菜单里会有 fitting 选项.进入.把屏幕上操作记下来就是matlab程序.撇开matlab,三维数据点,绘成光滑曲线,方法很多,例如样条函数.
再问: 三次样条插值怎么插值三维数据? 有源程序么、?
再答: matlab 没源程序,用简单的脚本。你若有Curve Fitting ToolBox,自己做。 样条函数未必是三次。一般是参数方程,通过两个节点,不通过另2个点,每4点为一段。应当是很简单的程序。
再问: 假设我有一组数据x,y,z,然后做插值,应该怎么做?有样本程序么?没有Curve Fitting ToolBox。
再答: 最简单的是线性插值。 假定z=f(x,y)。例如:x,y 是到原点距离(东西向,南北向)。z 是高程。 根据已知点[x,y,z] 计算出 x_min,x_max,y_min,y_max. 选择 dx,dy, 建立平面网格。 把x,y 点的值,移到最近的格点,(多于1点时,格点值用点数的平均值)。 沿x,y格子线扫描,线性内插出没值的格点的值。 然后循环计算插值点xi,yi的zi: (xi-x0)/dx, (yi-y0)/dy 求出点落在哪个小格内,用4个格点线性内插出zi. ---- 另一种方法,是建三角形网格,用软件 trigrid 或别的软件,也可以用 matlab.点不多用手工也可。 然后循环计算插值点xi,yi的zi: 判断点落在哪个3角形内,然后用3角形"面积坐标“作线性内插。 (3角形面积等于两边的矢量叉乘积除以2,很好算) --- 上面的基本原理:前者是有限差分法,后者是有限单元法。
再问: 线性插值做出的曲线没样条光滑。
再答: 你到底问的是空间曲线还是空间曲面?你是插值还是拟合?点子有多少?你用matlab 还是要编c/c++程序,我都给你问糊涂了。 画空间曲线,你用 3D B-Spline 就可以了。参数方程,写出来后,愿怎么插都可以。 (B-Spline 通过两个节点,不通过另2个点,每4点为一段。应当是很简单的程序。) B 样条函数公式 查一下 百度文库便可。
再问: 画空间曲线啊 ,恩 正在研究。