PA1.pdf

‫تمرین سری اوّل درس محاسبات عددی‬
‫نحوه تحویل‬
‫به ازای هر سوال فقط یک فایل‪ ،‬با نام «شماره و نوع سوال» و پسوند ‪ .cpp‬ایجاد نمایید‪ .‬در نهایت همه فایلها‬
‫را داخل یک فایل فشرده با نام «شماره دانشجویی» و پسوند ‪ .zip‬قرار دهید‪ .‬سپس با عنوان «شماره تمرین» به‬
‫ایمیل ‪ [email protected]‬ارسال نمایید‪ .‬چنانچه باقیمانده رقم سمت راست شماره‬
‫دانشجویی شما بر عدد ‪ 𝑘 ،3‬باشد‪ ،‬در هر سوال میبایست فقط سوال نوع 𝑘 را پاسخ دهید‪.‬‬
‫به عنوان مثال چنانچه شماره دانشجویی شما ‪ 92123456‬باشد‪ ،‬در این تمرین میبایست یک ایمیل با عنوان‬
‫‪ HW1‬ارسال نمایید‪ .‬ایمیل شما میبایست حاوی فقط یک فایل با نام ‪ 92123456.zip‬باشد‪ .‬محتویات فایل فشرده‬
‫نیز میبایست دو فایل با نامهای ‪ 1-type0.cpp‬و ‪ 2-type0.cpp‬باشد‪.‬‬
‫ســـــواالت‬
‫هرگونه سوال یا ابهام در مورد تمرین را با ایمیلهای ‪ [email protected]‬و ‪ [email protected]‬در‬
‫میان بگذارید‪.‬‬
‫سوال ‪[ 1‬نوع ‪[]0‬روش هرنر]‬
‫)𝑥(𝑃 یک تابع چندجملهای از درجه 𝑛 است‪ .‬میخواهیم مقدار تابع در نقطه ‪ 𝑥 = 𝑥0‬را با استفاده از روش‬
‫هرنر بدست آوریم‪ .‬برنامهای بنویسید که ابتدا مقدار 𝑛 و سپس در ‪ 𝑛 + 1‬سطر بعدی ضرایب چندجملهای (به‬
‫ترتیب از ضریب بیشترین درجه به کمترین درجه) و سپس مقدار ‪ 𝑥0‬را دریافت کند‪ .‬برنامه به عنوان خروجی‬
‫میبایست در ‪ 𝑛 + 1‬سطر‪ ،‬مراحل محاسبه ) ‪ 𝑃(𝑥0‬به روش هرنر ( ‪ )𝑏𝑛 ،... ،𝑏1 ،𝑏0‬را نمایش دهد‪.‬‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪2‬‬
‫‪0‬‬
‫‪2‬‬
‫‪5‬‬
‫=‬
‫=‬
‫=‬
‫=‬
‫‪b0‬‬
‫‪b1‬‬
‫‪b2‬‬
‫‪b3‬‬
‫‪3‬‬
‫‪2‬‬
‫‪-6‬‬
‫‪2‬‬
‫‪-1‬‬
‫‪3‬‬
‫‪1‬‬
‫‪-3.5‬‬
‫‪6.25‬‬
‫‪-12.375‬‬
‫‪22.5625‬‬
‫‪-34.8438‬‬
‫‪58.2657‬‬
‫‪-88.3985‬‬
‫=‬
‫=‬
‫=‬
‫=‬
‫=‬
‫=‬
‫=‬
‫=‬
‫‪b0‬‬
‫‪b1‬‬
‫‪b2‬‬
‫‪b3‬‬
‫‪b4‬‬
‫‪b5‬‬
‫‪b6‬‬
‫‪b7‬‬
‫‪7‬‬
‫‪1‬‬
‫‪-2‬‬
‫‪1‬‬
‫‪-3‬‬
‫‪4‬‬
‫‪-1‬‬
‫‪6‬‬
‫‪-1‬‬
‫‪-1.5‬‬
‫سوال ‪[ 1‬نوع ‪[]1‬روش مکلورن]‬
‫میخواهیم مقدار تابع )𝑥(⁡‪ ln‬را در نقطه ‪ 𝑥 = 𝑥0‬با دقت 𝛼‪ 10−‬محاسبه کنیم‪ .‬برنامهای بنویسید که در سطر‬
‫اول مقدار ‪ 𝑥0‬و در سطر بعدی مقدار 𝛼 را دریافت کرده و مراحل محاسبه مقدار تابع )𝑥(⁡‪ ln‬در نقطه ‪𝑥 = ⁡ 𝑥0‬‬
‫را با روش مکلورن ( ‪ )𝑢𝑘 ،... ،𝑢2 ،𝑢1‬چاپ کند‪ .‬در نهایت نیز مقدار ) ‪ ln⁡(𝑥0‬را با دقت 𝛼‪ 10−‬چاپ کند‪.‬‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪= 0.23076923‬‬
‫‪= 0.00409650‬‬
‫‪= 0.00013089‬‬
‫‪= 0.00000498‬‬
‫‪(5) = 1.609438‬‬
‫‪5‬‬
‫‪6‬‬
‫‪u1‬‬
‫‪u2‬‬
‫‪u3‬‬
‫‪u4‬‬
‫‪ln‬‬
‫سوال ‪[ 1‬نوع ‪[]2‬روش تکرار با استفاده از فرمول الگرانژ]‬
‫‪1‬‬
‫میخواهیم مقدار تابع را در نقطه ‪ 𝑥 = 𝑥0‬با دقت 𝛼‪ 10−‬محاسبه کنیم‪ .‬برنامهای بنویسید که در سطر اول‬
‫𝑥‬
‫‪1‬‬
‫مقدار ‪ 𝑥0‬و در سطر بعدی مقدار 𝛼 را دریافت کرده و مراحل محاسبه مقدار تابع در نقطه ‪ 𝑥 = ⁡ 𝑥0‬را با روش‬
‫𝑥‬
‫تکرار ( ‪ )𝑦𝑘 ،... ،𝑦2 ،𝑦1‬چاپ کند‪ .‬در نهایت نیز مقدار‬
‫خروجی نمونه‬
‫‪1‬‬
‫‪𝑥0‬‬
‫را با دقت 𝛼‪ 10−‬چاپ کند‪.‬‬
‫ورودی نمونه‬
‫‪y1 = 0.1718‬‬
‫‪y2 = 0.1960‬‬
‫‪y3 = 0.19992‬‬
‫‪1/5 = 0.1999‬‬
‫‪5‬‬
‫‪4‬‬
‫سوال ‪[ 2‬نوع ‪[]0‬ریشهیابی وتری‪]1‬‬
‫میخواهیم ریشه تابع 𝑐 ‪ 𝑓(𝑥) = 𝑎𝑥 2 + 𝑏𝑠𝑖𝑛(𝑥) +‬را محاسبه کنیم‪ .‬برنامهای بنویسید که ابتدا به ترتیب‬
‫مقادیر 𝑎 و 𝑏 و 𝑐 را دریافت کرده و سپس با دریافت ‪ 𝑥0‬و ‪ 𝑥1‬ریشههای تابع )𝑥(𝑓 را با روش وتری در بازه‬
‫] ‪ [𝑥0 , 𝑥1‬تا ‪ 6‬مرحله محاسبه کند‪.‬‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪1‬‬
‫‪-1‬‬
‫‪-0.5‬‬
‫‪1‬‬
‫‪2‬‬
‫‪1.11645660737862‬‬
‫‪1.16544541373339‬‬
‫‪1.19798917453506‬‬
‫‪1.19603893547061‬‬
‫‪1.19608197393057‬‬
‫‪1.19608203329899‬‬
‫‪1.19608203329713‬‬
‫سوال ‪[ 2‬نوع ‪[]1‬ریشهیابی نیوتون‪-‬رافسون]‬
‫)𝑥(𝑓 یک تابع چندجملهای از درجه 𝑛 است‪ .‬برنامهای بنویسید که ابتدا مقدار 𝑛 و سپس در ‪ 𝑛 + 1‬سطر بعدی‬
‫ضرایب چندجملهای (به ترتیب از ضریب بیشترین درجه به کمترین درجه) و سپس عدد ‪ 𝑥0‬را دریافت کرده و‬
‫ریشه تابع )𝑥(𝑓 را با روش نیوتون‪-‬رافسون و با حدس اولیه ‪ 𝑥0‬و با ‪ 5‬مرحله تکرار بهدست آورد‪ .‬فرض بر این‬
‫است که تابع )𝑥(𝑓 با فرض اولیه ‪ 𝑥0‬حتما به یک ریشه همگراست‪.‬‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫…‪35.6‬‬
‫…‪26.3955‬‬
‫…‪24.7906‬‬
‫…‪24.7387‬‬
‫…‪24.7387‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪-612‬‬
‫‪Secant‬‬
‫‪1‬‬
‫سوال ‪[ 2‬نوع ‪[]2‬ریشهیابی دوبخشی‪]2‬‬
‫)𝑥(𝑓 یک تابع چندجملهای از درجه 𝑛 است‪ .‬میدانیم این تابع یک و فقط یک ریشه در بازه ]𝑏 ‪ [𝑎,‬دارد‪.‬‬
‫برنامهای بنویسید که ابتدا مقدار 𝑛 و سپس در ‪ 𝑛 + 1‬سطر بعدی ضرایب چندجملهای (به ترتیب از ضریب‬
‫بیشترین درجه به کمترین درجه) و سپس به ترتیب مقادیر 𝑎 و 𝑏 را دریافت کرده و ریشه تابع )𝑥(𝑓 را در بازه‬
‫]𝑏 ‪ [𝑎,‬با استفاده از روش ریشهیابی دوبخشی پس از ‪ 15‬مرحله تکرار را بهدست آورد‪.‬‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪1.5‬‬
‫‪1.75‬‬
‫‪1.625‬‬
‫‪1.5625‬‬
‫‪1.53125‬‬
‫‪1.515625‬‬
‫‪1.5234375‬‬
‫‪1.5195313‬‬
‫‪1.5214844‬‬
‫‪1.5205078‬‬
‫‪1.5209961‬‬
‫‪1.5212402‬‬
‫‪1.5213623‬‬
‫‪1.5214233‬‬
‫‪1.5213928‬‬
‫‪3‬‬
‫‪1‬‬
‫‪0‬‬
‫‪-1‬‬
‫‪-2‬‬
‫‪1‬‬
‫‪2‬‬
‫‪Bisection Method‬‬
‫‪2‬‬