24小时热门版块排行榜    

CyRhmU.jpeg
查看: 897  |  回复: 1

LCP1212

新虫 (初入文坛)


[交流] 请大神帮忙看下这个程序

function  Pout = fiberlaser_twoend
    global R1 R2 Ppl Ppr sigma_ap sigma_ep sigma_as sigma_es gamma_s ...
        gamma_p N alpha_p alpha_s Pssat Ppsat Ppsp Ppsv mu kappa elta

    %参数设置
    lambda_s = 1090 * 1e-9;
    lambda_p = 975 * 1e-9;
    tau = 1e-3;
    sigma_ap = 25e-21*1e-4;
    sigma_ep = 25e-21*1e-4;
    sigma_as = 1.4e-23*1e-4;
    sigma_es = 2e-21*1e-4;
    A_c = 5e-11;
    N = 4e+025;
    alpha_p = 3e-5*1e2;
    alpha_s = 5e-5*1e2;
    gamma_s = 0.82;
    gamma_p = 0.0012;
    R1 =.98;
    R2 =.04;
    L = 50;

    %物理常数及中间过程参数计算
    c = 3e8;
    h = 6.626e-34;
    nu_s = c/lambda_s;
    nu_p = c/lambda_p;
    Pssat = h * nu_s * A_c/( gamma_s * (sigma_es+sigma_as) * tau);
    Ppsat = h * nu_p * A_c/( gamma_p * (sigma_ep+sigma_ap) * tau);

    %抽运光功率设置
    Ppl =1:1:25;
    Ppr =0;
    Pout=zeros(1,25);
for i=1:25
    OPTION = bvpset('Stats','ON');
    solinit = bvpinit(linspace(0,L,10),[Ppl(i) Ppr 10 Ppr]);
    sol = bvp4c(@f,@fsbc,solinit);
    x = [sol.x];
    y = [sol.y];
    Pout(i) = y(3,end)*(1-R2);
end
    plot(Ppl,Pout,'r');
    grid on;
    title('Pump and laser powers');
    legend('Pp+(z)','Pp-(z)','Ps+(z)','Ps-(z)');
    xlabel('Position z (m)');
    ylabel('Power (W)');
   

%端面抽运的光纤激光器速率方程组
function dy = f(x,y)
    global sigma_ap sigma_ep sigma_as sigma_es gamma_s gamma_p N ...
        alpha_p alpha_s Pssat Ppsat  Ppsp Ppsv
    dy = zeros(4,1);
    N21=N*(sigma_ap/(sigma_ap+sigma_ep)*(y(1)+y(2))/Ppsat+sigma_as/...
          (sigma_as+sigma_es)*(y(3)+y(4))/Pssat)/((y(1)+y(2))/Ppsat+...
          1+(y(4)+y(3))/Pssat);
    dy(1)=(-gamma_p*(sigma_ap*N-(sigma_ap+sigma_ep)*N21)-alpha_p)*y(1);
    dy(2)=-(-gamma_p*(sigma_ap*N-(sigma_ap+sigma_ep)*N21)-alpha_p)*y(2);
    dy(3)=(gamma_s*((sigma_as+sigma_es)*N21-sigma_as*N)-alpha_s)*y(3);
    dy(4)=-(gamma_s*((sigma_as+sigma_es)*N21-sigma_as*N)-alpha_s)*y(4);

%端面抽运的光纤激光器边界条件
function res = fsbc(y0,yL)
    global R1 R2 Ppl Ppr
    res = [y0(1)-Ppl
       yL(2)-Ppr
       y0(3)-R1*y0(4)
       yL(4)-R2*yL(3)];



老是出错,清帮忙改一下,谢谢各位啦,初学者不大会
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

LCP1212

新虫 (初入文坛)


??? Error using ==> vertcat
CAT arguments dimensions are not consistent.

Error in ==> p300_fiberlaser_twoend>fsbc at 67
    res = [y0(1)-Ppl

Error in ==> bvparguments at 117
    testBC = bc(ya,yb,bcExtras{:});

Error in ==> bvp4c at 130
[n,npar,nregions,atol,rtol,Nmax,xyVectorized,printstats] = ...

Error in ==> p300_fiberlaser_twoend at 38
    sol = bvp4c(@f,@fsbc,solinit);


老是显示上面的错误
2楼2015-03-18 10:21:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 LCP1212 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见