タグ付けされた質問 「interpolation」

補間は、関数の値が特定のポイントセットでのみ既知である場合に、関数の値を推定するプロセスです。1つまたは複数の次元での補間に関する質問とそのためのアルゴリズムには、このタグが必要です。

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の範囲の多項式次数) 決定変数の数の約2倍に等しい合理的な不等式制約の数 目的関数は決定変数の1つです 不等式制約のヤコビアンと同様に、等式制約のヤコビアンは密です。

5
等間隔のポイントの動作が悪いのはなぜですか?
実験の説明: ラグランジュ補間では、正確な方程式がNNNポイント(多項式次数N− 1N−1N - 1)でサンプリングされ、101ポイントで補間されます。ここでNNN各時刻2から64まで変化させL1L1L_1、L2L2L_2及びL∞L∞L_\inftyエラープロットを用意します。関数が等間隔の点でサンプリングされると、エラーが最初に低下し(NNNが約15未満になるまで発生します)、その後がさらに増加するとエラーが増加することがわかりNNNます。 一方、初期サンプリングがルジャンドルガウス(LG)ポイント(ルジャンドル多項式の根)、またはルジャンドルガウスロバット(LGL)点(ロバート多項式の根)で行われた場合、エラーはマシンレベルに低下し、とき増やすNNNさらに増加します。 私の質問は、 等間隔のポイントの場合、正確にはどうなりますか? 多項式の次数を増やすと、特定のポイントの後にエラーが発生するのはなぜですか? これはまた、WENO / ENO再構築にラグランジュ多項式を使用して等間隔の点を使用すると、滑らかな領域でエラーが発生することを意味しますか?(まあ、これらは(私の理解のために)架空の質問にすぎません。WENOスキームに対して15以上の次数の多項式を再構築することは実際には合理的ではありません) さらなる詳細: 近似関数: 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] N個の等間隔(および以降のLG)ポイントにバツxx分割されます。関数は毎回101ポイントで補間されます。NNN 結果: a)等間隔の点(補間N= 65N=65N = 65): b)等間隔のポイント(エラープロット、ログスケール): a)LGポイント(補間N= 65N=65N = 65): b)LGポイント(エラープロット、ログスケール):

1
多次元データを補間するための好ましい効率的なアプローチは何ですか?
多次元データを補間するための好ましい効率的なアプローチは何ですか? 私が心配していること: 構築のためのパフォーマンスとメモリ、シングル/バッチ評価 1から6の寸法を処理する 線形または高次 勾配を取得する機能(線形でない場合) 通常のグリッドと散布グリッド 補間関数として使用、たとえば根を見つけたり最小化する 外挿機能 これの効率的なオープンソース実装はありますか? 私はscipy.interpolateとscikit-learnからのクリギングで部分的な運がありました。 スプライン、チェビシェフ多項式などは試しませんでした。 これは、このトピックでこれまでに見つけたものです。 長方形グリッド上のPython 4D線形補間 x、y、zの異なる間隔で定期的にサンプリングされた3Dデータの高速補間 通常のグリッドデータの高速補間 多変量散乱補間のどの方法が実用に最適ですか?

4
ブラックボックス関数の不連続性を見つける最良の方法は何ですか?
これは以前に尋ねた数学スタックエクスチェンジよりもこの質問の方が良い場所かもしれないと示唆されました。 指定された間隔どこでも(安価に)評価できるブラックボックス関数があり、ノイズがない(浮動小数点の粒度を除くなど)と仮定します。この機能の不連続性を見つける最良の方法は何でしょうか?不連続点がいくつあるかはわかりませんが、不連続点はないかもしれません。[a,b][a,b][a,b] いくつかの簡単な方法(均一なサンプリング、サンプル間に大きな違いがある場合の改良など)を考えることができますが、おそらくもっと良い方法がありますか? この関数は「合理的」で、高次微分の場合と同じように、最大​​で有限の多くの不連続があると仮定できます。小さな病理学的不連続が見落とされても構いません...(アプリケーションは1d関数の自動プロットです) 。 - 答えてくれたすべての人、特にペドロに感謝します。Pachón、Platte、およびTrefethenで説明されている方法が私にとって最良のアプローチであると思われるので、次に実装します

6
多項式で近似するのが難しい連続関数の例
教育目的のために、多項式で近似するのが「難しい」単一変数の連続関数が必要です。つまり、この関数をうまくフィットさせるには、べき級数の非常に高いべき乗が必要です。私は、学生にべき級数で達成できることの「限界」を示すつもりです。 私は「うるさい」と何かを紡ぎ上げについて考えたが、代わりに自分を転がり、私はちょうど人々がそれらに多少同様に、近似/補間アルゴリズムをテストするために使用することを標準「難しい機能」のようなものがあるかどうかを疑問に思って最適化テスト機能数多く持っています素朴なアルゴリズムが簡単にスタックするローカルミニマム。 この質問の形式が適切でない場合はおApびします。非数学者に慈悲を与えてください。

4
非構造化グリッドの効率的な補間方法?
2つの非構造化グリッド間でデータを補間するための良い方法を知りたいのですが、一方のグリッドは他方のグリッドよりも粗いバージョンです。 ソリューションのタイムステップごとにグリッド間でデータを転送する必要がある一時的なPDE問題を解決しているため、効率は非常に重要です。 与えられたポイントの最も近いノードを検索するためにkdツリーを使用することを考え、その要素の形状関数(FEMシミュレーション)を使用してデータを補間します。これは良い解決策ですか?より良いものはありますか? また、このタスクのためのC / C ++の堅牢で信頼できるライブラリを知っていますか? *同様の質問があることは知っていますが、構造化されたグリッドで最も正確な方法を求めています。

2
非構造化メッシュのセル中心にマルチポイントデータを補間する方法は?
マルチポイントフィールドデータのセットがあり、各ポイントデータセットは非構造化メッシュの単一セルに関連しています。目標は、最も正確な方法で、直接または間接的にセル中心にデータを補間することです。 逆距離加重補間を使用する場合、ソースとターゲット(セルの中心)間の距離が非常に短い場合、浮動小数点例外が発生する可能性があります。 構造化メッシュでのこの種の補間では、ボリュームウェイト補間が使用されます。これは、任意の形状のメッシュセルに直接変換されません。 SIGFPEを回避するためにIDW補間の許容値を導入することは、補間を非効率にする可能性のあるテストを導入しない場合にのみ意味があります。IDW補間では、すべての重みの分母に十分に小さなを追加することが可能なオプションですか?この問題に適した補間方法は何ですか?δδ\delta 追加情報: メッシュからポイントへの補間には、重心座標に基づいた補間を使用しています。メッシュの各多面体セルは、四面体に分解されます。セル中心フィールドは、IDW補間を使用してセルポイントに補間されます。各ポイントに対して検索が行われ、その中にある四面体が検出され、重心補間を使用して値が補間されます。 点からメッシュへの補間では、これは不可能です。セルの中心値は不明です。を強制する四面体構成を組み立てる方法はありません。ここで、はポイントPとセル中心Cに関連する重みです。これは、ポイント構成が任意であるという事実に由来しています。そのため、現在は浮動小数点の例外が発生しないように、IDWを使用しています。この問題により適した補間方法はありますか?W P C∑pWPC= 1∑pWPC=1\sum_p W_{PC} = 1WPCWPCW_{PC}

2
RBFカーネルマトリックスは悪条件になる傾向がありますか?
RBFカーネル関数を使用して、1つのカーネルベースの機械学習アルゴリズム(KLPP)を実装します。結果のカーネル行列はKKK K(i,j)=exp(−(xi−xj)2σ2m)K(私、j)=exp⁡(−(バツ私−バツj)2σメートル2)K(i,j)= \exp\left({\frac{-(x_{i}-x_{j})^2}{ \sigma_{m}^2}}\right) 極めてL2ノルムの悪いconditioned.The条件数が来ることが示されている1017−10641017−106410^{17}-10^{64} 条件を整える方法はありますか?パラメータを調整する必要があると思いますが、正確にはわかりません。σσ \sigma ありがとう!

2
ラインサーチで3次と2次の内挿を決定するのに役立ちます
準ニュートンBFGSアルゴリズムの一部としてラインサーチを実行しています。ラインサーチの1つのステップで、3次補間を使用して、ローカルミニマイザーに近づけます。 してみましょうf:R→R,f∈C1f:R→R,f∈C1f : R \rightarrow R, f \in C^1関心の関数です。f ′(x ∗)≈0となるようなを見つけたい。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}) 私は二次方程式を解きます:は、閉形式の解を使用して、求めたx ∗ に対してです。(1):Q′(x∗−xk)=0(1):Q′(x∗−xk)=0(1): Q'(x^*-x_k) = 0x∗x∗x^* 上記は、が(1 )の閉じた形の解をaで割るaで除算する場合を除いて、ほとんどの場合にうまく機能します。f(x)=O(x2)f(x)=O(x2)f(x)=\mathcal{O}(x^2)(1)(1)(1)aaa000 私の解決策を見ていると、それは「小さすぎる」であれば、単純に二次多項式の最小化のための閉じた形のソリューション取るQ 2(X )= B のx 2 + C X + D私はすでに係数の持っているBを、C 、Dへの以前のフィットからQ (X )。aaaQ2(x)=bx2+cx+dQ2(x)=bx2+cx+dQ_2(x)=bx^2+cx+db,c,db,c,db,c,dQ(x)Q(x)Q(x) 私の質問は次のとおりです。立方体に対して2次補間を行うタイミングを調べるにはどうすればよいでしょうか。以下のためのテストへの単純なアプローチ≡ 0は私が探していますので、数値的な理由による悪いです| a | &lt; ε τどこεはマシンの精度ですが、私は良いのかを決定することができないんだτの規模不変だFを。a≡0a≡0a \equiv 0|a|&lt;ϵτ|a|&lt;ϵτ|a| < \epsilon\tauϵϵ\epsilonττ\taufff おまけの質問:失敗した3次近似からの係数使用に数値的な問題はありますか、または係数を計算する適切な方法で新しい2次近似を実行する必要がありますか?b,c,db,c,db,c,d 明確化のための編集: …


1
チェビシェフ多項式の高速(近似)評価
チェビシェフ補間多項式の高速(近似)評価を均一なグリッド(チェビシェフノードでの関数値を指定)に実装する好ましい方法はありますか?私の問題は、補間多項式の次数が増えると補間が遅くなることです。 次のアイデアが頭に浮かびました。 不均一FFT(NFFT)手法を採用する FFTを使用して、おそらくより細かい(チェビシェフ)グリッドに最初に行った後で、チェビシェフノードでの導関数を計算します。次に、(近似)評価に区分的3次補間を使用します。 "近くの"チェビシェフノードで関数値(および場合によっては導関数)のみを使用する式を使用します(これは特定のNFFT手法に関連しています)。

1
構造化グリッド上の3Dフローフィールドの最も正確な補間方法は何ですか?
私は、3D構造化グリッドで多種の圧縮可能なナビエ・ストークス方程式を解きます。特定のグリッドでソリューションを取得しました(比較的粗いグリッドとしましょう)。シミュレーションを再開する前に、グリッドを調整し、以前のソリューションを新しいグリッドで補間したいと思います。現在、2つのグリッドのkdツリーを構築し、2つの異なる方法を使用して新しいグリッドの値を計算できる補間ツールがあります。 単純平均 逆距離加重(IDW) 最小二乗法(MLS) 大きな勾配を扱っているため、勾配を正しくキャプチャしないと、計算を再開したときに波が生成されるため、精度に焦点を当てたいと思います。最初は簡単な平均化を試しましたが、精度は十分ではありませんでした。 次数が2の多項式を使用したMLS法は非振動性であると想定されているため、妥当な結果が得られると思いました。ただし、内挿フィールドを見ると、最初のフィールドの値をオーバーシュートする極小/極大が表示されます。これは、このプログラムでのMLSの実装が正しくないことを意味しますか?ステンシルのサイズと多項式の順序に注意する必要がありますか?他にどの方法をお勧めしますか? 前もって感謝します !

1
これらの振動は何ですか?
ガウス関数とローレンツ関数の中間の関数数値で定義しています。ガウス分布よりもはるかに遅く減衰しますが、単純な逆指数よりも高速です。g(x)g(x)g(x) フーリエ変換を大きなに対して計算する必要があります。への関数呼び出しは計算コストが高いため、補間を定義します-これをと呼び -いくつかの巨大な範囲、、それを私の積分に使用します。T G (X )G (X )G INT(X )X - 40 &lt; X &lt; 40f(t)≡F[g(x)](t)f(t)≡F[g(x)](t)f(t)\equiv \mathcal{F}[g(x)](t)tttg(x)g(x)g(x)g(x)g(x)g(x)gint(x )gint(x)g_{\text{int}}(x)バツxx− 40 &lt; x &lt; 40−40&lt;x&lt;40-40<x<40 f(t )= ∫∞- ∞cos(t x )g(x )dバツ⟶≈∫L− Lcos(t x )gint(x )dバツf(t)=∫−∞∞cos⁡(tx)g(x)dx⟶≈∫−LLcos⁡(tx)gint(x)dxf(t)=\int_{-\infty}^{\infty}\cos (tx)g(x)\,dx\,\,\underset{\approx}{\longrightarrow}\,\,\,\int_{-L}^{L}\cos(tx)g_{\text{int}}(x)\,dx しかし、フーリエ変換の近似を計算すると、最初は予期していなかった奇妙な振動が発生します。 上の図で示したように、振動の「周期」は約15.7です。私の最初の推測は、これは積分の相殺の交互の性質のアーティファクトであるかもしれないが、それは15.7の観察された「期間」を説明しないでしょう。 T推測= 2 πL≈ 0.157 ...Tguess=2πL≈0.157…T_{\text{guess}}=\frac{2\pi}{L}\approx 0.157\ldots これは、私が観察するものとはまったく異なる100の因数です(はい、積分と水平軸を正しく定義したことを確認しました)。これはどうやってできるの? 編集#1:補間の詳細 私は、Mathematicaの組み込みInterpolationで補間しています。これは、3次曲線で連続するポイント間を補間します(したがって、各ポイントで2導関数まで定義されます)。具体的には、関数を範囲でステップで補間しています。 G(X)-40&lt;X&lt;40DX=40 / 100=0.4ndnd^{\text{nd}}g(x )g(x)g(x)− …

4
SciPyを使用したスプラインの高次導関数
私はPythonで私のデータに合うようにスプラインを作成しました: spline=scipy.interpolate.UnivariateSpline(energy, fpp, k=4) 使用したい方程式には、n = 2とn = infinityの合計が含まれます。ここで、nは点Eoでの微分の次数です。ただし、使用; UnivariateSpline.__call__(spline, e0, nu=n) 値を呼び出すために、4階差分を超える値を取得できません。この関数を評価するために人々が知っている他の関数はありますか?約8次の上には、値をゼロに設定する前置乗算器がありますが、それでも4次より高くする必要があります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.