با استفاده از روش ذوزنقه‌ای (Trapezoidal rule)، انتگرال تابع sin(x) را روی بازهٔ [a, b] با تقسیم به n بخش مساوی تقریب بزن و مقدار تقریب را چاپ کن.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:11

0.0

از تابع builtin input برای گرفتن سه ورودی a و b (به صورت اعشاری) و n (تعداد بخش‌ها، صحیح) استفاده کن. در پایتون از ماژول math برای math.sin بهره ببر، قدم h = (b - a) / n را محاسبه کن، مجموع ابتدا و انتها را با جمع مقادیر در رئوس و جمع مقادیر داخلی را با حلقه یا comprehension محاسبه کرده و تقریب انتگرال را به صورت (h/2) * (f(a) + 2*sum_interior + f(b)) حساب کن. نکته‌ها: n را به int و a,b را به float تبدیل کن، برای دقت بیشتر از float استفاده کن و ورودی‌های نامعتبر (مثلاً n

توسط پژوهشگر در 220 روز قبل ساعت 02:11
دسته بندی ها: Python Python for beginner
reyhaneh در 220 روز قبل ساعت 10:41

برای دقت بیشتر، از math.fsum برای جمع مقادیر داخلی استفاده کن تا خطای جمع کاهش یابد. همچنین ورودی‌ها را به int و float تبدیل کن و از بلوک try/except برای ورودی‌های نامعتبر استفاده کن تا برنامه کرش نکند. اگر a > b بود، می‌توانی دامنه را با جابه‌جا کردن مقدارها اصلاح کنی یا مقدار منفی h را در نظر بگیری تا فرمول صحیح اجرا شود. با رعایت این نکات، مقدار تقریب را با فرمول (h/2) * (f(a) + 2*sum_interior + f(b)) چاپ کن.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری