이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
lambertw
람베르트 W 함수
설명
예제
람베르트 W 함수를 해로 갖는 방정식 반환하기
람베르트 W 함수 W(x)
는 방정식 x = W(x)eW(x)
의 해 집합입니다.
아래의 방정식을 풉니다. 해는 람베르트 W 함수입니다.
syms x W eqn = x == W*exp(W); solve(eqn,W)
ans = lambertw(0, x)
람베르트 W 함수의 분지가 방정식 x = W*eW
의 유효한 해임을 확인합니다.
k = -2:2; eqn = subs(eqn,W,lambertw(k,x)); isAlways(eqn)
ans = 1×5 logical array 1 1 1 1 1
숫자형 인수 및 기호 인수에 대한 람베르트 W 함수
lambertw
는 해당 인수에 따라 부동소수점 결과를 반환할 수도 있고 정확한 기호 결과를 반환할 수도 있습니다.
다음 숫자에 대해 람베르트 W 함수를 계산합니다. 이러한 숫자는 기호 객체가 아니므로 부동소수점 결과를 얻게 됩니다.
A = [0 -1/exp(1); pi i]; lambertw(A)
ans = 0.0000 + 0.0000i -1.0000 + 0.0000i 1.0737 + 0.0000i 0.3747 + 0.5764i
lambertw(-1,A)
ans = -Inf + 0.0000i -1.0000 + 0.0000i -0.3910 - 4.6281i -1.0896 - 2.7664i
기호 객체로 변환된 숫자에 대해 람베르트 W 함수를 계산합니다. 대부분의 기호 숫자(즉, 정확한 숫자 표현)에 대해 lambertw
는 계산되지 않은 기호 호출을 반환합니다.
A = [0 -1/exp(sym(1)); pi i]; W0 = lambertw(A)
W0 = [ 0, -1] [ lambertw(0, pi), lambertw(0, 1i)]
Wmin1 = lambertw(-1,A)
Wmin1 = [ -Inf, -1] [ lambertw(-1, pi), lambertw(-1, 1i)]
double
을 사용하여 기호 결과를 double형으로 변환합니다.
double(W0)
ans = 0.0000 + 0.0000i -1.0000 + 0.0000i 1.0737 + 0.0000i 0.3747 + 0.5764i
람베르트 W 함수의 두 주 분지 플로팅하기
람베르트 W 함수의 두 주 분지 와 를 플로팅합니다.
syms x fplot(lambertw(x)) hold on fplot(lambertw(-1,x)) hold off axis([-0.5 4 -4 2]) title('Lambert W function, two main branches') legend('k=0','k=1','Location','best')
복소 평면 위의 람베르트 W 함수 플롯
복소 평면 위에 람베르트 W 함수의 주 분지를 플로팅합니다.
fmesh
를 사용하여 람베르트 W 함수의 실수 값을 플로팅합니다. 'ShowContours'
를 'On'
으로 설정하여 등고선을 함께 플로팅합니다.
syms x y f = lambertw(x + 1i*y); interval = [-100 100 -100 100]; fmesh(real(f),interval,'ShowContours','On')
람베르트 W 함수의 허수 값을 플로팅합니다. 플롯에는 음의 실수축을 따라 분지 절단이 있습니다. 등고선을 따로 플로팅합니다.
fmesh(imag(f),interval)
fcontour(imag(f),interval,'Fill','on')
람베르트 W 함수의 절댓값을 플로팅합니다.
fmesh(abs(f),interval,'ShowContours','On')
입력 인수
x
— 입력값
숫자 | 벡터 | 행렬 | 배열 | 기호 숫자 | 기호 변수 | 기호 배열 | 기호 함수 | 기호 표현식
입력값으로, 숫자, 벡터, 행렬, 배열로 지정되거나 기호 숫자, 기호 변수, 기호 배열, 기호 함수, 기호 표현식으로 지정됩니다.
적어도 하나의 입력 인수는 스칼라여야 합니다. 그렇지 않으면 두 인수가 동일한 크기의 벡터 또는 행렬이어야 합니다. 하나의 입력 인수가 스칼라이고 다른 인수는 벡터 또는 행렬인 경우 lambertw
는 스칼라를 다른 인수와 동일한 크기의 벡터 또는 행렬로 확장하는데 이때 모든 요소는 해당 스칼라의 값을 갖습니다.
k
— 람베르트 W 함수의 분지
정수 | 정수로 구성된 벡터 또는 행렬 | 기호 정수 | 정수로 구성된 기호 벡터 또는 기호 행렬
람베르트 W 함수의 분지로, 정수, 정수로 구성된 벡터나 행렬, 기호 정수 또는 정수로 구성된 기호 벡터나 행렬로 지정됩니다.
적어도 하나의 입력 인수는 스칼라여야 합니다. 그렇지 않으면 두 인수가 동일한 크기의 벡터 또는 행렬이어야 합니다. 하나의 입력 인수가 스칼라이고 다른 인수는 벡터 또는 행렬인 경우 lambertw
는 스칼라를 다른 인수와 동일한 크기의 벡터 또는 행렬로 확장하는데 이때 모든 요소는 해당 스칼라의 값을 갖습니다.
세부 정보
람베르트 W 함수
람베르트 W 함수 W(x)는 모든 복소수 x
에 대한 방정식 의 해 y를 나타냅니다.
복소수 x에 대해, 방정식은 무한한 개수의 해 y = lambertW(k,x)를 갖습니다. 여기서 k의 범위는 모든 정수입니다.
x ≥ 0인 모든 실수에 대해, 방정식은 정확히 하나의 실수 해 y = lambertW(x) = lambertW(0,x)를 갖습니다.
인 실수 x에 대해, 방정식은 정확히 두 개의 실수 해를 갖습니다. 큰 해는 y = lambertW(x)로 나타나고 작은 해는 y = lambertW(–1,x)로 나타납니다.
에 대해, 방정식은 정확히 하나의 실수 해 y = –1 = lambertW(0, –exp(–1)) = lambertW(–1, -exp(–1))을 갖습니다.
참고 문헌
[1] Corless, R.M., G.H. Gonnet, D.E.G. Hare, D.J. Jeffrey, and D.E. Knuth. "On the Lambert W Function." Advances in Computational Mathematics, Vol. 5, pp. 329–359, 1996.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)