محاسبات عددی و برنامه نویسی
-
Upload
justina-day -
Category
Documents
-
view
59 -
download
2
description
Transcript of محاسبات عددی و برنامه نویسی
محاسبات عددی و برنامه نویسی
دانشگاه صنعتی امیرکبیرمحمد علی احمدی پژوه
1391زمستان
مفهوم خطا
بنام خدا
تعریف خطا
در صورت وجود اختالف بین واقعیت و مقدار معادلسازی •شده برای این کمیت خطا رخ می دهد.
می توان خطا را در منابع مختلفی جستجو کرد. به طور •مثال می توان خطا را ناشی از دو منبع زیر دانست:
خطای ناشی از ابزار–خطای ناشی از کاربر–
به طور مثال یک فرد می تواند به دلیل غیر دقیق بودن •خط کش، به اندازه غیر دقیقی از یک ذره بسیار کوچک
برسد.همینطور یک کاربر ناوارد، می تواند از یک خط کش دقیق •
به خوبی استفاده نکرده و طول را اشتباه اندازه بگیرد.
خطای محاسبات در کامپیوتر
ساده سازی بیش از حد آنچه باید مدل شود•( Round-off )خطای گرد کردن•( Approximationخطای تقریب )•
(Truncationتقطیع )–(Convergenceعدم همگرایی )–
وجود خطا در ثبت اطالعات•
ساده سازی بیش از حد آنچه باید مدل شود
معموال فرایندهایی که ما با آنها روبرو هستیم چندان •هم ساده نیستند. به طور مثال عوامل متعددی در
تغییر یک کمیت موثر هستند. روابط ممکن است با ریاضیات معمول قابل توصیف نباشند.
در مقابل ابزار ما هم محدودیت دارد. ابزار ریاضی، •محاسباتی و زمانی که ما برای بررسی فرایندها در
اختیار داریم محدود است.لذا همواره بسته به اهمیت و به عبارت دیگر هزینه •
ای که می توانیم متقبل شویم، یک فرایند را ساده سازی می کنیم.
مثال
ممکن است اگر قد یک فرد مورد نظر ما باشد، با •استفاده از آمارهایی که قبال گرفته شده، یک رابطه ساده
بین سن و قد افراد معمول جامعه بدست بیاوریم.با این کار، با دانستن سن فرد، حدودی از قد وی را •
خواهیم داشت.اما قد فقط تابع سن افراد نیست. عوامل بسیاری مانند •
محیط، تغذیه، وراثت و غیره در این تغییرات موثر هستند.لذا با استفاده از رابطه سن و قد، ساده سازی انجام •
گرفته است که ما را از ایجاد مدلهای پیچیده رهانیده است. هزینه این کار، عدم دقت روش خواهد بود.
خطای گرد کردن
همانطور که قبال نیز اشاره شد، به دلیل •محدودیتهایی که در تعداد بیت اختصاص یافته به حافظه و یا بخش پردازنده کامپیوتر وجود دارد،
همیشه دامنه تغییرات متغیر واقعی با متغیر دیجیتال شده تفاوت دارد.
در اینجا نوعی خطای گرد کردن وجود دارد.•خطای گرد کردن فقط در ثبت اطالعات نیست. •
بلکه در محاسبات نیز ممکن است خطای گرد کردن اتفاق بیافتد. در این مورد کمی توضیح می
دهیم.
مثال
کار کنیم. Zفرض کنید ما با اعداد صحیح •• Z={…,-2,-1,0,1,2,…}
یعنی اعداد نمی توانند اعضار داشته باشند. در •این صورت فرض کنید بخواهیم یک تقسیم
را در نظر 5÷4ساده انجام بدهیم. مثال است که نمی توان آنرا 1/25بگیریم. جواب
در نظر گرفت. نزدیک ترین عدد به پاسخ Zدر است. لذا خطای محاسبات ما 1واقعی، عدد
است.0/25
برای نمایش اطالعات در IEEE استانداردکامپیوتر
از آنجا که تعداد بیتهای ما در کامپیوتر محدود •است، برای ثبت اعداد اعشاری باید یک
استاندارد تعریف شود.امروزه مبنای متداول برای بیشتر کامپیوترها، •
1985 سال IEEEپیروی از مجموعه استاندارد (IEEE 754 مبنای )است. 2
1 و 0 می توانند فقط diدر این مبنا هر رقم •باشند.
بیت و به 64یک عدد در این استاندارد با •صورت زیر بیان می شود:
یک بیت برای عالمت در نظر گرفته می شود ) • باشد، منفی است(1اگر
بیت برای نما11• بیت برای کسر52 و •
برای نمایش اعداد مثبت و منفی، یک مقدار پیش فرض •( به نمای واقعی به منظور دستیابی به نمای biasاولیه )
قابل ذخیره شده افزوده می شود. است. 1023، این مقدار IEEEبرای اعداد با دقت مضاعف •
در فیلد نما 1023بنابراین، یک نمای صفر بدان معناست که ذخیره سازی شده است.
( 1023-2000 حاکی از نمای )2000یک مقدار ذخیره شده • است.977یا
برای متغیرهای از نوع کلمه های با دقت مضاعف، بزرگترین • و کوچکترین عدد مثبت تقریبا 10308عدد قابل نمایش تقریبا
است.10-308×2.2
مثال
عدد زیر را در نظر بگیرید:•
چون رقم اول صفر است، تعداد مثبت است.• را نمایش e، نمای 10000000111 بیت بعدی، 11•
را نشان می دهند. 1031 بیت عدد 11می دهد. این است.1023-1031=8لذا نما
بیت بعدی، که بخش کسری، یا مانتیسی یک عدد 52•نقطه اعشاری را نشان می دهد، برای این مثال،
است.0/90625لذا عدد در مبنای ده به صورت زیر است:•
(× عالمت1×)مانیتس +2نما 1.90625×28=488
توجه
و یک 1مقادیر ∞+ و ∞- با یک نمای همگی • نشان داده شده اند.0کسر همگی
صفر یک مقدار خاص است که با یک فیلد نمای •صفر و یک فیلد کسری از صفر نشان داده می
شود.
خطای تقریب
معموال الگوریتمهایی که در این درس به آنها اشاره می شوند •یا تکراری هستند و یا غیر تکراری. اگر روش تکراری نتواند در
تعداد محدود تکرار به عدد جواب همگرا شود، خطای همگرایی رخ می دهد.
از دید دیگر، معموال برای یک رابطه ریاضی با تعداد زیاد جمله •های محاسباتی، معموال بخشی از جمله ها که ارزش زیاد تری
دارند استفاده می شوند و سایرین حذف می شوند. این کار به دلیل کاهش حجم محاسبات انجام می شود. این خود عامل نوعی از خطا خواهد شد. یقیقنا عدم حذف جمالت مذکور،
دقت را افزایش و حجم محاسبات را نیز افزایش خواهد داد.این نوع خطا در بخش دیگری از درس به صورت مشروح •
معرفی خواهد شد.
خطای هنگام ثبت
معموال در حین ثبت و تبدیل اطالعات نیز •خطایی رخ می دهد که ناشی از روشهای
اندازه گیری و یا کاربر است که این خطا در این درس مد نظر نیست.
جمع بندی
انواع منابع خطا برای ثبت و محاسبات در •کامپیوتر وجود دارد.
الگوریتم موفق، الگوریتمی است که با حداقل •محاسبات، کمترین خطا را ایجاد نماید.