با استفاده از 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 اضافه کنید تا ورودی‌ها از خط فرمان خوانده شوند.

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

در استفاده از functools.singledispatch، یک تابع پایه تعریف کنید و برای لیست، numpy.ndarray و collections.abc.Callable رجیستر کنید تا ورودی‌ها به حداقل تبدیل‌های لازم برسند. برای ورودی‌های لیست و آرایه، آن‌ها را به numpy.array تبدیل کرده و از np.trapz یا یک پیاده‌سازی سادهٔ ذوزنقه‌ای استفاده کنید. برای ورودی تابع با بازه [a,b]، با استفاده از np.linspace نمونه‌برداری انجام دهید و همان روش عددی را اعمال کنید. در نهایت، افزودن اعتبارسنجی ساده و امکان استفاده از argparse می‌تواند استفاده از این تابع را در خط فرمان هم‌ساز کند.

گزارش

1 پاسخ

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

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