You are on page 1of 16

КАКО ДА СЕ КОРИСТИ

ЛАМБЕРТОВАТА ФУНКЦИЈА
РАВЕНКИ, НУМЕРИЧКИ МЕТОДИ И
СОФТВЕРСКИ АЛАТКИ
ГРАФИК НА ЛАМБЕРТОВАТА ФУНКЦИЈА
f(x) = xex
f −1(xex) = x , x = W(x)еW(x)
НЕКОИ ВРЕДНОСТИ

W(−1/e) = −1, ≈A (−0.37, −1)


W(0) = 0, B (0, 0)
W(e) = 1, ≈C (2.72, 1)
W(2e²) = 2, ≈D (14.78, 2)
−ln 2
W((−1/2) ln 2) = � ln 1
4
≈ 𝐸𝐸1 (-0.35, 0.69),
≈ 𝐸𝐸2 (-0.35, -1.39)
W(1) = Ω ≈ 0.567143
≈ F (1,0.57)
РАВЕНКИ
1. Да се реши равенката 5x = 8x + 3.
- Решение: Да преуредиме: 1/8⋅ 5x = x + 3/8.
Ставаме смена − t = x + 3/8, па x = − t − 3/8.
Равенката станува 1/8⋅ 5 − t − 3/8 = − t, т.е.
t⋅ 5t = (−1/8)⋅5(−3/8).
Да се сетиме: 3k = ek ln3 , па t ⋅ et ln 5 = (−1/8)⋅5(−3/8) , т.е.
(t ln 5) et ln 5 = (−1/8)⋅5(−3/8) ln 5,
Сега, со помош на Ламбертовата функција
t = W ((−1/8)⋅5(−3/8) ⋅ ln 5) / ln 5, т.е.
W (− 1 ⋅ 5(−3/8) ⋅ ln 5)
3 8 − +
𝟑𝟑 𝟎𝟎,𝟎𝟎𝟎𝟎

x=− − ≈ � 𝟖𝟖𝟑𝟑 𝟐𝟐,𝟏𝟏𝟏𝟏


𝒍𝒍𝒍𝒍 𝟓𝟓
≈�
−𝟎𝟎, 𝟑𝟑
8 ln 5 − +
𝟖𝟖 𝒍𝒍𝒍𝒍 𝟓𝟓
𝟏𝟏, 𝟕𝟕𝟕𝟕
Воопшто, равенките од вид
ax = bx + c
се решаваат по формулата

𝒍𝒍𝒍𝒍 𝒂𝒂 −𝒃𝒃𝒄𝒄
𝒄𝒄 𝑾𝑾 − 𝒃𝒃 ∙ 𝒂𝒂
𝒙𝒙 = − −
𝒃𝒃 𝐥𝐥𝐥𝐥 𝒂𝒂
2. Да се реши равенката xx = a, за а - константа.
- Решение: Да логаритмираме од двете страни,
x lnx = ln a.
Но, x = e ln x, па ако го замениме само првиот
множител, добиваме
e ln x ln x = ln a.
Имаме облик tet = ln a (за t = ln x),
а со помош на Ламбертовата функција,
t = W ( ln a ), т.е. ln x = W ( ln a ), па

x = е W( ln a )
3. Да се реши равенката x ln x = a + bx.
- Решение: Да ја доведеме x од лева страна,
x ln x − bx = a, извлекуваме х пред заграда,
x ( ln x − b) = a, заменуваме b = ln eb,
x ( ln x − ln eb) = a, а од својството на логаритмите,
x ( ln xe− b) = a. Множиме со e− b лево и десно,
xe− b ( ln xe− b) = ae− b , па ако ставиме t = xe− b ,
t ln t = ae− b . Како во задача 2, t = e ln t , па
e ln t ln t = ae− b . Преку Ламбертовата функција,
ln t = W (ae− b ), т.е. ln (xe− b) = W (ae− b ),
ln x + ln e− b= W (ae− b ), па ln x = b + W (ae− b ) и значи,
−b
x = eb + W (ae ).
4. Да се реши равенката xa = bcx .
- Решение: Бидејќи bcx = ecx ln b , имаме
xa е−cx ln b = 1. Степенуваме со 1/а од лево и десно,
xе−(cx / а) ln b = 1. Mножиме со −(c / а) ln b , па
cx ln b
cx ln b − c ln b
− e а =− . Очигледно,
а а
cx ln b c ln b
− = 𝑾𝑾(− ) , т.е.
а а
а c ln b
x=− 𝑾𝑾(− ).
c ln b а
5. Да се реши равенката log a x = bx + c
- Решение: Aнтилогаритмираме,
x = аbx + c, и прередуваме, xа− bx = аc,
а бидејќи а− bx = е− bx ln a, xe− bx ln a = аc.
Лево и десно множиме со − b⋅ ln a, па
− bx ln a ⋅ e− bx ln a = − bаc ln a . Значи,
− bx ln a = W (− bаc ln a), т.е.

1
x=− W (− bаc ln a)
b⋅ ln a
КАКО ДА ПРЕСМЕТАМЕ W (x)?

Ако | x | < 1/e, се користи следниот Маклоренов ред



(−𝑛𝑛)𝑛𝑛−1 𝑛𝑛 (се добива само една
𝑊𝑊 𝑥𝑥 = � 𝑥𝑥 вредност 𝑊𝑊 𝑥𝑥 > −1)
𝑛𝑛!
𝑛𝑛=1

или, истото напишано со рекурзија



𝑛𝑛 𝑛𝑛−2
𝑊𝑊 𝑥𝑥 = � 𝑐𝑐𝑛𝑛 𝑥𝑥 𝑛𝑛 за 𝑐𝑐1 = 1 и 𝑐𝑐𝑛𝑛 = − ∙ 𝑐𝑐𝑛𝑛−1 .
𝑛𝑛−1
𝑛𝑛=1
Пример 1. Да пресметаме W (0,2) со Маклоренов ред.

Дали одговара примената на редот за x = 0,2?


Бидејќи 0,2 < 1/e ≈ 0,37 – одговорот е ДА.
Колку членови од редот да земеме? Нека n = 5.

2
3 3 8 4 125 5
𝑊𝑊 𝑥𝑥 ≈ 𝑥𝑥 − 𝑥𝑥 + 𝑥𝑥 − 𝑥𝑥 + 𝑥𝑥
2 3 24
8 125
𝑊𝑊(0,2) ≈ 0,2 − 0,04 + 1,5 ∙ 0,008 − ∙ 0,0016 + ∙ 0,00032
3 24
= 0,1694
Пример 2. Да пресметаме W (0,1) со рекурзија.
Примената на рекурзијата за x = 0,1 одговара бидејќи
0,1 < 1/e ≈ 0,37. Нека n = 6.
10

𝑊𝑊 𝑥𝑥 ≈ � 𝑐𝑐𝑛𝑛 ∙ 0,1𝑛𝑛
𝑛𝑛=1
2
3 4 3 8
𝑐𝑐1 = 1, 𝑐𝑐2 = −1 , 𝑐𝑐3 = , 𝑐𝑐4 = − ∙ =− ,
2 3 2 3
3 4
5 8 125 6 125 54
𝑐𝑐5 = ∙ = , 𝑐𝑐6 = − ∙ =− ,
4 3 24 5 24 5
3 8 125 54
𝑊𝑊 𝑥𝑥 ≈ 0,1 − 0,12 + ∙ 0,13 − ∙ 0,14 + ∙ 0,15 − ∙ 0,16
2 3 24 5
≈ 0,091274617
ПРЕСМЕТУВАЊЕ НА W (x) ЗА x > 1/e:
ЊУТНОВ НУМЕРИЧКИ МЕТОД

Њутновиот метод е нумерички метод за наоѓање приближно


решение x за f (x) = 0.
За да решиме x = W(x) eW(x), ставаме W(x) = y, и имаме x = yey, т.е.
yey − x = 0. Затоа за Њутновиот метод ни треба функцијата
g (y) = yey − x за да апроксимираме за y во g(y) = 0. Имаме

𝒈𝒈 𝒚𝒚𝒏𝒏 𝒚𝒚𝒏𝒏 𝟐𝟐 + 𝒙𝒙𝒙𝒙−𝒚𝒚𝒏𝒏


𝒚𝒚𝒏𝒏+𝟏𝟏 = 𝒚𝒚𝒏𝒏 − ′ =
𝒈𝒈 𝒚𝒚𝒏𝒏 𝒚𝒚𝒏𝒏 + 𝟏𝟏

Бидејќи W (x) споро расте, може да земаме 𝒚𝒚𝟎𝟎 = 0.


Пример. Со помош на Њутновиот метод најди W (2).

- Земаме 𝒚𝒚𝟎𝟎 = 0 и имаме 𝒙𝒙 = 𝟐𝟐.


𝒚𝒚𝟎𝟎 𝟐𝟐 + 𝒙𝒙𝒙𝒙−𝒚𝒚𝟎𝟎 𝒚𝒚𝟏𝟏 𝟐𝟐 + 𝒙𝒙𝒙𝒙−𝒚𝒚𝟏𝟏 𝟒𝟒 + 𝟐𝟐𝒆𝒆−𝟐𝟐
𝒚𝒚𝟏𝟏 = = 𝟐𝟐; 𝒚𝒚𝟐𝟐 = = ≈ 𝟏𝟏, 𝟒𝟒𝟒𝟒𝟒𝟒𝟒𝟒
𝒚𝒚𝟎𝟎 + 𝟏𝟏 𝒚𝒚𝟏𝟏 + 𝟏𝟏 𝟑𝟑

𝒚𝒚𝟐𝟐 𝟐𝟐 + 𝟐𝟐𝒆𝒆−𝒚𝒚𝟐𝟐 𝒚𝒚𝟑𝟑 𝟐𝟐 + 𝟐𝟐𝟐𝟐−𝒚𝒚𝟑𝟑


𝒚𝒚𝟑𝟑 = ≈ 𝟏𝟏, 𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎;
𝒚𝒚𝟒𝟒 = ≈ 𝟎𝟎, 𝟖𝟖𝟖𝟖𝟖𝟖𝟖𝟖
𝒚𝒚𝟐𝟐 + 𝟏𝟏 𝒚𝒚𝟑𝟑 + 𝟏𝟏
𝒚𝒚𝟒𝟒 𝟐𝟐 + 𝟐𝟐𝟐𝟐−𝒚𝒚𝟒𝟒 𝒚𝒚𝟓𝟓 𝟐𝟐 + 𝟐𝟐𝟐𝟐−𝒚𝒚𝟓𝟓
𝒚𝒚𝟓𝟓 = ≈ 𝟎𝟎, 𝟖𝟖𝟖𝟖𝟖𝟖; 𝒚𝒚𝟔𝟔 = ≈ 0,8526
𝒚𝒚𝟑𝟑 + 𝟏𝟏 𝒚𝒚𝟓𝟓 + 𝟏𝟏

Следните членови се блиски на y6 па може да кажеме 𝑊𝑊(2) ≈ 0,8526.


СОФТВЕРСКИ АЛАТКИ

Во пакетот Matlab за Ламбертовата функција се користи


програмската функција со назив lambertw .
Има 2 случаи за реалните 𝑥𝑥 – главна и негативна гранка.
Ако сакаме да пресметаме 𝑊𝑊 𝑥𝑥 > −1 (главна гранка) на
пример 𝑊𝑊 2 , на командната линија запишуваме
>> lambert(2)
Одговорот при format long е:
ans = 0.852605502013726
1
Во случаите кога 𝑊𝑊 𝑥𝑥 има 2 вредности, − < 𝑥𝑥 < 0 ∶
𝑒𝑒
На пример, ако бараме 𝑊𝑊 −0,2 , за 𝑊𝑊 0,2 > −1 се
бара исто како претходно:
>> lambertw(-0.2)
Одговорот при format long е:
ans = -0.259171101819074
Но за 𝑊𝑊 𝑥𝑥 < −1 (негативната гранка), запишуваме
>> lambertw(-1,-0.2)
Одговорот при format long е:
ans = -2.542641357773527

Слично се користат и lambertw во Maple, Python и Perl,


a ProductLog (може и LambertW) во Mathematica.

You might also like