24小时热门版块排行榜    

查看: 2213  |  回复: 10

惜梦寻草

新虫 (初入文坛)

[求助] 利用matlab画出级联OPO波长调谐曲线

求高手指点!如题,模拟PPLN晶体级联OPO+OPA温度调谐曲线,但是不知道该怎么模拟!要得到最后面的那个图。
下面是我的程序,希望哪位高人能帮忙调一下!十分感激!

clear
clc
n=1;
m=1;
a1=5.756;
a2=0.0983;
a3=0.2020;
a4=189.32;
a5=12.52;
a6=1.32e-2;
b1=2.860e-6;
b2=4.700e-8;
b3=6.113e-8;
b4=1.516e-4;
A=31.5;
lamdap=1.064;
T = [25:0.1:250];
lamdas = [1.065:0.01:3.2];
lamdass = [2.5:0.01:4.5];
for i_T = 1:length(T)
    f=(T(i_T)-24.5)*(T(i_T)+570.82);
    ni = zeros(size(lamdas));
    np = ni;
    ns = ni;
    nss = ni;
    nii = ni;
    for i_lamdas = 1:length(lamdas)
        lamdai(i_lamdas)=1./(1./lamdap-1./lamdas(i_lamdas));
        ni(i_lamdas)=(a1+b1.*f+(a2+b2.*f)./(lamdai(i_lamdas).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdai(i_lamdas).^2-a5^2)-a6.*lamdai(i_lamdas).^2).^(1/2);
        np(i_lamdas)=(a1+b1.*f+(a2+b2.*f)./(lamdap.^2-(a3+b3*f)^2)+(a4+b4.*f)./(lamdap.^2-a5^2)-a6.*lamdap.^2).^(1/2);
        ns(i_lamdas)=(a1+b1.*f+(a2+b2.*f)./(lamdas(i_lamdas).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdas(i_lamdas).^2-a5^2)-a6.*lamdas(i_lamdas).^2).^(1/2);
    end
    for i_lamdass = 1:length(lamdass)
        lamdaii(i_lamdass)=1/(1/lamdas-1/lamdass(i_lamdass));
        nii(i_lamdass)=(a1+b1.*f+(a2+b2.*f)./(lamdai2(i_lamdass).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdai2(i_lamdass).^2-a5^2)-a6.*lamdai2(i_lamdass).^2).^(1/2);
        ns(i_lamdass)=(a1+b1.*f+(a2+b2.*f)./(lamdas(i_lamdass).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdas(i_lamdass).^2-a5^2)-a6.*lamdas(i_lamdass).^2).^(1/2);
        nss(i_lamdass)=(a1+b1.*f+(a2+b2.*f)./(lamdass(i_lamdass).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdass(i_lamdass).^2-a5^2)-a6.*lamdass(i_lamdass).^2).^(1/2);
    end
       temp1 = abs(np./lamdap-ns./lamdas-ni./lamdai-1/A);
       [x1,i_x1] = min(temp1);
       lamdai_opt(i_T) = lamdai(i_x1);
       lamdas_opt(i_T) = lamdas(i_x1);
       temp2 = abs(ns./lamdas-nss./lamdass-nii./lamdaii-1/A);   
       [x2,i_x2] = min(temp2);
       lamdaii_opt(i_T) = lamdaii(i_x2);
       lamdass_opt(i_T) = lamdass(i_x2);     
end
plot(T,lamdai_opt,'b.')
hold on
plot(T,lamdas_opt,'b.')
hold on
plot(T,lamdaii_opt,'b.')
hold on
plot(T,lamdass_opt,'b.')

级联OPO+OPA温度调谐曲线.jpg
回复此楼

» 猜你喜欢

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

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
惜梦寻草: 金币+3, 有帮助 2013-01-05 15:56:02
你这问题好多,比如
lamdai2是多少
lamdas和lamdass长度不一样怎么一对一的计算
  lamdai(i_lamdas)=1./(1./lamdap-1./lamdas(i_lamdas));到底是除元素还是除矩阵?我估计除元素
showmethemoney
2楼2013-01-05 10:44:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惜梦寻草

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by csgt0 at 2013-01-05 10:44:09
你这问题好多,比如
lamdai2是多少
lamdas和lamdass长度不一样怎么一对一的计算
  lamdai(i_lamdas)=1./(1./lamdap-1./lamdas(i_lamdas));到底是除元素还是除矩阵?我估计除元素

lamdai2就是lamdaii,我在编程序的时候疏忽了
lamdas和lamdass需要长度一样才能算吗?这个我不太清楚
lamdai(i_lamdas)=1./(1./lamdap-1./lamdas(i_lamdas));正如你想的,是要除元素。
我知道这个程序的错误很多,我不知道应该怎么算这个,你能帮我写一下能得到下面那张图的程序吗?谢谢啦!
3楼2013-01-05 15:55:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

引用回帖:
3楼: Originally posted by 惜梦寻草 at 2013-01-05 15:55:28
lamdai2就是lamdaii,我在编程序的时候疏忽了
lamdas和lamdass需要长度一样才能算吗?这个我不太清楚
lamdai(i_lamdas)=1./(1./lamdap-1./lamdas(i_lamdas));正如你想的,是要除元素。
我知道这个程序的错误很多 ...

因为你的temp2 = abs(ns./lamdas-nss./lamdass-nii./lamdaii-1/A);
在一个公式里面必须保证lamdas,lamdass,lamdaii都是一样长得
showmethemoney
4楼2013-01-05 16:49:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惜梦寻草

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by csgt0 at 2013-01-05 16:49:51
因为你的temp2 = abs(ns./lamdas-nss./lamdass-nii./lamdaii-1/A);
在一个公式里面必须保证lamdas,lamdass,lamdaii都是一样长得...

我将lamdas范围改成[1.2:0.01:3.2],lamdass范围改成[2.5:0.01:4.5]了,按你的说法,公式temp2=abs(ns./lamdas-nss./lamdass-nii./lamdaii-1/A)长度应该是一样的了,可是还是出不来图啊。
仍然是Error using ==> mrdivide
Matrix dimensions must agree.
你要是能帮我画出来,我可以再加金币的。拜托了!
5楼2013-01-06 08:43:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
惜梦寻草: 金币+7, ★★★很有帮助 2013-01-06 14:40:14
能算,就是不知道图对不对,不对就看你的算法错没错
CODE:
clear
clc
n=1;
m=1;
a1=5.756;
a2=0.0983;
a3=0.2020;
a4=189.32;
a5=12.52;
a6=1.32e-2;
b1=2.860e-6;
b2=4.700e-8;
b3=6.113e-8;
b4=1.516e-4;
A=31.5;
lamdap=1.064;
T = [25:0.1:250];
lamdas = [1.2:0.01:3.2];
lamdass = [2.5:0.01:4.5];
for i_T = 1:length(T)
     f=(T(i_T)-24.5)*(T(i_T)+570.82);
     ni = zeros(size(lamdas));
     np = ni;
     ns = ni;
     nss = ni;
     nii = ni;
     for i_lamdas = 1:length(lamdas)
         lamdai(i_lamdas)=1./(1./lamdap-1./lamdas(i_lamdas));
         ni(i_lamdas)=(a1+b1.*f+(a2+b2.*f)./(lamdai(i_lamdas).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdai(i_lamdas).^2-a5^2)-a6.*lamdai(i_lamdas).^2).^(1/2);
         np(i_lamdas)=(a1+b1.*f+(a2+b2.*f)./(lamdap.^2-(a3+b3*f)^2)+(a4+b4.*f)./(lamdap.^2-a5^2)-a6.*lamdap.^2).^(1/2);
         ns(i_lamdas)=(a1+b1.*f+(a2+b2.*f)./(lamdas(i_lamdas).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdas(i_lamdas).^2-a5^2)-a6.*lamdas(i_lamdas).^2).^(1/2);
     end
     for i_lamdass = 1:length(lamdass)
         lamdaii(i_lamdass)=1/(1/lamdas(i_lamdass)-1/lamdass(i_lamdass));
         nii(i_lamdass)=(a1+b1.*f+(a2+b2.*f)./(lamdaii(i_lamdass).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdaii(i_lamdass).^2-a5^2)-a6.*lamdaii(i_lamdass).^2).^(1/2);
         ns(i_lamdass)=(a1+b1.*f+(a2+b2.*f)./(lamdas(i_lamdass).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdas(i_lamdass).^2-a5^2)-a6.*lamdas(i_lamdass).^2).^(1/2);
         nss(i_lamdass)=(a1+b1.*f+(a2+b2.*f)./(lamdass(i_lamdass).^2-(a3+b3.*f)^2)+(a4+b4.*f)./(lamdass(i_lamdass).^2-a5^2)-a6.*lamdass(i_lamdass).^2).^(1/2);
     end
        temp1 = abs(np./lamdap-ns./lamdas-ni./lamdai-1/A);
       [x1,i_x1] = min(temp1);
        lamdai_opt(i_T) = lamdai(i_x1);
        lamdas_opt(i_T) = lamdas(i_x1);
        temp2 = abs(ns./lamdas-nss./lamdass-nii./lamdaii-1/A);   
        [x2,i_x2] = min(temp2);
        lamdaii_opt(i_T) = lamdaii(i_x2);
        lamdass_opt(i_T) = lamdass(i_x2);     
end
plot(T,lamdai_opt,'b',T,lamdas_opt,'r',T,lamdaii_opt,'g',T,lamdass_opt,'b')
grid

showmethemoney
6楼2013-01-06 11:12:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惜梦寻草

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by csgt0 at 2013-01-06 11:12:53
能算,就是不知道图对不对,不对就看你的算法错没错

clear
clc
n=1;
m=1;
a1=5.756;
a2=0.0983;
a3=0.2020;
a4=189.32;
a5=12.52;
a6=1.32e-2;
b1=2.860e-6;
b2=4.700e-8;
b3=6.113e-8; ...

非常感谢!
不过我还有两个问题:
第一,为什么我的程序里lamdas = [1.2:0.01:3.2];lamdass = [2.5:0.01:4.5];修改以后还是出不了图呢?
第二,为什么你写的程序理论上没有问题,但是输出的图形和我要的不一样呢?
7楼2013-01-06 14:39:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

引用回帖:
7楼: Originally posted by 惜梦寻草 at 2013-01-06 14:39:20
非常感谢!
不过我还有两个问题:
第一,为什么我的程序里lamdas = ;lamdass = ;修改以后还是出不了图呢?
第二,为什么你写的程序理论上没有问题,但是输出的图形和我要的不一样呢?...

可能有的地方你没有改正。
至于图形不一样那就看你的算法对不对,你可以检查计算方法和过程。
showmethemoney
8楼2013-01-06 14:41:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惜梦寻草

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by csgt0 at 2013-01-06 14:41:30
可能有的地方你没有改正。
至于图形不一样那就看你的算法对不对,你可以检查计算方法和过程。...

过程应该不会有错的,还是没找出来原因。
9楼2013-01-07 08:19:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惜梦寻草

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by csgt0 at 2013-01-06 14:41:30
可能有的地方你没有改正。
至于图形不一样那就看你的算法对不对,你可以检查计算方法和过程。...

我的问题已经解决了,不用费心了~谢谢啦!
10楼2013-01-07 10:50:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 惜梦寻草 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ASdOkHsho7FD 2026-08-28 6/300 2026-08-29 11:50 by jCd0dEvKHShX
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 11:49 by jCd0dEvKHShX
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ASdOkHsho7FD 2026-08-28 6/300 2026-08-29 11:40 by jCd0dEvKHShX
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 ASdOkHsho7FD 2026-08-28 6/300 2026-08-29 11:29 by jCd0dEvKHShX
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 9/450 2026-08-29 09:59 by jklily
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +8 苏东坡二世 2026-08-23 8/400 2026-08-28 14:41 by lkforward
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
信息提示
请填处理意见