با استفاده از functools.partial یک تابع مشتق‌گیر عددی (روش اختلاف مرکزی) بنویسید که مقدار h پیش‌فرض را ثابت می‌کند و آن را برای توابع math.sin و math.exp در نقاط معین محاسبه کند.

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

0.0

یک تابع derivative(f, x, h=1e-5) بنویسید که با فرمول اختلاف مرکزی (f(x+h)-f(x-h))/(2*h) مشتق عددی را محاسبه کند، سپس از functools.partial برای ثابت‌کردن مقدار h (مثلاً 1e-6 یا 1e-5) استفاده کنید تا یک تابع مشتقِ آماده‌به‌کار به‌دست بیاید. از ماژول math برای توابع نمونه (math.sin و math.exp) استفاده کنید و نتایج را در چند نقطه با مقدار مشتق تحلیلی مربوطه مقایسه کنید؛ از list comprehension یا map برای اعمال تابع مشتق روی لیستی از نقاط بهره ببرید. نکته‌ها: h خیلی کوچک می‌تواند باعث خطای عددی شود، بنابراین مقدار مناسب انتخاب کنید و ترتیب آرگومان‌ها را طوری قرار دهید که partial بتواند پارامتر h را با نام یا موقعیت ثابت کند.

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

برای ساخت یک مشتق‌گیر عددی با استفاده از اختلاف مرکزی می‌توان از functools.partial برای ثابت کردن مقدار h استفاده کرد تا تابع مشتقِ آماده‌به‌کار بسازیم. در فرمول (f(x+h) - f(x-h)) / (2*h)، مقدار h را می‌توان با partial ثابت کرد و سپس برای توابع math.sin و math.exp با لیست نقاط x و مقایسه با مشتق تحلیلی آنها استفاده کرد. از map یا لیست‌فهمی برای اعمال مشتق روی مجموعه‌ای از نقاط بهره ببرید تا نتایج به دست آید. مراقب باشید h خیلی کوچک باعث نویز عددی شود و مقدار مناسبی مانند 1e-5 یا 1e-6 انتخاب کنید و همچنین ترتیب آرگومان‌ها را طوری تنظیم کنید که partial بتواند h را از طریق نام یا موقعیت ثابت کند.

گزارش

1 پاسخ

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

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