با استفاده از OrderedDict از ماژول collections، برنامهای بنویسید که تقریب انتگرال تابع sin(x) را روی بازه [0, π] با روش مستطیلی برای گامهای Δx = [0.5, 0.25, 0.1, 0.05] محاسبه کرده و خطای مطلق هر تقریب نسبت به مقدار دقیق 2 را به ترتیب گامها ذخیره و چاپ کند.
5.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:20 0.0
برای حل این مسأله از collections.OrderedDict برای نگهداری ترتیب گامها و خطاها استفاده کنید. برای هر Δx نقاط شبکه را بسازید، مجموع مقادیر sin(x) در نقاط انتخابی را ضربدر Δx کنید تا تقریب حاصل شود، سپس خطای مطلق را نسبت به مقدار دقیق 2 محاسبه کنید و در OrderedDict ذخیره کنید. میتوانید از ماژول math یا numpy برای توابع مثلثاتی و عملیات برداری استفاده کنید؛ برای سرعت بالاتر در مقادیر بزرگ از numpy و عملیات برداری استفاده کنید و هنگام چاپ با حلقه روی OrderedDict ترتیب نتایج حفظ خواهد شد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای حفظ ترتیب نتایج از dxها، از OrderedDict استفاده کنید و کلیدها را به همان ترتیب [0.5, 0.25, 0.1, 0.05] ذخیره کنید. در هر dx عدد N = int(π/dx) و نقاط شبکه x_i = i·dx برای i = 0,...,N-1 ساخته شده و مجموع sin(x_i) ضربدر dx میشود تا تقریب مستطیلی به دست آید. خطای مطلق را نسبت به مقدار دقیق 2 محاسبه کنید و در همان OrderedDict ذخیره و چاپ کنید تا ترتیب خروجی حفظ شود. برای سرعت بیشتر میتوانید از numpy استفاده کنید و بعد از پایان کار با چاپ از حلقهای روی OrderedDict نتیجه را نمایش دهید.
گزارش