私は各区間[x_{i}, x_{i + 1}], i = 0, ..., n
のためにすべてP_{i}
(もちろん、次数3の多項式です)を持っているので、Mathematica 8
の関数として3次スプラインを定義しようとしています。私がしたいのは、[x_{0}, x_{n + 1}]
の間にs
を
と定義することです。 s(x) = P_{i}(x) if x is in [x_{i}, x_{i+1}]
n
がどのように変わるのですか?私はPiecewise
を考えていたが、うまくいかなかった。一般的なPiecewiseのようなものがMathematicaにありますか?
答えて
私が間違っていない場合、これはあなたが求めるものです。それは少し醜いですが。より良い選択肢があります。
n = 5;
ClearAll[f];
f[x_] = Piecewise[Table[{x^k, (k - 1)/n < x <= k/n}, {k, 0, n}]]
f[1/2]
(* ==> 1/8 *)
あなたがSet
(=)に置き換えることができthne(私が提唱しません)グローバル変数n
の現在の状態に依存の結果を作りたい場合f
の定義がSetDelayed
(:=)ですが、これはf
の呼び出しごとにTable
を再評価することを意味します。小さな値のnではそれほど悪くはありませんが、私はそれが気に入らないのです。その場合の結果は次のようになります。
n = 2; f[1/2]
n = 5; f[1/2]
(* ==> 1/2
==> 1/8
*)
これはまさに私が探していたものです。それで、私の主な質問に対する答えは、次のようになります。s [t_] = Piecewise [Table [{P [i] [t]、x [i] <= t <= x [i + n}]] ' – svs
私に教えてくださいSjoerd、これは彼が望んだことをいつ理解しましたか?また、「ピースワイズ」がうまくいかないとの声明を聞いたことはありませんか? –
@IvanPetkov x [i] <= x <= x [i + 1]は面倒です。あなたは関数xと変数xを混合しています。 –
私は本当にあなたが求めているものを理解していないが、私の最高の推測と一緒に行く、あなたはこの中で値を見つけることがあります。
p = {func1, func2, func3, func4, func5};
s = If[
1 <= # <= [email protected],
p[[Floor[#]]][#],
"Undefined"
] &;
s /@ {2.4, 1.2, 3.3, 4.8, 1.3, -2.5}
{func2[2.4], func1[1.2], func3[3.3], func4[4.8], func1[1.3], "Undefined"}
これは便利ではない場合、私は申し訳ありません。
私がするべきことは基本的に次のようなものです: 'f:(0、1) - > R. f [x_] = x^kが(k-1)/ n、k /したがって、n = 5の場合、1/2は(2/5、3/5)にあるので、f 1/2 = 1/8 ' 定義方法Mathematicaのこの関数? – svs
イワン、私は私の最初の答えにあなたのコメントをもとに、多かれ少なかれ不自然あなたが欲しいものを行う方法、の数は、あると思います。おそらく、あなたは最も一般的にInterpolation
の機能性を探しています。例:
n = 5;
Table[{k/n, k}, {k, 0, n}]
f = Interpolation[%, InterpolationOrder -> 0];
Plot[f[i], {i, 0, 1}, PlotRange -> All]
- 1. Mathematica:一般的な接線のFindRoot
- 2. 非英語の一般的なプログラミングリソースにはどのようなものがありますか?
- 3. Moodleのような一般的なコース管理システムはありますか?
- 4. Pythonループ:より一般的なものにする
- 5. より一般的なビジターパターン
- 6. Vimには一般的な `filetype = code`がありますか?
- 7. HasFlagには一般的な列挙型がありますか?
- 8. ブーストには一般的な「クリーンアップ」クラスがありますか?
- 9. C#4には一般的な属性がありますか?
- 10. Pythonには一般的なメソッドがありますか?
- 11. はどのように一般的なものから非ジェネリックメソッドを呼び出すためにどのように一般的なもの
- 12. 最も一般的な/一般的な南米のスペインの文化が
- 13. mathematicaで一般的な関数を定義するには?
- 14. 一般的なlispイディオム - 良い方法がありますか?
- 15. 最も一般的なタプル
- 16. 一般的なハドソンのレポーターはありますか?
- 17. ニューラルネットワークの一般的な形式はありますか
- 18. の一般的な用語はありますか?ディレクトリエントリ?
- 19. 一般的なjavaソケットに暗号スイートがありません
- 20. Facebookの認証情報には一般的なエラーがありますか?
- 21. iphone一般的な情報があります
- 22. サイズkの最も一般的なサブセット
- 23. 最も一般的な複数のプログラム
- 24. c#継承一般的なもの
- 25. where句の最も一般的な値
- 26. 一般的なユニークカウント機能はありますか?
- 27. 良いCSSクラスチェッカーツールと一般的なクリーナーはありますか?
- 28. 一般的な統計ボードソフトウェアはありますか?
- 29. この変換を行う一般的な方法はありますか?
- 30. これより一般的なparfoldr
あなたは 'Piecewise'を使用してみました何を示してください。また、読みにくいので、テキストに書式を追加することを検討してください。 –
私はPiecewiseを全く試していませんでした。そうすることには何の役にも立ちません。私はドキュメンテーションを見て、Piecewiseが固定数のパラメータで動作することを見ただけです。私は変化するものが必要です。 – svs
私はあなたの要求を理解していません。 'n'多項式はどこから来ますか?なぜあなたは 'Piecewise'式をプログラムで満たすことができませんか?多項式が 'i'の関数なら' Piecewise'が必要ですか?この機能はどのように使用されますか? –