1 / 15

محاسبات عددی و برنامه نویسی

بنام خدا. محاسبات عددی و برنامه نویسی. مفهوم خطا. دانشگاه صنعتی امیرکبیر محمد علی احمدی پژوه زمستان 1391. تعریف خطا. در صورت وجود اختلاف بین واقعیت و مقدار معادلسازی شده برای این کمیت خطا رخ می دهد.

justina-day
Télécharger la présentation

محاسبات عددی و برنامه نویسی

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. بنام خدا محاسبات عددی و برنامه نویسی • مفهوم خطا دانشگاه صنعتی امیرکبیر محمد علی احمدی پژوه زمستان 1391

  2. تعریف خطا • در صورت وجود اختلاف بین واقعیت و مقدار معادلسازی شده برای این کمیت خطا رخ می دهد. • می توان خطا را در منابع مختلفی جستجو کرد. به طور مثال می توان خطا را ناشی از دو منبع زیر دانست: • خطای ناشی از ابزار • خطای ناشی از کاربر • به طور مثال یک فرد می تواند به دلیل غیر دقیق بودن خط کش، به اندازه غیر دقیقی از یک ذره بسیار کوچک برسد. • همینطور یک کاربر ناوارد، می تواند از یک خط کش دقیق به خوبی استفاده نکرده و طول را اشتباه اندازه بگیرد.

  3. خطای محاسبات در کامپیوتر • ساده سازی بیش از حد آنچه باید مدل شود • خطای گرد کردن (Round-off) • خطای تقریب (Approximation) • تقطیع (Truncation) • عدم همگرایی (Convergence) • وجود خطا در ثبت اطلاعات

  4. ساده سازی بیش از حد آنچه باید مدل شود • معمولا فرایندهایی که ما با آنها روبرو هستیم چندان هم ساده نیستند. به طور مثال عوامل متعددی در تغییر یک کمیت موثر هستند. روابط ممکن است با ریاضیات معمول قابل توصیف نباشند. • در مقابل ابزار ما هم محدودیت دارد. ابزار ریاضی، محاسباتی و زمانی که ما برای بررسی فرایندها در اختیار داریم محدود است. • لذا همواره بسته به اهمیت و به عبارت دیگر هزینه ای که می توانیم متقبل شویم، یک فرایند را ساده سازی می کنیم.

  5. مثال • ممکن است اگر قد یک فرد مورد نظر ما باشد، با استفاده از آمارهایی که قبلا گرفته شده، یک رابطه ساده بین سن و قد افراد معمول جامعه بدست بیاوریم. • با این کار، با دانستن سن فرد، حدودی از قد وی را خواهیم داشت. • اما قد فقط تابع سن افراد نیست. عوامل بسیاری مانند محیط، تغذیه، وراثت و غیره در این تغییرات موثر هستند. • لذا با استفاده از رابطه سن و قد، ساده سازی انجام گرفته است که ما را از ایجاد مدلهای پیچیده رهانیده است. هزینه این کار، عدم دقت روش خواهد بود.

  6. خطای گرد کردن • همانطور که قبلا نیز اشاره شد، به دلیل محدودیتهایی که در تعداد بیت اختصاص یافته به حافظه و یا بخش پردازنده کامپیوتر وجود دارد، همیشه دامنه تغییرات متغیر واقعی با متغیر دیجیتال شده تفاوت دارد. • در اینجا نوعی خطای گرد کردن وجود دارد. • خطای گرد کردن فقط در ثبت اطلاعات نیست. بلکه در محاسبات نیز ممکن است خطای گرد کردن اتفاق بیافتد. در این مورد کمی توضیح می دهیم.

  7. مثال • فرض کنید ما با اعداد صحیح Z کار کنیم. • Z={…,-2,-1,0,1,2,…} • یعنی اعداد نمی توانند اعضار داشته باشند. در این صورت فرض کنید بخواهیم یک تقسیم ساده انجام بدهیم. مثلا 4÷5 را در نظر بگیریم. جواب 1/25است که نمی توان آنرا در Z در نظر گرفت. نزدیک ترین عدد به پاسخ واقعی، عدد 1 است. لذا خطای محاسبات ما 0/25است.

  8. استاندارد IEEE برای نمایش اطلاعات در کامپیوتر • از آنجا که تعداد بیتهای ما در کامپیوتر محدود است، برای ثبت اعداد اعشاری باید یک استاندارد تعریف شود. • امروزه مبنای متداول برای بیشتر کامپیوترها، پیروی از مجموعه استاندارد IEEE سال 1985 (IEEE 754) مبنای 2 است. • در این مبنا هر رقم di می توانند فقط 0 و 1باشند.

  9. یک عدد در این استاندارد با 64 بیت و به صورت زیر بیان می شود: • یک بیت برای علامت در نظر گرفته می شود ( اگر 1 باشد، منفی است) • 11 بیت برای نما • و 52 بیت برای کسر

  10. برای نمایش اعداد مثبت و منفی، یک مقدار پیش فرض اولیه (bias) به نمای واقعی به منظور دستیابی به نمای قابل ذخیره شده افزوده می شود. • برای اعداد با دقت مضاعف IEEE، این مقدار 1023 است. بنابراین، یک نمای صفر بدان معناست که 1023 در فیلد نما ذخیره سازی شده است. • یک مقدار ذخیره شده 2000 حاکی از نمای (2000-1023) یا 977 است. • برای متغیرهای از نوع کلمه های با دقت مضاعف، بزرگترین عدد قابل نمایش تقریبا 10308 و کوچکترین عدد مثبت تقریبا 2.2×10-308است.

  11. مثال • عدد زیر را در نظر بگیرید: • چون رقم اول صفر است، تعداد مثبت است. • 11 بیت بعدی، 10000000111، نمای e را نمایش می دهد. این 11 بیت عدد 1031 را نشان می دهند. لذا نما 8=1031-1023است. • 52 بیت بعدی، که بخش کسری، یا مانتیسی یک عدد نقطه اعشاری را نشان می دهد، برای این مثال، 0/90625 است. • لذا عدد در مبنای ده به صورت زیر است: 1.90625×28=488 نما2×(مانیتس +1)× علامت

  12. توجه • مقادیر ∞+ و ∞- با یک نمای همگی 1 و یک کسر همگی 0 نشان داده شده اند. • صفر یک مقدار خاص است که با یک فیلد نمای صفر و یک فیلد کسری از صفر نشان داده می شود.

  13. خطای تقریب • معمولا الگوریتمهایی که در این درس به آنها اشاره می شوند یا تکراری هستند و یا غیر تکراری. اگر روش تکراری نتواند در تعداد محدود تکرار به عدد جواب همگرا شود، خطای همگرایی رخ می دهد. • از دید دیگر، معمولا برای یک رابطه ریاضی با تعداد زیاد جمله های محاسباتی، معمولا بخشی از جمله ها که ارزش زیاد تری دارند استفاده می شوند و سایرین حذف می شوند. این کار به دلیل کاهش حجم محاسبات انجام می شود. این خود عامل نوعی از خطا خواهد شد. یقیقنا عدم حذف جملات مذکور، دقت را افزایش و حجم محاسبات را نیز افزایش خواهد داد. • این نوع خطا در بخش دیگری از درس به صورت مشروح معرفی خواهد شد.

  14. خطای هنگام ثبت • معمولا در حین ثبت و تبدیل اطلاعات نیز خطایی رخ می دهد که ناشی از روشهای اندازه گیری و یا کاربر است که این خطا در این درس مد نظر نیست.

  15. جمع بندی • انواع منابع خطا برای ثبت و محاسبات در کامپیوتر وجود دارد. • الگوریتم موفق، الگوریتمی است که با حداقل محاسبات، کمترین خطا را ایجاد نماید.

More Related