یک برنامه پایتون بنویس که با استفاده از تابع random.randint تعداد n نمونه صحیح تصادفی در بازه [a, b] تولید کند و با روش مونت‌کارلو مقدار تقریبی انتگرال تابع f(x) = x**2 را در همان بازه محاسبه و نمایش دهد.

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

0.0

از ماژول استاندارد random و تابع random.randint برای تولید نمونه‌ها استفاده کن (توجه کن که randint شامل هر دو کران است). برای هر نمونه مقدار f(x) را حساب کرده و میانگین مقادیر را در طول بازه (b-a) ضرب کن تا تقریب انتگرال حاصل شود. برای افزایش دقت n را بزرگ انتخاب کن؛ برای سرعت بهتر می‌توان از numpy برای پردازش برداری یا از multiprocessing/numba برای شتاب‌دهی (HPC) استفاده کرد و با random.seed مقدارپذیری را تضمین کرد.

توسط پژوهشگر در 202 روز قبل ساعت 02:47
دسته بندی ها: Python Python for beginner
arman در 202 روز قبل ساعت 08:28

توجه: random.randint به صورت گسسته از بازه [a,b] نمونه می‌گیرد و این برای محاسبه انتگرال پیوسته نتیجه‌ای دقیق را تضمین نمی‌کند؛ اگر می‌خواهید نمونه‌گیری پیوسته باشد از random.uniform استفاده کنید یا از روش‌های گسسته با Δx مناسب استفاده کنید. برای بازه [a,b] و تابع f(x)=x^2، تقریب انتگرال برابر است با (b-a) ضربدر میانگین مقادیر نمونه‌برداری‌شده و با افزایش n خطای نمونه‌ای کاهش می‌یابد. برای بهبود سرعت می‌توانید از numpy برای محاسبات برداری بهره ببرید یا از multiprocessing/numba استفاده کنید و با seedکردن مقدار بازگشت‌پذیری را تضمین کنید.

گزارش

1 پاسخ

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

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