2012-04-05 11 views
1

A、B、Cに関して式Ax+Bsin(x)=Cの初期推測をどのようにして決定できますか? ニュートン・ラフソンを使って解決しようとしています。 A、B、Cは実行時に与えられます。ニュートン・ラフソンの最初の推測

この目的でニュートンラフソンより効率的な方法はありますか?

+1

私はこれがhttp://math.stackexchange.com/?as=1にすべきだと思います。 – marspzb

答えて

3

最適な初期推測はルート自体であるため、「最適」推測を見つけることは本当に有効ではありません。

任意の推測では、あなただけの任意の整数kためk*pi + pi/2あるcos(x)のゼロで起こるすべてのステップのためのf'(x0) != 0として最終的に限り、有効なソリューションを提供します。

私はx0 = C * piを試してみましょう。

しかし、あなたの最大の問題は、あなたの関数の周期的な性質です。ニュートンの方法は、あなたの関数のために遅くなります(それが働く場合でも)sin(x)x0を何度も何度も何度も繰り返しシフトするでしょう。


注意事項:あなたはf'(xn)が分母にあるかニュートン法で

、気づくのですか? f'(x)は、無限に何度も0に近づいています。 f'(x) = 0.0001(または0に近いところで起きる可能性がある)の場合、xn+1xnから実際に遠くに投じられます。

さらに悪いことに、f'(x)が定期的な関数であることが何度も繰り返される可能性があります。つまり、ニュートンの方法は任意のx0で収束しないことがあります。

+0

私が解決しようとしている問題がhttp://www.spoj.pl/problems/TRIGALGE/です。今ニュートン・ラフソンのアプローチの問題を見ています。通常の二分法はTLE(時間制限を超過)を与えます。今私は、ニュートン・ラフソンと二分割を混合することを考えています。より良いアプローチはありますか? –

+0

私が最初にニュートン法のためのまともな推測を見つけるために、数回の反復のために二分を試してみて、より正確な近似のためにニュートン法を使用します。 – Blender

+0

* any * guessが有効な解決策を提供するという記述は間違っています:例えば[here](http://en.wikipedia.org/wiki/Newton%27s_method#Failure_of_the_method_to_converge_to_the_root)を見てください。正しい*自体*もない 'fが '(x)が'ゼロ無限に多くの回に近づくなステートメント - 完全 'A'(の値と' B = 0'は、全く明らかに周期成分が存在しない場合に依存)。無限に多くの解が存在する可能性があり、それぞれの有用性はOPによって示されていないので、全体的な疑問はうんざりしている。ただ言って。 –

1

最も単純な「良い」近似はちょうどその罪を想定することである(x)はほぼゼロであり、そしてように設定:

x0 = C/A 
0

よく、A、B及びCは、実数及び0と異なる場合、次いで(B+C)/Aは最上位ルートの上の引用符で、(C-B)/Aは最下位ルートの下位引用符で、-1 <= sin(x) <= 1です。あなたはそれらから始めることができます。

0

ニュートン法は、どのような推測でも動作できます。問題は単純で、方程式がある場合はx0 = 100 となり、x0 = 2 となり、答えは2.34 * となり、最終的に得られることになるでしょう2.34 * このメソッドは、推測を選択すると言っています。有効な推測がなければ、快適ではない多くのソリューションが必要になります。誰もメソッドを20回繰り返す必要はありません。 と解決策を推測するのは難しくありません。 - たとえば、3が大きすぎ、2が小さすぎる 2と3の間の答えは ですが、2を推測すると50 が正しい解になると思います。私はそれはあなたに私は自分自身でメソッドをテストし、はるかに長い がかかります言ったよう 答えは4と5 の間であった私はランダム式 1000を推測し、私は最良の推測が4 を知っていた私はそれが私を取った1000年を選びました多くの時間 いますが、どういうわけか、あなたが実際に乱数がX0に等しい置くことができ、その後、最終的にはあなたが適切なソリューションになります臨界点を見つけることができない場合は、数時間後、私は1000から4.something に降り あなたが何を推測したとしても。

+0

あなたの答えをより良くフォーマットしてください。あなたの考えに従うことは本当に難しいです。 –

関連する問題