روش Iterative براي حل معادلات

بازگشت به صفحه رياضيات  بازگشت به صفحه اصلي

در تحليل عددي و حل معادلات، يكي از روشهاي بسيار مفيد  بنام  Iterative  كاربرد وسيعي دارد.  واژه  Iterate بمعناي بازگفتن است  يعني دوباره  گفتن و سه باره  گفتن و ... چندباره گفتن است.

در روش Iterative  براي يافتن و تعيين مقدار دقيق مجهول، ابتدا يك مقدار تخميني  و تقريبي را كه برآورد مي كنيم و حدس مي زنيم به مجهول مي دهيم.  آنگاه  در دور اول محاسبات  مقدار دقيقتري محاسبه مي شود و بدينترتيب  به جواب نزديك مي شويم و در دور دوم نزديكتر و در دور سوم بازهم نزديكتر و ... تا بالاخره به جوابي مي رسيم كه باندازه كافي دقيق باشد.. البته  روش ديگر بنام  Recursive ناميده شده و آن نيز كاربردهاي وسيعي دارد.

 ابتدا  با بررسي چند  نمونه با اين روش آشنا مي شويم و آنگاه به بحث دقيق  و اثبات آن مي پردازيم.


در برنامه روبرو ديده مي شود كه مقدار اوليه اي كه به x داده شده 1 است  و بعد در 25 دور يا Iteration مقدار جديد x محاسبه مي شود
در خروجي بالا ديده مي شود كه در دور 24 و 25 تا شش رقم بعد از مميز مقدار x محاسبه شده است:  0.567143
اگر دقت بيشتري لازم باشد مي توان تعداددورها را بجاي 25 مثلا 300 تعيين كرد تا دقت نتيجه به حداكثر برسد كه در اين نوع كامپيوتر تا 16 رقم بعد از مميز اعشار است ولي دقيقتر از آنهم هست
مثال 1 :   معادله    را حل كنيد.  يعني مقدار x چه باشد تا  طرفين معادله برابر شوند؟  برنامه زير به زبان C Sharp 2008 نوشته شده و مدلي براي يادگيري اين زبان نيز مي باشد.


مقدار خروجي                   مقدار ورودي 

مثال 2 :   معادله   را حل كنيد.

حل با روش  Iterative:  ابتدا معادله را به شكل روبرو مرتب  مي كنيم ، يعني جملات منفي را به سمت راست معادله مي بريم و بعد طرفين معادله را بر توان دوم x تقسيم مي كنيم  تا معادله ما به فرم     ( x=f( x  درآيد

در اين فرم از همان معادله  ي بالا،  x  تابعي از x  است . يعني  در سمت راست معادله، متغير مستقل x  است  و در سمت چپ معادله، متغير وابسته نيز x  است.  بنا بر اين در سمت راست معادله بجاي x يك مقدار تخميني ، مثلا 1 مي گذاريم تا مقدار جديدي براي x  بدست آيد كه در اين مثال 3 خواهد بود.  آنگاه مقدار 3 را در سمت راست معادله مي گذاريم تا مقدار ديگري براي x بدست آيد و اينكار را آنقدر تكرار مي كنيم تا نتيجه محاسبات باندازه كافي دقيق باشد .

در زير برنامه كوچكي بزبان C# Sharp 2008 نوشته شده كه مقدار تخميني و بيدقت ما را در آغاز از طريق X2  دريافت مي كند و بعد، با هربار كه دكمه را كليك كنيم، مقدار بهتري را محاسبه مي كند.

برنامه نوشته شده براي مثال 1 بزبان  سي شارپ 2008

 

حل