径向基-薄板样条插值数学公式、原理,以及代码实现基本过程

2023-10-27

径向基插值部分

有关径向基插值的基本概念参考:https://blog.csdn.net/qq_18343569/article/details/48227839?isappinstalled=0&from=groupmessage

径向基函数RBF (Radial Basis Function)有以下五种基函数

其中r代表代待求点X与已知点Xi之间的向量距离

上边的公式是适用于以上五种基函数的计算公式,其中X代表向量,不是一个数字

对于薄板样条插值,其公式(是经过上边的公式变形所得到的公式)为:

这个公式是用于二维的插值,对于三维的插值,应该加上+dz,以及等式:AjZj(对j=1到j=n取和)=0,之后分解该公式,构造出矩阵,对矩阵取逆;

对矩阵取逆,用该矩阵左乘value(或Z坐标值)构成的一个向量,得到一个向量,该向量代表了A1-An,以及a、b、c、d(A代表一个数字,不是矩阵),将A带入公式即可计算出待求点的属性值

具体插值公式参考:https://blog.csdn.net/qq_18343569/article/details/48227839?isappinstalled=0&from=groupmessage

薄板样条插值矩阵构建参考:https://blog.csdn.net/caoniyadeniniang/article/details/78107057?isappinstalled=0&from=singlemessage

矩阵操作

对于矩阵(非稀疏矩阵)操作部分,采用的库为Eigen数学库

头文件:#include <Eigen/Dense>

矩阵定义:

方法1:Eigen::Matrix<double, 5, 5, Eigen::RowMajor> matrix

方法2:

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> matrix

matrix.resize(rowNum, colNum)   //分配内存、空间

矩阵赋值:

matrix(i, j) = 3.6

矩阵取逆:

matrix = matrix.inverse()

矩阵转置:

matrix = matrix.transpose()

对于矩阵间的运算,或者矩阵与向量间的运算直接用*即可

关于Eigen的细节部分可参考我自己总结的一篇博客:https://blog.csdn.net/qq_16334327/article/details/83577860

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

径向基-薄板样条插值数学公式、原理,以及代码实现基本过程 的相关文章

  • SqlServer数据库删除数据

    数据库删除数据的三种代码方式 1 删除表结构及所有数据 drop table table name 2 恢复表格出厂设置 id清空 truncate table table name 3 删除表数据 delete from table na

随机推荐