diff options
-rw-r--r-- | abcd.m | 2 | ||||
-rw-r--r-- | solution_visualization.m | 9 |
2 files changed, 6 insertions, 5 deletions
@@ -39,7 +39,7 @@ function [waste,radius] =q2wr(q, lambda) endfunction -function q=waste_r2q(waste,R,lambda) +function q=wr2q(waste,R,lambda) % convert Gaussian beam waste and radius to q parameter q=1./(1./R-1i.*lambda./pi./(waste.^2)); endfunction diff --git a/solution_visualization.m b/solution_visualization.m index f5d69d4..b26e13c 100644 --- a/solution_visualization.m +++ b/solution_visualization.m @@ -1,14 +1,14 @@ source('answ.txt'); -q0=waste_r2q(w0,r0,lambda); +q0=wr2q(w0,r0,lambda); x=linspace(x0,xf,1000); % we will calculate beam profile between x0 and xf printf('======== Forward propagation ======\n') q_forward=gbeam_propagation(x,q0,x0,optics); [w_forward,r_forward]=q2wr(q_forward, lambda); printf('======== Backward propagation =====\n') -q_backward0=waste_r2q(wf,rf,lambda); +q_backward0=wr2q(wf,rf,lambda); q_backward=gbeam_propagation(x,q_backward0,xf,optics); [w_backward,r_backward]=q2wr(q_backward, lambda); @@ -27,7 +27,8 @@ rf xf printf('======= after propagation ========\n') printf('values below should match wf and rf: \n') -waste_at_the_end = q2waste(q_forward(end), lambda) -radius_at_the_end = q2radius(q_forward(end),lambda) +[waste_at_the_end,radius_at_the_end] = q2wr(q_forward(end), lambda); +waste_at_the_end +radius_at_the_end |