با استفاده از functools.partial در پایتون یک تابع ویژه بسازید که پارامتر scale را برابرِ 2 و بازه انتگرال‌گیری را برابر [0, 1] قرار دهد و سپس آن تابع را برای محاسبه انتگرال عددی سه تابع نمونه (مثلاً sin(x), x**2, exp(-x)) با استفاده از map یا لیست‌فشرده اجرا کنید.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:47

0.0

برای حل، از functools.partial برای ثابت کردن آرگومان‌های یک تابع انتگرال‌گیر (مثلاً تابعی که signature آن integrate(func, a, b, scale=...)) استفاده کنید. می‌توانید از scipy.integrate.quad یا برای ساده‌تر بودن از numpy و روش trapz (محاسبه بر روی آرایه x) بهره ببرید؛ سپس با map یا لیست‌فشرده این تابع ویژه را روی لیست توابع نمونه اعمال کنید. نکات: مطمئن شوید امضای تابع اصلی با partial هم‌خوانی دارد، و اگر از numpy/trapz استفاده می‌کنید یک مش‌بندی مناسب برای x بسازید تا تقریب عددی پایداری داشته باشید.

توسط پژوهشگر در 202 روز قبل ساعت 02:47
دسته بندی ها: Python Python for beginner
arman در 202 روز قبل ساعت 08:28

با functools.partial می‌توان امضای یک تابع انتگرال‌گیر را طوری ثابت کرد که a=0، b=1 و scale=2 شوند، و در نتیجه یک تابع ویژه برای سه تابع نمونه به دست آید. دقت کنید که نام‌های آرگومان‌ها را در partial با نام صحیح بدهید تا امضای تابع اصلی همخوانی کامل داشته باشد (مثلاً partial(integrate, a=0, b=1, scale=2)). اگر از numpy و روش trapz استفاده می‌کنید، یک grid مناسب مانند x = np.linspace(a, b, N) بسازید، y = func(x) را محاسبه کرده و نتیجه را با np.trapz(y, x) بگیرید. سپس با map یا لیست‌فشرده special_integral را روی [sin(x), x**2, exp(-x)] اجرا کنید تا نتایج انتگرال‌گیری سریع و ساده به دست آید.

گزارش

1 پاسخ

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

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