問題タブ [spline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
977 参照

graphics - スプラインを使用して曲線を表す利点は何ですか?

スプラインを使用してモデル化された曲線についてよく耳にします。スプラインを使用する利点は何ですか?

0 投票する
1 に答える
148 参照

math - コントロール ポイントの数は常にフィット ポイントの数よりも 2 多いでしょうか?

コントロール ポイントの数が常にフィット ポイントの数よりも 2 多いかどうか疑問に思っています。特に 3 次スプライン。

0 投票する
1 に答える
647 参照

math - ノットとフィット ポイントの違いは何ですか?

スプライン カーブの場合、ノットとフィット ポイントの違いは何ですか?

フィット ポイントは常に曲線上にあることは知っていますが、ノットは何に使用されますか?

0 投票する
2 に答える
1408 参照

r - Rの非線形最小二乗内のスプライン

たとえば、次の形式のRの非線形最小二乗モデルを考えてみます。

(私の実際の問題にはいくつかの変数があり、外部関数はロジスティックではありませんが、もう少し複雑です。これはより単純ですが、これを実行できれば、私のケースはほぼすぐに続くはずです)

「アルファ+ベータ*x」という用語を(たとえば)自然な3次スプラインに置き換えたいと思います。

ロジスティック関数内で非線形関数を使用してサンプルデータを作成するためのコードを次に示します。

その周りのロジスティックを必要とせずに、私がlmにいる場合、線形項をスプライン項に簡単に置き換えることができます。したがって、次のような線形モデル:

その後になります

適合値の生成は簡単であり、(たとえば)rmsパッケージを使用して予測値を取得することは十分に簡単に思えます。

確かに、元のデータをそのlmベースのスプラインフィットでフィッティングすることはそれほど悪くはありませんが、ロジスティック関数内でそれが必要な理由があります(つまり、私の問題では同等です)。

nlsの問題は、すべてのパラメーターの名前を指定する必要があることです(1つのスプラインフィットの場合は(b1、...、b5)と呼び、別の変数の場合はc1、...、c6と呼びます。 -私はそれらのいくつかを作ることができる必要があります)。

非線形関数内の線形項をスプラインに置き換えることができるように、nlsに対応する式を生成するための合理的に適切な方法はありますか?

それを行うことができると私が理解できる唯一の方法は、少し厄介で不格好であり、たくさんのコードを書かずにうまく一般化することはできません。

明確にするために編集)この小さな問題については、もちろん手作業で行うことができます-nsによって生成された行列内のすべての変数の内積の式を書きます、パラメータのベクトルを掛けます。しかし、その後、他のすべての変数のスプラインごとに、また、いずれかのスプラインのdfを変更するたびに、またnsの代わりにcsを使用する場合は、用語ごとにすべてを書き出す必要があります。そして、いくつかの予測(/補間)を実行しようとすると、処理する必要のあるまったく新しい多数の問題が発生します。分析後の分析のために、何度も何度も、そして潜在的にはかなり多くのノットといくつかの変数に対してそれを続ける必要があります-そして私は個々の用語を書き出すよりももっときちんとした、簡単な方法があるのだろうかと思いました、大量のコードを書く必要はありません。私はそれを行うためのかなり強気な方法を見ることができますが、それは正しくするためにかなりのコードを必要としますが、Rであるため、はるかにきちんとした方法(またはおそらく3つまたは4つのきちんとした方法)があると思います' s単に私を避けています。したがって、質問。

過去に誰かがこのようなことをかなりいい方法でやっているのを見たことがあると思いましたが、私の人生では今はそれを見つけることができません。私はそれを見つけるために何度も試しました。

[より具体的には、単純なモデルを見つけることができるかどうかを確認するために、各変数のいくつかの異なるスプラインのいずれかを試してみて、いくつかの可能性を試してみたいと思います。目的には十分です(ノイズは実際には非常に低いです。フィットのバイアスは、良好な滑らかな結果を達成するために問題ありませんが、ある程度までしかありません)。推論やデータマイニングに近づくものよりも、「優れた、解釈可能な、しかし適切なフィッティング関数を見つける」ことは、この問題の実際の問題ではありません。]

あるいは、これがgnmやASSIST、または他のパッケージの1つではるかに簡単な場合、それは有用な知識ですが、上記のトイプロブレムをどのように進めるかについてのいくつかの指針が役立ちます。

0 投票する
1 に答える
637 参照

c++ - SIMD 命令による滑らかなスプライン

コードでこのタイプのスプラインを使用していますが、アルゴリズムが SIMD 命令の使用から恩恵を受けることができるかどうか疑問に思っています。(ARM の NEON) 使用されるコードは、次のソース (Fortran で) の C 翻訳です。

あなたの経験から、このコードが SIMD 命令を使用して最適化される可能性があるかどうかわかりますか?

コードを「通常の」コードから SIMD 命令を使用するコードに変換するためのガイドラインはありますか?

ありがとう

0 投票する
3 に答える
4862 参照

algorithm - スプライン サーフェス補間

z軸上のサーフェスを定義するn個の点があるとしましょう

今、私は f(x,y) を近似できるようにしたいと考えています。線形近似、特にスプライン近似のアルゴリズムを探しています。アルゴリズムの例または少なくともいくつかのポインターは素晴らしいでしょう。

0 投票する
2 に答える
11202 参照

r - glm() 内で splines パッケージの ns() 関数を使用する

スプラインns()パッケージの関数をポアソン GLM と共に使用して、健康上の結果 ( ) に対する粒子状物質濃度 ( )の有意性をテストしようとしています。pm.lag0Freq

これらのエラーが返されます:

それは有効な使用法ではありませns()んか? 誰かがこのエラー メッセージを解読するのを手伝ってくれますか? R が提供するスプラインのドキュメントは、このエラー ( ) と一致していないようです?ns

0 投票する
2 に答える
10582 参照

python - 線形スプラインを生成する3次スプラインPythonコード

編集:私はこのコードをデバッグするためにあなたを探していません。このよく知られたアルゴリズムに精通している場合は、支援できる可能性があります。アルゴリズムが係数を正しく生成することに注意してください。

この3次スプライン補間のコードは線形スプラインを生成しており、その理由は(まだ)理解できないようです。アルゴリズムはBurdenの数値解析に基づいています。これはここの擬似コードとほぼ同じです。、またはコメント内のリンクからその本を見つけることができます(第3章を参照してください、とにかく持っている価値があります)。コードは正しい係数を生成しています。私はその実装を誤解していると思います。フィードバックをいただければ幸いです。また、私はプログラミングに不慣れなので、コーディングがどれほど悪いかについてのフィードバックも歓迎します。線形システムの写真をh、a、cでアップロードしようとしましたが、新しいユーザーとしてはできません。アルゴリズムが解く、var alphaによって設定される三重対角線形システムのビジュアルが必要な場合は、本のコメントのリンクを参照してください。第3章を参照してください。システムは厳密に対角的に支配的であるため、一意の解c0、...、cnが存在します。ci値がわかれば、他の係数が続きます。

退屈な、またはやり過ぎのために...

これがテスト用のコードです。間隔はx:[1、9]、y:[0、19.7750212]です。テスト関数はxln(x)であるため、1から開始し、.1ずつ増加して9になります。

...そしてプロット用:

0 投票する
1 に答える
1457 参照

math - 自然な 3 次スプラインで時間 t の接線を見つける方法

Tim Lamber のアルゴリズムを使用して、自然なスプライン 3 次曲線を描きました。

NatCubicクラス

NatCubic クラスは、点の配列の 3 次 (abcd) の係数を計算します。

a + b*u + c*u^2 + d*u^3 0<=u <1

Cubic クラスは、[0-1] の時間 t における曲線上の点を計算します。

キュービック クラスの b は、i のノットでの導関数です。

私の質問は: t >0 <1 で接線を見つける方法

ありがとうございました!

PS :

私の質問を明確にするために、各コントロールポイントの事前に計算された係数(abcd)を使用して、時間t、たとえば0.5でタンジェントを検索します。これは、y(i +1) - y(i-1) によってタンジェントを見つけるために point(t+1) を計算することを避けるためです。

私の下手な英語でごめんなさい。

この写真で私がやりたいことがわかります

0 投票する
1 に答える
175 参照

math - ポイントのセットからスプラインの最適な数を計算する

このタスクは、PhotoshopのFreePenなどのツールに似ています。

一連のポイント(マウス入力から取得)をスプラインの最適な数に補間する必要がありました。

どこを見ればいいのかわからない。