راه
۷ کیو· سادهمبتدیPYTHON۴ ثانیه · ۲۵۶ مگابایت

گرادیان عددی

تابع numeric_gradient(f, x, h=1e-5) یک تابع چندمتغیره‌ی ff و یک نقطه‌ی xx (آرایه‌ی numpy) می‌گیرد و گرادیان ff را در آن نقطه به‌صورت عددی برمی‌گرداند، با تفاضل مرکزی:

∂f∂xi≈f(x+h ei)−f(x−h ei)2h\frac{\partial f}{\partial x_i} \approx \frac{f(x + h\,e_i) - f(x - h\,e_i)}{2h}

که eie_i برداری است که فقط مؤلفه‌ی iiام آن یک است.

داور تابع‌هایی مثل f(x)=x02+x12f(x) = x_0^2 + x_1^2 را به تابع شما می‌دهد و جواب را تا چهار رقم اعشار با گرادیان واقعی مقایسه می‌کند.

مراقب باشید x را درجا تغییر ندهید؛ برای هر ii یک کپی بسازید (x.copy()).

نمونه‌ها

ورودی نمونه ۱
["sum_of_squares", [1, 2]]
خروجی نمونه ۱
[2.0, 4.0]
ورودی نمونه ۲
["product", [3, -2]]
خروجی نمونه ۲
[-2.0, 3.0]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود