how to converge equation
    5 次查看(过去 30 天)
  
       显示 更早的评论
    
xnew=1;
k0=2*pi/632;
t3=1000;
t2=2000;
n1=1.512;n2=1.521;n3=4.1-1i*0.211;
n4=1;
m=0;
m=0;
k1=k0*sqrt(n1^2-xnew^2);
k2=k0*sqrt(n2^2-xnew^2);
k3=k0*sqrt(n3^2-xnew^2);
k4=k0*sqrt(n4^2-xnew^2);
n=1;
while d>0.0001 & n< 1000
    n=n+1;
    xold=xnew
    k1=k0*sqrt(n1^2-xnew^2);
    k2=k0*sqrt(n2^2-xnew^2);
    k3=k0*sqrt(n3^2-xnew^2);
    k4=k0*sqrt(n4^2-xnew^2);
    y=(k2)*t2-atan(k1/1i*k2)-atan((k3/k2)*tan(atan(k4/1i*k2)-k3*t3))+m*pi;
    d=abs(xnew-xold);
end
disp([n,xnew,xold])
 pl show the value  by varying the t3  1 t0 1000
plot(t3,xnew)
6 个评论
  Torsten
      
      
 2022-2-26
				Why don't you use fsolve to solve 
real(y) = 0 and imag(y) = 0 for 
real(x) and imag(x) ?
Don't you have a licence for the optimization toolbox ?
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

