nonline_eq_sirp.m

来自「SIRP法相干相关K分布雷达杂波的建模与仿真」· M 代码 · 共 39 行

M
39
字号
function s=nonline_eq_sirp(z,nu)
for m=1:length(z);
    max_s=10;
    min_s=0;
    isexistmax=0;
    F_z=0.5+0.5*erf(z(m)/sqrt(2));
    if (F_z>0.9999999)%可“help gammainc”,F_z=1时,s->inf
        s(m)=inf;
    else
        for k=1:10000;
            if (gammainc(2*nu*max_s*max_s/pi,nu)<F_z)%若F_z超过在s区间gammainc的取值,
                min_s=max_s;                         %则改变(扩大)s的取值.
                max_s=max_s*2;
            else
                isexistmax=1;break;
            end
        end
    end
    if (isexistmax==1)
        s(m)=0.5*(max_s+min_s);%二分法
        s0=0;
        for k=1:10000;
            if (gammainc(2*nu*s(m)*s(m)/pi,nu)>F_z)
                max_s=s(m);
            else
                min_s=s(m);
            end
            s0=s(m);
            s(m)=0.5*(max_s+min_s);
            if (abs(s(m)-s0)<0.0001)%精度
                break;
            end
        end  
    end
    
end


⌨️ 快捷键说明

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