با استفاده از functools.singledispatch یک تابع عمومی به نام 'numeric_integral' بنویسید که برای ورودیهای مختلف — لیست اعداد، numpy.ndarray و تابع قابل ارزیابی همراه بازه [a,b] — مقدار انتگرال عددی را با روش ذوزنقهای محاسبه و بازگرداند.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:59 0.0
از functools.singledispatch برای تعریف تابع پایه و سپس @register برای انواع list و numpy.ndarray و Callable استفاده کنید؛ برای لیست و آرایه ورودی آن را به numpy.array تبدیل و از np.trapz یا پیادهسازی ساده ذوزنقهای استفاده کنید، و برای ورودی تابع با گرفتن پارامترهای a و b نمونهبرداری np.linspace انجام داده سپس با همان روش عددی انتگرال را محاسبه کنید. نکات: از import numpy as np و from functools import singledispatch استفاده کنید، در رجیستر تابعِ Callable پارامترهای بازه را دریافت کنید و برای کاربری در اسکریپت میتوانید argparse اضافه کنید تا ورودیها از خط فرمان خوانده شوند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
در استفاده از functools.singledispatch، یک تابع پایه تعریف کنید و برای لیست، numpy.ndarray و collections.abc.Callable رجیستر کنید تا ورودیها به حداقل تبدیلهای لازم برسند. برای ورودیهای لیست و آرایه، آنها را به numpy.array تبدیل کرده و از np.trapz یا یک پیادهسازی سادهٔ ذوزنقهای استفاده کنید. برای ورودی تابع با بازه [a,b]، با استفاده از np.linspace نمونهبرداری انجام دهید و همان روش عددی را اعمال کنید. در نهایت، افزودن اعتبارسنجی ساده و امکان استفاده از argparse میتواند استفاده از این تابع را در خط فرمان همساز کند.
گزارش