Tôi đang làm việc trên một dự án và đã tìm thấy chính mình trong một tình huống mà tôi cần một hàm để có thể nhận được ít nhất một giá trị xấp xỉ của giá trị W (x), Lambert W function, x có thể là bất kỳ số thực nào. Tôi đang làm việc trong Java. Tôi không thể tìm thấy bất kỳ triển khai W trong java khi tôi tìm kiếm. Tôi sẵn sàng tự viết mã cho bản triển khai nếu cần, nhưng tôi không chắc chắn về cách thực hiện điều đó ngay bây giờ. Bất kỳ cú đẩy nào đi đúng hướng sẽ được đánh giá cao.Thực hiện chức năng Lambert W trong Java
Trả lời
Hãy xem trang này: http://mathworld.wolfram.com/LambertW-Function.html
Nó liệt kê một xấp xỉ cho z>3
cũng như mở rộng loạt cho hàm.
Bạn cũng có thể sử dụng phương pháp của Newton và phương pháp Halley để xấp xỉ hàm: http://en.wikipedia.org/wiki/Lambert_W_function#Numerical_evaluation
Nhìn vào xấp xỉ z> 3 trên liên kết đầu tiên bạn đăng, tôi hiểu hầu hết các công thức ngoại trừ bit kết thúc. Phần O [(L1/L2)^6] có nghĩa là gì? Ngoài ra khi nó nói một cái gì đó giống như L2 (-2 + L2) sẽ được lnlnz * (-2 + lnlnz) hoặc lnln (-2 + lnlnz)? – Graham
'+ O (công cụ)' ở cuối chỉ là một thuật ngữ lỗi. Bạn có thể bỏ qua nó. Và 'L2 (-2 + L2) = lnlnz * (-2 + lnlnz)' – tskuzzy
Cảm ơn! Điều đó làm rõ một số điều. Vì vậy, tôi có lẽ chỉ có thể sử dụng công thức đó cho đầu vào cho hàm lớn hơn 3 và tìm công thức xấp xỉ đơn giản hơn cho đầu vào trong khoảng từ 0 đến 3? – Graham
Chức năng lambert là hàm nghịch đảo của g(w) = w*exp(w)
nó xác minh:
W(z)eW(z) = z.
Một cách tốt để đánh giá W (z) trên một z đã cho sẽ sử dụng phương thức newton raphson:
để giải quyết: f(Y)= Yexp(Y) - z = 0.
bạn sẽ tìm thấy Y = W(z)
với phương pháp
Bạn sẽ phải tự mình tìm và triển khai thực hiện trong phương thức java.
Hy vọng nó giúp
dưới đây minh họa từ wikipedia của phương pháp này:
- 1. chức năng tự thực hiện
- 2. Chức năng tắt máy Java không thực hiện
- 3. Thực hiện chức năng Traceroute trong android
- 4. thực hiện chức năng SIP trong IOS5
- 5. android runonuithread() chức năng không thực hiện
- 6. đèo $ này thực hiện chức năng
- 7. Thực hiện Chức năng Hashing MySQL
- 8. Thực hiện chức năng JQuery base64
- 9. clojure chức năng trì hoãn thực hiện
- 10. C++ thực hiện bản đồ chức năng
- 11. psycopg2 không thực hiện chức năng PostgreSQL
- 12. Cách thực hiện chức năng thể dục
- 13. thực hiện chức năng trên phím enter
- 14. Thực hiện chức năng cuối cùng
- 15. Chức năng thực hiện giao diện
- 16. Thực hiện các chức năng song song
- 17. Chức năng `preg_match_all` của PHP trong Java
- 18. Thực hiện một chức năng từ gói sau khi thực hiện thư viện (pkg)
- 19. làm cách nào để tôi thực hiện chức năng hoán đổi trong java?
- 20. Thực hiện chức năng JavaScript trong ứng dụng C#
- 21. Tự thực hiện các chức năng trong PHP5.3?
- 22. Chức năng thực hiện trên GUI đóng trong MATLAB
- 23. Chức năng thực hiện bên trong xem máy chủ SQL
- 24. Thực hiện chức năng gọi lại trong C
- 25. Cách thực hiện chức năng này trong C/C++
- 26. chức năng vượt qua trong json và thực hiện
- 27. sử dụng không gian tên trong thực hiện chức năng
- 28. Cách chức năng thư viện trong Haskell được thực hiện
- 29. Thực hiện quá tải chức năng trong Haskell
- 30. Cách thực hiện chức năng gọi lại trong Coffeescript
Ngoài ra, nếu nó làm cho một sự khác biệt, tôi nghĩ rằng tôi chỉ cần W trên lĩnh vực [0, inf). – Graham