Questions tagged «interpolation»

插值是在仅在特定点集合处知道函数值时估计函数值的过程。有关一维或多维插值的问题以及用于执行此操作的算法,应具有此标签。

17
是否有适用于Python的高质量非线性编程求解器?
我要解决几个具有挑战性的非凸全局优化问题。目前,我使用了MATLAB的Optimization Toolbox(特别是fmincon()使用algorithm = 'sqp'),它非常有效。但是,我的大部分代码是在Python中进行的,我也想在Python中进行优化。是否存在可以与Python绑定竞争的NLP求解器fmincon()?它必须 能够处理非线性等式和不等式约束 不需要用户提供雅可比行列式。 如果不保证全局最优(fmincon()没有),也可以。我正在寻找一种即使在遇到挑战性问题时也可以收敛到局部最优的东西,即使它比慢一些fmincon()。 我尝试了OpenOpt提供的几种求解器,发现它们不如MATLAB的fmincon/sqp。 只是为了强调,我已经有了一个易于处理的公式和一个好的求解器。我的目标仅仅是更改语言,以使工作流程更加简化。 Geoff指出问题的某些特征可能是相关的。他们是: 10-400个决策变量 4-100个多项式相等约束(多项式范围从1到大约8) 有理不等式约束的数量大约等于决策变量数量的两倍 目标函数是决策变量之一 等式约束的雅可比行列是密集的,不等式约束的雅可比行列是密集的。

5
为什么等距点的表现不好?
实验说明: 在拉格朗日插值中,精确的方程在NNN个点(多项式N−1N−1N - 1)处采样,并在101个点处插值。这里从2变化到64。每个时间,和制备误差图。可以看出,当在等距点对函数进行采样时,误差开始下降(直到小于约15时才会发生),然后误差随着进一步增加而上升。NNNL1L1L_1L2L2L_2L∞L∞L_\inftyNNNNNN 而如果初始采样是在Legendre-Gauss(LG)点(Legendre多项式的根)或Legendre-Gauss-Lobatto(LGL)点(Lobatto多项式的根)进行的,则误差降至机器级别,并且不会当进一步增加时增加。NNN 我的问题是 等距点到底会发生什么? 为什么多项式阶数增加会导致误差在某个点之后上升? 这是否还意味着如果我将等距点用于WENO / ENO重建(使用拉格朗日多项式),那么在平滑区域中,我会得到错误?(嗯,这些只是假设的问题(以我的理解),对于WENO方案,重建15或更高阶数的多项式确实是不合理的) 额外细节: 功能近似: X∈[-1,1]f(x)=cos(π2 x)f(x)=cos⁡(π2 x)f(x) = \cos(\frac{\pi}{2}~x),x∈[−1,1]x∈[−1,1]x \in [-1, 1] ñxxx分为等距点(以后称为LG)点。每次在101点插值该函数。NNN 结果: a)等距点(插值): N=65N=65N = 65 b)等距点(误差图,对数刻度): a)LG点(插值): N=65N=65N = 65 b)LG点(误差图,对数刻度):

1
插补多维数据的首选和有效方法是什么?
插补多维数据的首选和有效方法是什么? 我担心的事情: 性能和构造记忆,单次/批处理评估 处理尺寸从1到6 线性或高阶 获得梯度的能力(如果不是线性的) 常规与分散网格 用作插值函数,例如查找根或最小化 外推能力 是否有有效的开源实现? 我对scipy.interpolate和来自scikit-learn的kriging感到幸运。 我没有尝试样条曲线,切比雪夫多项式等。 到目前为止,我在该主题上发现了以下内容: 矩形网格上的Python 4D线性插值 快速插值定期采样的3D数据(在x,y和z中具有不同的间隔) 快速插值常规网格数据 哪种多元分散插值方法最适合实际使用?

4
查找黑盒函数不连续性的最佳方法是什么?
有人建议,对于这个问题,这可能比我之前问过的 Mathematics Stack Exchange更好。 假设有一个黑匣子函数,可以在指定间隔任何位置(便宜地)对其进行评估并且没有噪音(例如,浮点粒度除外)。找到此功能不连续性的最佳方法是什么?我不知道可能有多少间断点,也可能没有间断点。[a,b][a,b][a,b] 我可以想到一些简单的方法(统一采样,在样本之间存在较大差异的地方进行细化,...),但是也许有更好的方法? 该函数是“合理的”,因为可以假设它最多具有有限的不连续性,对于高阶导数也是如此,我不介意是否遗漏了小的病理不连续性...(该应用程序是对一维函数的自动绘制) 。 - 感谢所有答复,特别是佩德罗。Pachón,Platte和Trefethen中描述的方法似乎是对我最好的方法,所以我现在去实现它

6
很难用多项式近似的连续函数的示例
出于教学目的,我需要单个变量的连续函数,该函数对于多项式近似是“困难的”,即一个幂级数需要非常高的幂才能很好地“拟合”该函数。我打算向我的学生展示幂级数可以达到的“极限”。 我曾想过炮制一些“嘈杂”的东西,但是我没有想自己动手做,而是想知道人们是否使用一种标准的“难函数”来测试逼近/插值算法,这与那些具有众多功能的优化测试函数有些相似天真算法容易卡住的局部最小值。 道歉,如果这个问题的格式不正确;请怜悯非数学家。

4
非结构化网格的有效插值方法?
我想知道一种在两个非结构化网格之间插值数据的好方法,其中一个网格是另一个网格的粗略版本。 效率对我来说非常重要,因为我正在解决一个瞬态PDE问题,在该问题中,我需要在解决方案的每个步骤之间在网格之间传输数据。 我考虑过使用kd-tree搜索给定点的最近节点,然后使用该元素的形状函数(FEM模拟)对数据进行插值。这是一个好的解决方案吗?有更好的吗? 您是否还知道C / C ++中的任何健壮和可靠的库来完成此任务? *我知道有一个类似的问题,但它要求在结构化网格上使用最准确的方法。

2
如何将多点数据插值到非结构化网格的像元中心?
我有多点场数据集,每个点数据集都与非结构化网格的单个像元相关。目的是以最准确的方式将数据直接或间接地插入到单元中心。 如果使用反距离加权插值,则在源与目标(单元中心)之间的距离很小的情况下,可能会出现浮点异常。 对于结构化网格上的这种插值,使用体积加权插值。这不会直接转换为任意形状的网格。 仅当我不引入任何可能导致插值效率低下的测试时,才为IDW插值引入容限以规避SIGFPE。IDW插值法是否可以为每个权重的分母增加足够小的?您知道哪种适合此问题的插值方法?δδ\delta 附加信息: 对于从网格到点的插值,我使用基于重心坐标的插值。网格的每个多面体单元都分解为四面体。使用IDW插值将像元中心场插值到像元点。搜索每个点以找到其所在的四面体,然后使用重心插值对值进行插值。 对于从点到网格的插值,这是不可能的。以单元格为中心的值是未知的。无法组装将强制的四面体组合物,其中W P C是与点P和单元中心C有关的权重。这是因为点配置是任意的。因此,我目前正在为此使用IDW,以确保没有浮点数异常。有没有更适合此问题的插值方法?∑pWPC=1∑pWPC=1\sum_p W_{PC} = 1WPCWPCW_{PC}

2
RBF内核矩阵是否趋向于病态?
我使用RBF内核函数来实现一种基于内核的机器学习算法(KLPP),得到的内核矩阵 KKK K(i,j)=exp(−(xi−xj)2σ2m)K(i,j)=exp⁡(−(xi−xj)2σm2)K(i,j)= \exp\left({\frac{-(x_{i}-x_{j})^2}{ \sigma_{m}^2}}\right) 被证明病得很重条件。L2-范数的条件数为1017−10641017−106410^{17}-10^{64} 有什么办法使它适应良好吗?我猜想参数需要调整,但我不知道该怎么精确。σσ \sigma 谢谢!

2
帮助在线搜索中确定三次插值和二次插值
我正在执行行搜索,作为准牛顿BFGS算法的一部分。在行搜索的第一步中,我使用三次插值法将其移近局部最小化器。 让 F:R → R ,f∈C1个f:R→R,f∈C1f : R \rightarrow R, f \in C^1是感兴趣的功能。我想找到一个X∗x∗x^* 这样 f′(x∗)≈0f′(x∗)≈0f'(x^*) \approx 0。 让 f(xk)f(xk)f(x_k), f′(xk)f′(xk)f'(x_k), f(xk+1)f(xk+1)f(x_{k+1}) 和 f′(xk+1)f′(xk+1)f'(x_{k+1})被知道。还假设0≤xk&lt;x∗&lt;xk+10≤xk&lt;x∗&lt;xk+10\le x_k<x^*<x_{k+1}。我适合三次多项式Q(x)=ax3+bx2+cx+dQ(x)=ax3+bx2+cx+dQ(x)=ax^3+bx^2+cx+d 以便 Q(0)=f(xk)Q(0)=f(xk)Q(0)=f(x_k), Q′(0)=f′(xk)Q′(0)=f′(xk)Q'(0)=f'(x_k), Q(xk+1−xk)=f(xk+1)Q(xk+1−xk)=f(xk+1)Q(x_{k+1}-x_{k})=f(x_{k+1}) 和 Q′(xk+1−xk)=f′(xk+1)Q′(xk+1−xk)=f′(xk+1)Q'(x_{k+1}-x_{k})=f'(x_{k+1})。 我求解二次方程: (1):Q′(x∗−xk)=0(1):Q′(x∗−xk)=0(1): Q'(x^*-x_k) = 0 为了我的追寻 x∗x∗x^* 使用封闭式解决方案。 上面的方法在大多数情况下效果很好,除了 f(x)=O(x2)f(x)=O(x2)f(x)=\mathcal{O}(x^2) 作为封闭式解决方案 (1)(1)(1) 除以 aaa 变得非常接近或完全 000。 我的解决方案是看 aaa 如果它“太小”,只需对二次多项式的极小值采用封闭形式的解 Q2(x)=bx2+cx+dQ2(x)=bx2+cx+dQ_2(x)=bx^2+cx+d …


1
Chebyshev多项式的快速(近似)评估
有没有一种首选的方法如何在均匀网格上(根据Chebyshev节点处的函数值)对Chebyshev插值多项式进行快速(近似)评估?我的问题是,当插值多项式的次数增加时,插值会变慢。 我想到以下想法: 尝试适应非均匀FFT(NFFT)技术 使用FFT来计算切比雪夫节点上的导数,可能是先进入更精细的(切比雪夫)网格之后。然后使用分段三次插值进行(近似)评估。 使用一些仅在“附近” Chebyshev节点上使用函数值(以及可能的导数)的公式(这与特定的NFFT技术有关)。

1
对于结构化网格上的3D流场,最精确的插值方法是什么?
我在3D结构化网格上求解多物种可压缩的Navier-Stokes方程。我已经在给定的网格上获得了一个解决方案(假设是一个相对粗糙的网格)。现在,我想在重新启动仿真之前优化网格并在新网格上插入以前的解决方案。当前,我们有一个插值工具,可以构建2个网格的kd树,然后可以使用2种不同的方法来计算新网格上的值: 简单平均 逆距离加权(IDW) 移动最小二乘法(MLS) 我想专注于准确性,因为由于我处理的是大梯度,因此当我重新开始计算时,无法正确捕获它们会产生波动。我首先尝试了简单平均,但准确性不够好。 我认为带有2阶多项式的MLS方法会给我合理的结果,因为它应该是非振荡的。但是,当我查看插值字段时,我看到局部最小值/最大值超出了我的初始字段的值。这是否表示该程序中MLS的实现不正确?我应该小心模板的大小和多项式的顺序吗?您会推荐其他哪种方法? 提前致谢 !
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.