سؤال

أحاول استخدام سلسلة تايلور لتطوير خوارزمية سليمة عدديا لحل وظيفة. لقد كنت في ذلك لفترة طويلة، لكن لم يكن لديك أي حظ بعد. لست متأكدا مما أفعله خطأ.

الوظيفة

f(x)=1 + x - sin(x)/ln(1+x)   x~0

أيضا: لماذا يحدث فقد الدقة في هذه الوظيفة؟ عندما تكون x قريب من الصفر، فإن الخطيئة (x) / ln (1 + x) ليست قريبة من كونها نفس العدد x. لا أرى أين يتم فقد الأهمية.

من أجل حل هذا، أعتقد أنني سأحتاج إلى استخدام توسعات تايلور للخطيئة (X) و LN (1 + X)، والتي هي

x - x^3/3! + x^5/5! - x^7/7! + ...

و

x - x^2/2 + x^3/3 - x^4/4 + ...

على التوالى. لقد حاولت استخدام مثل القوامين للجمع بين مكونات X و SIN (X) / LN (1 + x)، وحتى الجمع بين الثلاثة، ولكن يبدو أنه لا شيء يعمل بشكل صحيح في النهاية. أي مساعدة موضع تقدير.

هل كانت مفيدة؟

المحلول 6

الطريقة المستخدمة في السؤال صحيحة - فقط تأكد من حاسبة الخاص بك في وضع الرضعين.

نصائح أخرى

فقدان الدقة يمكن أن يأتي لأنه عندما x ~ 0, ln(1+x) هو أيضا قريب من 0، لذلك أنت تنتهي تقسيم برقم صغير جدا. أجهزة الكمبيوتر ليست جيدة جدا في ذلك ؛-)

إذا كنت تستخدم سلسلة تايلور ل ln(1+x) مباشرة، ستكون نوعا من الألم لأنك ستنتهي تقسيم سلسلة لا حصر لها. للحالات مثل هذا، عادة ما أفضل لحساب سلسلة Taylor للوظيفة بأكملها ككل من التعريف:

f(x) = f(0) + f'(0) x + f''(0) x/2 + f'''(0) x/6 + ...

الذي ستحصل عليه

f(x) = 2 + 3x/2 - x^2/4 - x^3/24 - x^4/240 - 23x^5/1440 + 31x^6/2880 ...

(لقد خدعت وتوصيلها في الرياضيات ؛-) مثل ستيف يقول، هذه السلسلة لا تتقارب كل ذلك بسرعة، على الرغم من أنني لا أستطيع التفكير في طريقة أفضل في الوقت الحالي.

تعديل: أعتقد أنني أساء قراءة السؤال - إذا كان كل ما تحاول القيام به هو العثور على الأصفار من الوظيفة، فهناك طرق أفضل بالتأكيد من استخدام سلسلة تايلور.

لأن هذا هو الواجبات المنزلية، سأحاول فقط إعطاء بعض المؤشرات في الاتجاه الصحيح.

الحل 1.

بدلا من استخدام تقريب سلسلة Talyor، حاول ببساطة استخدام خوارزمية العثور على الجذر مثل طريقة Newton-Raphson أو الاستيفاء الخطي أو التهيم الفاصل (أو الجمع بينها حتى). إنها بسيطة للغاية في التنفيذ، ومع اختيار لقبئ من القيمة (القيم)، يمكن للجذر أن يتلقا إلى قيمة دقيقة بسرعة كبيرة.

الحل 2.

إذا كنت بحاجة فعلا إلى استخدام تقريب سلسلة Taylor لأي سبب من الأسباب، فما عليك سوى توسيع الخطيئة (x)، LN (X)، وأي شيء آخر. (يتضاعف من خلال LN (X) لإزالة القاسم في قضيتك سيعمل). ثم ستحتاج إلى استخدام نوع من المعادلات متعددة الحدود. إذا كنت تريد درجة معقولة من الدقة، فستحتاج إلى تجاوز الصلاحيات الثالثة أو الرابعة التي أتصورها، مما يعني أن الحل التحليلي البسيط لن يكون سهلا. ومع ذلك، قد ترغب في النظر في شيء مثل طريقة Durand-Kerner لحل متعدد الحدود عامة من أي طلب. ومع ذلك، إذا كنت بحاجة إلى استخدام شروط عالية الطلب، فإن هذا النهج سيؤدي فقط إلى مضاعفات، لذلك أود أن أوصى بالتأكيد الحل 1.

امل ان يساعد...

أعتقد أنك بحاجة إلى إلقاء نظرة على ما يحدث ل LN (X + 1) ك X -> 0 وسترى لماذا لا تتصرف هذه الوظيفة بالقرب من X = 0.

لم أتطلع إلى ذلك عن كثب، ولكن يجب أن تدرك أن بعض سلسلة تايلور تتلاقى ببطء شديد.

فقط حساب سلسلة تايلور من F مباشرة.

ماكسيما يعطيني (أول 4 شروط حول x = 0):

(%i1) f(x):=1 + x - sin(x)/log(1+x);
                                           - sin(x)
(%o1)                     f(x) := 1 + x + ----------
                                          log(1 + x)


(%i2) taylor(f(x),x,0,4);
                                2    3    4
                           x   x    x    x
(%o2)/T/                   - + -- + -- + --- + . . .
                           2   4    24   240
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top