روش 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 دريافت مي كند و بعد، با هربار كه دكمه را كليك كنيم، مقدار بهتري را محاسبه مي كند.
|
حل