تابع TANH در اکسل
تابع TANH (تابع هیپربولیک تانژانت) در اکسل برای محاسبه tanh(x) یعنی (e^x − e^(−x)) / (e^x + e^(−x)) بهکار میرود. این تابع مقادیر ورودی حقیقی را به بازهای بین −1 و +1 نگاشت میکند و در کاربردهای آماری، یادگیری ماشین، نرمالسازی داده و مدلسازی غیرخطی بسیار مفید است.
نحو و رفتار پایه
نحو تابع در اکسل خیلی ساده است:
=TANH(number)پارامتر number: عدد یا مرجعی به سلولی که مقدار عددی دارد. خروجی عددی بین −1 و +1 خواهد بود. برای مقدار صفر مقدار خروجی دقیقاً 0 است؛ برای مقادیر بزرگ مثبت نزدیک به 1 و برای مقادیر بزرگ منفی نزدیک به −1 میشود.
خصوصیات ریاضی و دامنه
- دامنه ورودی: تمام اعداد حقیقی.
- برد خروجی: (−1, +1) با تقریب عددی؛ برای مقادیر بزرگ |x| مقدار به ±1 همگرا میشود.
- تابع فرد (odd): tanh(−x) = −tanh(x).
مثالهای عددی ساده
| ورودی (x) | فرمول | خروجی (TANH) |
|---|---|---|
| -3 | =TANH(-3) | -0.99505475 |
| -1 | =TANH(-1) | -0.76159416 |
| 0 | =TANH(0) | 0 |
| 1 | =TANH(1) | 0.76159416 |
| 3 | =TANH(3) | 0.99505475 |
در عمل کافی است فرمول را در یک سلول بنویسید یا آن را روی یک ستون اعمال کنید (کپی ـ پیست یا فرمول آرایهای در نسخههای جدید).
کاربردهای عملی و موارد استفاده
- نرمالسازی داده: وقتی میخواهید مقادیر را در بازه محدود نگه دارید (مثلاً برای شبکههای عصبی) میتوانید از tanh یا ترکیب (TANH(x)+1)/2 برای نگاشت به بازه [0,1] استفاده کنید.
- تابع فعالسازی در مدلسازی: tanh یک تابع فعالسازی رایج با خروجی مرکزی صفر است (مناسبتر از سیگموید در برخی مسائل).
- تبدیل آماری: تبدیل معکوس hyperbolic tangent (ATANH) در تحلیلهایی مثل تبدیل فیشر برای ضرایب همبستگی کاربرد دارد.
- کنترل عددی: برای جلوگیری از نوسانهای بسیار بزرگ مقادیر در محاسبات زنجیرهای مفید است.
نمونه فرمولها و ترکیبات متداول
نرمالسازی به بازه [0,1]:
=(TANH((A2 - AVERAGE(range))/STDEV.P(range)) + 1) / 2این فرمول مقدار A2 را ابتدا استاندارد میکند (z‑score) سپس TANH را اعمال و در نهایت بازه را از (−1,1) به (0,1) منتقل میکند. برای دادههای توزیع نشده بهتر است با احتیاط استفاده شود.
استفاده لگامبی (Excel 365) برای اعمال TANH روی یک محدوده با LAMBDA و MAP:
=MAP(A2:A10, LAMBDA(x, TANH(x)))در Excel 365 این فرمول یک آرایه خروجی تولید میکند که برای هر مقدار در A2:A10 مقدار TANH را محاسبه میکند. اگر از نسخههای قدیمی استفاده میکنید، باید فرمول را به صورت دستی در سلولها کپی کنید یا از Ctrl+Shift+Enter استفاده نمایید.
مثال VBA و بهبود پایداری عددی
اگر بخواهید تابع TANH را در VBA داشته باشید یا روی ورودیهای بسیار بزرگ کنترل کنید، میتوانید از تابع زیر استفاده کنید:
Function MyTanh(x As Double) As Double
If x > 20 Then
MyTanh = 1#
ElseIf x < -20 Then
MyTanh = -1#
Else
MyTanh = (Exp(x) - Exp(-x)) / (Exp(x) + Exp(-x))
End If
End Functionاین ماژول VBA تابع tanh را محاسبه میکند و برای مقادیر مطلق خیلی بزرگ از بازده ±1 استفاده میکند تا از overflow یا محاسبات ناپایدار جلوگیری شود. مقدار آستانه 20 اختیاری است و بسته به نیاز و دقت میتوان آن را تغییر داد.
نکات حرفهای، خطاها و راهحلها
- خطای نوع: اگر آرگومان عددی نباشد، اکسل معمولاً #VALUE! بازمیگرداند. از IFERROR یا ISNUMBER برای مدیریت استفاده کنید.
- آستانه همگرایی: برای |x|>10 خروجی بسیار نزدیک به ±1 است؛ برای محاسبات حساس میتوان از تقریبها استفاده کرد تا سرعت و پایداری افزایش یابد.
- ATANH: تابع معکوس ATANH در اکسل موجود است؛ دامنه ورودی آن (−1,1) است و در صورت خارج بودن ورودی #NUM! برمیگردد—این نکته برای تبدیل فیشر مهم است.
- بررسی تند بودن شیب: مشتق tanh برابر 1−tanh(x)^2 است. در مسائل بهینهسازی یا آموزش شبکههای عصبی این نکته برای محاسبه گرادیان لازم است.
جمعبندی و توصیهها
تابع TANH در اکسل ابزار ساده اما قدرتمندی برای نگاشت غیرخطی مقادیر به بازه محدود است. برای نرمالسازی، مدلسازی و کنترل مقادیر خروجی بسیار مناسب است. در نسخههای جدید Excel با توابع آرایهای (MAP/LAMBDA) میتوان محاسبات گسترده را به شیوهای خواناتر انجام داد. همیشه به پایداری عددی و مدیریت خطا توجه کنید و در صورت نیاز از تقریبها یا توابع VBA برای ورودیهای بزرگ استفاده نمایید.
آیا این مطلب برای شما مفید بود ؟




