How to find out the separation between to peaks of the azimuthally polarised beam at full width at half maximum?

2 次查看(过去 30 天)
hi, I have problem to find separation between two peaks at full width at half maximum, if you run following code you find figure(6) from that I have to find out separation between two peaks at full width at half maxumum
  1. clear all;
  2. clc;
  3. close all;
  4. [kx,ky]=meshgrid(-1:2/31:1,-1:2/31:1);
  5. c=sqrt(kx.^2+ky.^2)<1;
  6. N.A=0.5;
  7. alp=asin(N.A);
  8. k0=1/sin(alp);
  9. kz=sqrt(k0.^2-(kx.^2+ky.^2));
  10. GX=sqrt(k0./kz).*((k0*ky.^2+kz.*kx.^2)./(k0*(kx.^2+ky.^2)));
  11. GY=sqrt(k0./kz).*((kz-k0).*kx.*ky)./(k0*(kx.^2+ky.^2));
  12. GZ=-sqrt(k0./kz).*(kx/k0);
  13. ph=(pi+atan2(kx,ky));
  14. ph=rot90(ph,3).*c;
  15. la=-sin(ph).*c;
  16. lb=rot90(cos(ph).*c,3);
  17. k=1024;
  18. Ex=(la.*GX.*c+rot90(-lb.*GY.*c,3));
  19. FEx=fftshift(fft2(Ex,k,k));
  20. Ix=FEx.*conj(FEx);
  21. Ey=(la.*GY.*c+rot90(lb.*GX.*c,3));
  22. FEy=fftshift(fft2(Ey,k,k));
  23. Iy=FEy.*conj(FEy);
  24. Ez=(la.*GZ.*c+rot90(lb.*GZ.*c,3));
  25. FEz=fftshift(fft2(Ez,k,k));
  26. Iz=FEz.*conj(FEz);
  27. I=Ix+Iy;
  28. %figure(1)
  29. %imagesc(I),colormap gray;axis image; axis off;
  30. %figure(2)
  31. %plot(I(16,:))
  32. %figure(3)
  33. %imagesc(Iz),colormap gray;axis image; axis off;
  34. %figure(4)
  35. %plot(Iz(16,:))
  36. I1=Ix+Iy+Iz;
  37. I0=max(max(I1(k/2,:)));
  38. I1(k/2,:)=I1(k/2,:)/I0;
  39. a=max(max(I1(k/2,:)))
  40. %figure(5)
  41. %imagesc(I),colormap gray;axis image; axis off;
  42. figure(6)
  43. plot(I1(k/2,:))
  44. thanks in advanceabdul gaffar

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by