1 :
(I)는 N * N 직교 격자를 생성하는 N를 사용하여 입력MATLAB 내가 원하는 무엇
[x y] = meshgrid(linspace(-1,1,n));
(II) 생성 극좌표
는[theta r] = cart2pol(x,y);
(III)는 푸 평가 원통형의 nction는
z = f(theta,r);
(IV) 플롯 사용하여 결과를 좌표 (예를 들어) pcolor (또는 서핑, 또는 아무것도)
pcolor(x,y,abs(z).^2) %The function is complex, a Laguerre-Gauss to be exact.
2. 나는 무엇을 할 수 있는지 ... 유일한을
는 (i)는 매개 변수
r=linspace(0,1,n); theta=linspace(0,2*pi,n);
정의 : 나는 작업에 플롯을 얻을 수있는 방법은 내 극성 매개 변수와 함께 시작하고 거기에서 직교 다시 작업입니다 16,
(II) 모두 그리드를 작성하고 평가
[theta r]=meshgrid(theta,r);
[x y]=pol2cart(theta,r);
z=f(theta,r);
(III) 플롯 F
pcolor(x,y,abs(z).^2)
문제는 지금 내 격자 원형 점이다, 나는 평가하고 싶습니다 모든 기능은 사각형 격자를 사용합니다 (왜냐하면 내 분석은 정사각형 픽셀 배열을 사용하는 데 달려 있기 때문입니다). 위의 방법 2를 반복하면 사각형에 외접 된 원형 그림이 표시됩니다. 가장자리에 흰색이있는 검은 색 원을 상상해보십시오.하지만이 "흰색"영역에서 기능을 평가하고 싶습니다. 그러나 방법 1을 사용하면 작동하지 않습니다. - 음모를 꾸미면 기능이 엉망이됩니다 (Google Laguerre-Gauss 모드로 플롯이 어떻게 보이는지 확인하십시오).
나는 rect 격자로 시작하여 극좌표로 시작하는 대신 모든 점에 극좌표를 할당하고 모든 직교 점을 할당 할 수 있기를 원합니다.
저는 오래 동안이 문제에 얽혀 있었고,이 겉으로는 간단한 문제를 해결하는 방법을 알 수 없습니다.
편집 한
이 문제가 좌표 행렬 생성하는 방법에 있다고 보인다. 아래에서는 접근법 1과 접근법 2가 서로 다른 숫자를 생성하는 방법을 보여주는 간단한 3by3 예제의 스크린 샷을 게시했습니다.
이 번호를 호환 가능하게 만드는 방법은 무엇입니까?
나는 이미지를 직접 업로드 할 수 없으므로 명성을 얻지 못했습니다 ... 아래의 링크는 3by3 예제를 보여줍니다 ... 내가 작성하려고하는 Laguerre-Gauss 플롯의 실제 이미지에 대한 링크를 보려면 주석을보십시오 ...다음과 같이 현재 2
편집, 접근의 결과는 (1)는 잘못된 결과를 제공합니다 :
desired approach, wrong result
두 번째 접근법은 r ight 이미지, 불행히도 그것은 단지 원형이고 전체 사각형은 아닙니다. 그것은 여기에 표시됩니다 : 두 가지 접근 방식의
implemented approach, limited result
3D 플롯 here 표시됩니다 - 상단 그림의 화려한 부분은 올바른 것입니다.
편집 여기서 3
상기 사용되고있는 screenshot of the function f
이다. 단지 r,theta
보다 많은 입력 매개 변수를 요구합니다. 통상적 인 값은 다음과 같다 :
w0 = 0.5;
p = 0;
l = 5;
함수 C
는 정규화를 제공하고 L
은 Laguerre 다항식이다. 이 두 기능 모두 철저한 테스트를 통해 예상되는 결과를 얻을 수 있습니다.
편집 여기에 4
명시 적으로 내 예를 z=U(0,5,r,phi,w0)+U(0,-5,r,phi,w0);
을 실행하기에 충분한 코드입니다. 줄거리 자체는 pcolor(x,y,abs(z).^2)
입니다.
Lpl()
함수가 주석으로 삽입되었습니다. U 함수가 제대로 실행되기 위해서는이 파일을 m- 파일로 저장해야합니다.
%% Laguerre-Gauss Modes U = U(p,l,r,phi,w0)
% Source: OAM theory paper section 2.A eqn 1.
% Assuming POLAR coordinates and evaluating AT beam waist.
% -- That is, z=0 for w(z)=w0(sqrt(1+z/zR))
% ---- ie, w(0) = w0
% Assuming z=0 also renders the Gouy phase arctan(z/zR) irrelevant.
% Note: Rayleigh Range zR is not explicitly defined because z=0 --> it is irrelevant too.
% Since zR is the only wavelength dependent term, wavelength also doesn't
% matter.
function out = U(p,l,r,phi,w0)
%Function handles for clarity
e = @(x) exp(x);
C = @(p,l) sqrt((2*factorial(p))/(pi*factorial(p+abs(l))));
L = @(p,l,z) Lpl(p,l,z);
%% Lpl() FUNCTION
% function out = Lpl(p,l,z)
%
% l=abs(l);
% LL=0;
% for mm=1:p+1
% m=mm-1;
% L=LL;
% LL= L+((-1)^m)*(factorial(p+l)/(factorial(p-m)*factorial(l+m)*factorial(m)))*(z.^m);
% end
% out = LL;
%%
out = (C(p,l)/w0)*...
(((sqrt(2).*r)/w0)^abs(l))*...
(e((-r.^2)/w0^2))*...
(L(p,l,((2.*r.^2)/w0^2)))*...
(e((-1)*1i*l.*phi)); ``
숫자가 정확히 같지 않지만 반지름이 1 인 원은 각 방향으로 (-1,1)에 걸쳐있는 데카르트 격자로 쉽게 매핑되어야합니다. 내 눈에는 각 경우에 동일한 도메인 (본질적으로)을 통해 기능을 평가하고 있습니다. 분명히 이것은 사실이 아닙니다 ... 나는 내가 빠진 것을 보지 못합니다. – caseyalan
도움을 주셔서 대단히 감사드립니다! – caseyalan