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

15
ی س ی و ن ه م ا رن بدی و عد ات ب س حا م ر ی ب ک ر می ی ا ت ع ن ص گاه* ش ی دا وه* ر, ب .مدی ح ی ا عل مد ح م2 ان ب س م ز1391 طا خ وم ه ف م دا ام خ ب ب

description

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

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

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

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

دانشگاه صنعتی امیرکبیرمحمد علی احمدی پژوه

1391زمستان

مفهوم خطا

بنام خدا

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

تعریف خطا

در صورت وجود اختالف بین واقعیت و مقدار معادلسازی •شده برای این کمیت خطا رخ می دهد.

می توان خطا را در منابع مختلفی جستجو کرد. به طور •مثال می توان خطا را ناشی از دو منبع زیر دانست:

خطای ناشی از ابزار–خطای ناشی از کاربر–

به طور مثال یک فرد می تواند به دلیل غیر دقیق بودن •خط کش، به اندازه غیر دقیقی از یک ذره بسیار کوچک

برسد.همینطور یک کاربر ناوارد، می تواند از یک خط کش دقیق •

به خوبی استفاده نکرده و طول را اشتباه اندازه بگیرد.

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

خطای محاسبات در کامپیوتر

ساده سازی بیش از حد آنچه باید مدل شود•( Round-off )خطای گرد کردن•( Approximationخطای تقریب )•

(Truncationتقطیع )–(Convergenceعدم همگرایی )–

وجود خطا در ثبت اطالعات•

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

ساده سازی بیش از حد آنچه باید مدل شود

معموال فرایندهایی که ما با آنها روبرو هستیم چندان •هم ساده نیستند. به طور مثال عوامل متعددی در

تغییر یک کمیت موثر هستند. روابط ممکن است با ریاضیات معمول قابل توصیف نباشند.

در مقابل ابزار ما هم محدودیت دارد. ابزار ریاضی، •محاسباتی و زمانی که ما برای بررسی فرایندها در

اختیار داریم محدود است.لذا همواره بسته به اهمیت و به عبارت دیگر هزینه •

ای که می توانیم متقبل شویم، یک فرایند را ساده سازی می کنیم.

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

مثال

ممکن است اگر قد یک فرد مورد نظر ما باشد، با •استفاده از آمارهایی که قبال گرفته شده، یک رابطه ساده

بین سن و قد افراد معمول جامعه بدست بیاوریم.با این کار، با دانستن سن فرد، حدودی از قد وی را •

خواهیم داشت.اما قد فقط تابع سن افراد نیست. عوامل بسیاری مانند •

محیط، تغذیه، وراثت و غیره در این تغییرات موثر هستند.لذا با استفاده از رابطه سن و قد، ساده سازی انجام •

گرفته است که ما را از ایجاد مدلهای پیچیده رهانیده است. هزینه این کار، عدم دقت روش خواهد بود.

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

خطای گرد کردن

همانطور که قبال نیز اشاره شد، به دلیل •محدودیتهایی که در تعداد بیت اختصاص یافته به حافظه و یا بخش پردازنده کامپیوتر وجود دارد،

همیشه دامنه تغییرات متغیر واقعی با متغیر دیجیتال شده تفاوت دارد.

در اینجا نوعی خطای گرد کردن وجود دارد.•خطای گرد کردن فقط در ثبت اطالعات نیست. •

بلکه در محاسبات نیز ممکن است خطای گرد کردن اتفاق بیافتد. در این مورد کمی توضیح می

دهیم.

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

مثال

کار کنیم. Zفرض کنید ما با اعداد صحیح •• Z={…,-2,-1,0,1,2,…}

یعنی اعداد نمی توانند اعضار داشته باشند. در •این صورت فرض کنید بخواهیم یک تقسیم

را در نظر 5÷4ساده انجام بدهیم. مثال است که نمی توان آنرا 1/25بگیریم. جواب

در نظر گرفت. نزدیک ترین عدد به پاسخ Zدر است. لذا خطای محاسبات ما 1واقعی، عدد

است.0/25

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

برای نمایش اطالعات در IEEE استانداردکامپیوتر

از آنجا که تعداد بیتهای ما در کامپیوتر محدود •است، برای ثبت اعداد اعشاری باید یک

استاندارد تعریف شود.امروزه مبنای متداول برای بیشتر کامپیوترها، •

1985 سال IEEEپیروی از مجموعه استاندارد (IEEE 754 مبنای )است. 2

1 و 0 می توانند فقط diدر این مبنا هر رقم •باشند.

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

بیت و به 64یک عدد در این استاندارد با •صورت زیر بیان می شود:

یک بیت برای عالمت در نظر گرفته می شود ) • باشد، منفی است(1اگر

بیت برای نما11• بیت برای کسر52 و •

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

برای نمایش اعداد مثبت و منفی، یک مقدار پیش فرض •( به نمای واقعی به منظور دستیابی به نمای biasاولیه )

قابل ذخیره شده افزوده می شود. است. 1023، این مقدار IEEEبرای اعداد با دقت مضاعف •

در فیلد نما 1023بنابراین، یک نمای صفر بدان معناست که ذخیره سازی شده است.

( 1023-2000 حاکی از نمای )2000یک مقدار ذخیره شده • است.977یا

برای متغیرهای از نوع کلمه های با دقت مضاعف، بزرگترین • و کوچکترین عدد مثبت تقریبا 10308عدد قابل نمایش تقریبا

است.10-308×2.2

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

مثال

عدد زیر را در نظر بگیرید:•

چون رقم اول صفر است، تعداد مثبت است.• را نمایش e، نمای 10000000111 بیت بعدی، 11•

را نشان می دهند. 1031 بیت عدد 11می دهد. این است.1023-1031=8لذا نما

بیت بعدی، که بخش کسری، یا مانتیسی یک عدد 52•نقطه اعشاری را نشان می دهد، برای این مثال،

است.0/90625لذا عدد در مبنای ده به صورت زیر است:•

(× عالمت1×)مانیتس +2نما 1.90625×28=488

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

توجه

و یک 1مقادیر ∞+ و ∞- با یک نمای همگی • نشان داده شده اند.0کسر همگی

صفر یک مقدار خاص است که با یک فیلد نمای •صفر و یک فیلد کسری از صفر نشان داده می

شود.

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

خطای تقریب

معموال الگوریتمهایی که در این درس به آنها اشاره می شوند •یا تکراری هستند و یا غیر تکراری. اگر روش تکراری نتواند در

تعداد محدود تکرار به عدد جواب همگرا شود، خطای همگرایی رخ می دهد.

از دید دیگر، معموال برای یک رابطه ریاضی با تعداد زیاد جمله •های محاسباتی، معموال بخشی از جمله ها که ارزش زیاد تری

دارند استفاده می شوند و سایرین حذف می شوند. این کار به دلیل کاهش حجم محاسبات انجام می شود. این خود عامل نوعی از خطا خواهد شد. یقیقنا عدم حذف جمالت مذکور،

دقت را افزایش و حجم محاسبات را نیز افزایش خواهد داد.این نوع خطا در بخش دیگری از درس به صورت مشروح •

معرفی خواهد شد.

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

خطای هنگام ثبت

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

اندازه گیری و یا کاربر است که این خطا در این درس مد نظر نیست.

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

جمع بندی

انواع منابع خطا برای ثبت و محاسبات در •کامپیوتر وجود دارد.

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