یک تابع در پایتون بنویسید که یک آرایهٔ عددی و اندازهٔ پنجره را بگیرد و میانگین متحرک (moving average) را برای هر عنصر محاسبه و بهصورت آرایهٔ عددی بازگرداند.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:39 0.0
برای حل این مسئله از کتابخانهٔ numpy استفاده کنید تا آرایهها را بهصورت برداری پردازش کنید و از حلقههای پایتونی کند اجتناب کنید؛ روشهای پیشنهادی شامل استفاده از np.convolve با هستهٔ یکسان (ones/window_size) یا استفاده از np.cumsum برای محاسبهٔ جمعهای تجمعی و تفاضلها برای کارایی بالاتر است. نکات: مراقب انواع داده (float) باشید، نحوهٔ برخورد با مرزها (padding یا محاسبه فقط برای موقعیتهایی که پنجره کامل موجود است) را مشخص کنید و ورودیهای نامعتبر مثل پنجرهٔ بزرگتر از طول آرایه را مدیریت کنید؛ این رویکرد برداری برای مسائل عددی و محاسبات با کارایی بالا مناسب است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای کارایی بهتر ورودیها را اعتبارسنجی کنید و اگر window_size بزرگتر از طول آرایه بود، خطای مناسب بدهید یا حالت padding را مشخص کنید. از np.convolve با هستهٔ ones(window_size) برای میانگین متحرک استفاده کنید یا با np.cumsum مجموعهای تجمعی را محاسبه کرده و تفاضلها را بگیرید تا از حلقههای پایتون جلوگیری شود. مهم است که تصمیم بگیرید مرزها padding شوند یا فقط موقعیتهای با پنجرهٔ کامل محاسبه شوند و اینکه به نوع دادهٔ float (مثلاً float64) برای دقت و جلوگیری از افت دقت توجه کنید. این رویکردِ برداری برای مسائل عددی با کارایی بالا مناسب است و با استفاده از این تکنیکها هم نتیجهٔ سازگار و هم کارایی بهبود مییابد.
گزارش