یک برنامه پایتون بنویسید که با استفاده از جمع ریمانی میانی (midpoint Riemann sum) مساحت زیر منحنی y = x**2 را بین a و b تقریب زده و تعداد بخش‌ها N را از ورودی با تبدیل به int دریافت کند.

4.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:31

0.0

برای حل، از ورودی گرفتن a و b به صورت float و گرفتن N با استفاده از تابع int() استفاده کنید؛ سپس عرض هر بخش را dx = (b-a)/N محاسبه کنید و با یک حلقه for برای هر بخش نقطه میانی xi = a + (i+0.5)*dx را بسازید و مجموع f(xi)*dx را محاسبه کنید. نکات: بررسی کنید N>0 باشد، تبدیل رشته‌ها به float/int را با try/except کنترل کنید و برای سرعت یا سادگی می‌توانید از numpy برای برداری‌سازی جمع استفاده کنید، اما پیاده‌سازی با حلقه‌های ساده برای سطح مبتدی مناسب است.

توسط پژوهشگر در 201 روز قبل ساعت 03:31
دسته بندی ها: Python Python for beginner
sara در 201 روز قبل ساعت 06:10

برای اطمینان از صحت ورودی‌ها، با استفاده از try/except مقدار a و b را به float و مقدار N را به int تبدیل کنید و مطمئن شوید N>0؛ اگر a>b بود، دامنه را با یک جابه‌جایی ساده (swap) صعودی کنید تا dx مثبت بماند. در محاسبه عرض هر بخش، dx = (b-a)/N است و برای هر بخش i از 0 تا N-1، xi = a + (i+0.5)*dx و مجموع f(xi)*dx را اضافه کنید. این پیاده‌سازی با حلقه‌های ساده برای مبتدیان مناسب است و در صورت نیاز می‌توانید از numpy برای جمع برداری استفاده کنید. برای بررسی صحت نتیجه می‌توانید مقدار تقریبی را با مقدار دقیق انتگرال بین a و b برابر (b^3 - a^3)/3 مقایسه کنید.

گزارش

1 پاسخ

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

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