【问题标题】:How can I set the default value for an Alglib RBF interpolator?如何设置 Alglib RBF 插值器的默认值?
【发布时间】:2014-09-12 17:34:13
【问题描述】:

我正在使用 RBF 2D 插值器对包含山的一段地形的云点 Z = f(X,Y);

当我在网格上进行插值时,网格的边缘会被“提升”,因为默认值(在没有附近点时返回)似乎是 Z 坐标的 AVERAGE。那么我得到的图像不是一座山,而是一座“沉没”的山,印在高度远高于零的平面上。

下面,我的浊点的横截面用绿色表示,插值点的连续切片用粉红色表示。

当附近没有点时,期望的行为是让 Z = 0。

有没有办法告诉插值器我想要一个默认的零值,即使云点不与零平面相交?

我当前的代码是这样的(C#):

        alglib.rbfcreate(2, 1, out _model);

        alglib.rbfsetpoints(_model, point_cloud);

        alglib.rbfsetalgomultilayer(_model, radius, layers);

        alglib.rbfreport report;

        alglib.rbfbuildmodel(_model, out report);

【问题讨论】:

    标签: interpolation data-fitting alglib


    【解决方案1】:

    他们的documentation 说“在第 0 次(可选)迭代算法建立线性最小二乘模型。线性模型预测的值从节点处的函数值中减去,残差向量传递给下一次迭代”。我认为这是问题所在,我希望确实可以选择退出第 0 次迭代,而无需自定义代码。

    【讨论】:

    • 哇,我已经无数次地阅读了这个页面,但没有注意到这一点。将对其进行测试并尽快发布一些反馈。顺便说一句,即使他们的论坛也不那么活跃...... :( 现在谢谢!
    猜你喜欢
    • 2011-12-31
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 2012-07-31
    • 2014-05-15
    相关资源
    最近更新 更多