calculateyfunc.m

来自「高频地波雷达的仿真程序 可能会有人需要 实用MATLAB」· M 代码 · 共 24 行

M
24
字号
function [yy]=calculatey(eta,sita,m1,m2)
 eps1=10^-6;
 if eta==0
     yy=sqrt(abs(-1/(2*cos(sita))));
 else
     y0=initialyfunc(eta,m1);
     [f1,d1]=oadfunc(y0,eta,sita,m1,m2);
     k=1;
     y(1)=y0;
     y(2)=y(1)-f1/d1;
     while abs(f1)>eps1
         u=1;
         k=k+1;
         [f1,d1]=oadfunc(y(k),eta,sita,m1,m2);
         y(k+1)=y(k)-u*f1/d1;
         [f2,d2]=oadfunc(y(k+1),eta,sita,m1,m2);
         while abs(f2)>=abs(f1)
             u=u/2;
             y(k+1)=y(k)-u*f1/d1;
             [f2,d2]=oadfunc(y(k+1),eta,sita,m1,m2);
         end
     end
     yy=y(k);
 end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?