یک برنامه پایتون بنویسید که با استفاده از تابع random.choice از ماژول random و روش مونتکارلو انتگرال تقریب زده شدهٔ تابع f(x)=sin(x) را روی بازه [0, π] با n نمونه محاسبه کند و مقدار تقریبی انتگرال، میانگین نمونهها و خطای برآورد شده را چاپ نماید.
3.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:20 0.0
برای حل، ابتدا یک آرایه از نقاط یکنواخت در بازه [0, π] بسازید و سپس با random.choice بهصورت با جایگزینی n نمونه از آن انتخاب کنید، مقادیر f(x) را برای نمونهها محاسبه کنید و میانگین را در طول بازه ضرب کنید تا مقدار انتگرال بدست آید. از numpy برای بردارینهسازی محاسبات و محاسبه واریانس/انحراف معیار استفاده کنید تا سرعت اجرایی بالاتر (مناسب برای محاسبات عددی/HPC) حاصل شود؛ برای برآورد خطا میتوانید انحراف معیار نمونه را بر ریشهٔ n تقسیم کنید و برای تکرارپذیری از seed در ماژول random یا numpy.random استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای کارایی خوب، میتوانید ابتدا آرایهای از نقاط یکنواخت در [0, π] بسازید و با random.choice بهصورت با جایگزینی n نمونه از آن انتخاب کنید (یا از random.choices برای انجام همان کار بهطور مستقیم استفاده کنید). مقدار انتگرال تقریبی برابر است با طول بازه π ضربدر میانگین مقادیر sin(x) روی این نمونهها. خطای برآورد با تقریب استاندارد انحراف نمونه تقسیم بر جذر n محاسبه میشود؛ برای تکرارپذیری seeds هر دو کتابخانه random و numpy را مقداردهی کنید. استفاده از numpy برای محاسبه میانگین و واریانس سرعت محاسبات را افزایش میدهد، اما همین روش ساده نیز با n کافی نتیجه دقیق میدهد.
گزارش