تمرین سری دوم درس محاسبات عددی نحوه تحویل به ازای هر سوال فقط یک فایل ،با نام «شماره و نوع سوال» و پسوند .cppایجاد نمایید .در نهایت همه فایلها را داخل یک فایل فشرده با نام «شماره دانشجویی» و پسوند .zipقرار دهید .سپس با عنوان «شماره تمرین» به ایمیل numerical.methods.s15@gmail.comارسال نمایید .چنانچه باقیمانده رقم سمت راست شماره دانشجویی شما بر عدد 𝑘 ،2باشد ،در هر سوال میبایست فقط سوال نوع 𝑘 را پاسخ دهید. به عنوان مثال چنانچه شماره دانشجویی شما 92123456باشد ،در این تمرین میبایست یک ایمیل با عنوان HW2ارسال نمایید .ایمیل شما میبایست حاوی فقط یک فایل با نام 92123456.zipباشد .محتویات فایل فشرده نیز میبایست دو فایل با نامهای 1-type0.cppو 2-type0.cppباشد. ســـــواالت هرگونه سوال یا ابهام در مورد تمرین را با ایمیلهای m.bakhshalipour@gmail.comو zardoshti@ipm.irدر میان بگذارید. سوال [ .1نوع 0و []1یافتن ماتریس معکوس به روش گاوس-جردن] 1 الگوریتم یافتن ماتریس معکوسِ یک ماتریس مربعی با اندازه 𝑛 را پیادهسازی کنید .فرض کنید 𝐴 یک ماتریس مربعی با ابعاد 𝑛 × 𝑛 است .ابتدا ماتریس 𝑛 𝑀𝑛×2را از روی ماتریس 𝐴 بسازید به طوری که: ] 𝑛×𝑛𝐼 𝑛×𝑛𝐴 [ = 𝑛𝑀𝑛×2 که 𝐼 همان ماتریس همانی با ابعاد 𝑛 است .به عبارت دیگر ماتریس 𝑀 از کنار هم قرار دادن ماتریس 𝐴 و ماتریس همانی شکل میگیرد .با انجام عملیات سطری روی ماتریس 𝑀 ،آن را به ماتریس زیر تبدیل کنید: ́ 𝑛𝑀𝑛×2 ] 𝑛×𝑛𝐵 𝑛×𝑛𝐼 [ = که 𝐼 همان ماتریس همانی است .در این صورت میتوان گفت ماتریس 𝐵 ،معکوس ماتریس 𝐴 است. عملیات سطری در اینجا تنها شامل دو مورد زیر است: افزودن ضریبی از یک سطر به سطر دیگر ضرب یک سطر در یک عدد غیر صفر همچنین توجه کنید ،در صورتی که نتوان ماتریس 𝑀 را به شکل فوق تبدیل کرد ،ماتریس 𝐴 معکوسناپذیر است. در اینجا میتوانید فرض کنید ماتریس 𝐴 همواره معکوسپذیر است. برنامه شما در ابتدا میبایست 𝑛 را از کاربر گرفته و در 𝑛 سطر بعدی ،در هر سطر 𝑛 عدد را دریافت کرده (اعداد با فاصله از هم جدا میشوند) و در خروجی معکوس ماتریس را نمایش دهد. خروجی نمونه -0.33 0.53 -0.091 1.5 -0.2 0.21 0.35 0.26 0.3 ورودی نمونه 3 0.54 0.86 -0.43 1.8 0.32 0.34 -2.3 -1.3 3.6 1در صورت پیادهسازی کامل و صحیح الگوریتم به صورت موازی ،حداکثر تا دوبرابر نمره سوال را میتوانید دریافت کنید. سوال [ .2نوع []0یافتن پاسخ دستگاه معادالت خطی به روش چالسکی] میخواهیم برنامهای بنویسیم که دستگاه معادالت خطی 𝐵 = 𝑋𝐴 را به روش چالسکی حل کند. برنامهای بنویسید که در ابتدا تعداد معادالت-مجهوالت (𝑛) را دریافت کرده و در 𝑛 سطر بعدی ،در هر سطر 𝑛 + 1عدد را (با فاصله) دریافت کند (در سطر 𝑖-اُم 𝑛 ،عدد اول ،درایههای سطر 𝑖-اُم ماتریس ضرایب و عدد -𝑛 + 1اُم 𝐵[𝑖] ،را نشان میدهد) .سپس در خروجی ،پاسخ دستگاه معادالت را در 𝑛 سطر چاپ کند. ورودی نمونه خروجی نمونه 1 -1 2 3 4 3 1 -1 2 6 -5 1 3 -4 -12 2 0 1 -1 1 1 -5 3 -3 3 سوال [ .2نوع []1یافتن پاسخ دستگاه معادالت خطی به روش 𝑙𝑒𝑑𝑖𝑒𝑆 ]𝐺𝑎𝑢𝑠𝑠 − برنامهای بنویسید که پاسخ دستگاه معادالت خطی 𝐵 = 𝑋𝐴 را به روش 𝑙𝑒𝑑𝑖𝑒𝑆 𝐺𝑎𝑢𝑠𝑠 −حل کند .در این روش میتوان هر درایه از ماتریس جواب را در مرحله 𝑘 + 1به این شکل حساب کرد: 𝑛 𝑖−1 𝑗=𝑖+1 𝑗=1 1 = ]) )𝑘( 𝑗𝑥 𝑗𝑖𝑎( ∑ [𝑏𝑖 − ∑(𝑎𝑖𝑗 𝑥𝑗 (𝑘+1) ) − 𝑖𝑖𝑎 )𝑥𝑖 (𝑘+1 همچنین در حل دستگاه معادالت با استفاده از این روش ،نیاز به یک ماتریس جواب حدس اولیه ( )𝑋 0نیز داریم، که از کاربر ،تحت عنوان ورودی دریافت میشود. عالوه بر آن ،همانطور که میدانید این الگوریتم زمانی قطعا به جواب همگرا میشود که ماتریس ضرایب ،قطری غالب 2باشد .یعنی به ازای 𝑛 𝑖 = 1, 2, … ,داشته باشیم .|𝑎𝑖𝑖 | > ∑𝑛𝑗=1, 𝑗≠𝑖|𝑎𝑖𝑗 | :در این سوال میتوانید فرض کنید ماتریس ضرایب ،همواره قطری غالب است. برنامهای بنویسید که در ابتدا تعداد معادالت-مجهوالت (𝑛) را دریافت کرده و در 𝑛 سطر بعدی ،در هر سطر 𝑛 + 1عدد را (با فاصله) دریافت کند (در سطر 𝑖-اُم 𝑛 ،عدد اول ،درایههای سطر 𝑖-اُم ماتریس ضرایب و عدد -𝑛 + 1اُم 𝐵[𝑖] ،را نشان میدهد) .در 𝑛 سطر بعدی ،درایههای حدس اولیه دریافت میشوند .سپس برنامه تعداد مراحل تکرار (𝑘) را دریافت کرده و در خروجی ،جواب را پس از 𝑘 مرحله تکرار ( 𝑘 𝑋) ،نمایش میدهد. ورودی نمونه خروجی نمونه 0.80006 1.00002 1.19999 1.40000 21.70 27.46 28.76 49.72 4 20.9 1.2 2.1 0.9 1.2 21.2 1.5 2.5 2.1 1.5 19.8 1.3 0.9 2.5 1.3 32.1 1.04 1.30 1.45 1.55 3 Strictly Diagonally 2
© Copyright 2025 Paperzz