ویژگی تصویر

تابع TANH در اکسل — توضیح کامل، مثال‌ها و نکات حرفه‌ای

  /  اکسل   /  تابع 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 برای ورودی‌های بزرگ استفاده نمایید.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: