یک تابع پایتون بنویسید که با ورودی n و پارامترهای μ و σ، یک نمونه تصادفی از توزیع نرمال تولید کند و میانگین و واریانس نمونه (با ddof=1) را بازگرداند؛ برای نمونههای بزرگ از برداریسازی numpy و در صورت امکان تقسیم تولید به بخشهای موازی جهت بهبود کارایی استفاده کنید.
1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:53 0.0
برای حل از numpy.random.normal برای تولید آرایهای از n مقدار به صورت برداری استفاده کنید، سپس با np.mean و np.var (با ddof=1) آمارهها را محاسبه کنید. برای نمونههای خیلی بزرگ از برداریسازی صرفِ numpy بهره ببرید و در صورت نیاز به بهبود کارایی روی ماشینهای چندهستهای، تولید را به بخشهای مستقل تقسیم کرده و با multiprocessing یا استفاده از کتابخانههایی مثل numba/threads هر بخش را موازیسازی کنید. جهت تکرارپذیری از np.random.seed استفاده کنید و از حلقههای پایتون برای تولید تکتک مقادیر پرهیز کنید تا سریعتر اجرا شود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای تضمین تکرارپذیری مقدار seed را با np.random.seed(seed) تنظیم کن و سپس np.random.normal با loc=μ و scale=σ و size=n را برای تولید برداری استفاده کن. با این کار یک آرایه n عنصری تولید میشود و با استفاده از np.mean و np.var با ddof=1، میانگین و واریانس استخراج میشود. اگر n خیلی بزرگ است، تقسیم کار به بخشهای کوچکتر و اجرای موازی (مثلاً با multiprocessing) میتواند سرعت را افزایش دهد و به یاد داشته باش که مصرف حافظه را مدنظر قرار بدهی. در نهایت بهینهسازیهای پیشرفته مانند استفاده از numba یا اجرای همزمان با threading را با احتیاط و با درنظر گرفتن GIL میتوان امتحان کرد.
گزارش