Advertisement
Guest User

Untitled

a guest
Sep 16th, 2013
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.09 KB | None | 0 0
  1. % set up
  2. s = sym('s','real');
  3. theta(s) = sym('theta(s)');
  4. rho(s) = sym('rho(s)');
  5. z(s) = sym('z(s)');
  6. k1(s) = sym('k1(s)');
  7. k2(s) = sym('k2(s)');
  8. k3(s) = sym('k3(s)');
  9. eps_para = sym('eps_para','real');
  10. eps_perp = sym('eps_perp','real');
  11.  
  12. % creates P_perp_k, projection onto plane perpendicular to k
  13. k = [k1(s);k2;k3];
  14. k_hat= k/sqrt(k1^2+k2^2+k3^2);
  15. k_hat_otimes_k_hat = k_hat*k_hat.';
  16. I = eye(3);
  17. P_perp_k = I - k_hat_otimes_k_hat;
  18. P_perp_k = simplify(P_perp_k);
  19.  
  20. % creates P_para_n of director
  21. n = [cos(theta/2);sin(theta/2);0];
  22. P_para_n = n*n.';
  23. P_para_n = simplify(P_para_n);
  24. P_perp_n = I - P_para_n;
  25.  
  26. % creates dielectric tensor
  27. eps = eps_para*P_para_n+eps_perp*P_perp_n;
  28.  
  29. % creates Y matrix
  30. Y = (k1^2 + k2^2 + k3^2)*P_perp_k*eps*P_perp_k;
  31. Y = simplify(Y);
  32.  
  33. % calculates eigenvalues and simplifies them
  34. E = simplify(eig(Y));
  35.  
  36. % identifies non-zero eigenvalue and removes from vector
  37. for i=1:3,
  38.     if E(i) == 0,
  39.         E(i) = [];
  40.         break
  41.     end
  42. end
  43. clear i
  44.  
  45. % attempts to simplify E further
  46. E = expand(E);
  47. E = simplify(E, 'Steps', 1000);
  48. E = factor(E);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement