یک تابع پایتون بنویسید که با ورودی 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 استفاده کنید و از حلقه‌های پایتون برای تولید تک‌تک مقادیر پرهیز کنید تا سریع‌تر اجرا شود.

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

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

گزارش

1 پاسخ

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

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