24小时热门版块排行榜    

查看: 1900  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 惜梦寻草 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 294求调剂材料与化工专硕 +5 陌の森林 2026-03-18 5/250 2026-03-18 22:18 by bingxueer79
[考研] 085410人工智能专硕317求调剂(0854都可以) +3 xbxudjdn 2026-03-18 3/150 2026-03-18 22:14 by zhq0425
[考研] 311求调剂 +4 冬十三 2026-03-18 4/200 2026-03-18 21:47 by 尽舜尧1
[考研] 321求调剂 +3 何润采123 2026-03-18 3/150 2026-03-18 21:27 by li123456789.
[考研] 0703化学调剂,求各位老师收留 +9 秋有木北 2026-03-14 9/450 2026-03-18 19:49 by macy2011
[考研] 0703化学 305求调剂 +3 FY_yy 2026-03-14 3/150 2026-03-18 19:40 by macy2011
[考研] 26调剂/材料/英一数二/总分289/已过A区线 +7 步川酷紫123 2026-03-13 7/350 2026-03-18 17:12 by 尽舜尧1
[考研] 一志愿西南交大,求调剂 +4 材化逐梦人 2026-03-18 4/200 2026-03-18 14:22 by 007_lilei
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 工科材料085601 279求调剂 +6 困于星晨 2026-03-17 6/300 2026-03-18 10:21 by kkcoco25
[基金申请] 被我言中:新模板不强调格式了,假专家开始管格式了 +4 beefly 2026-03-14 4/200 2026-03-17 22:04 by 黄鸟于飞Chao
[考研] 332求调剂 +6 Zz版 2026-03-13 6/300 2026-03-17 17:03 by ruiyingmiao
[考研] 285化工学硕求调剂(081700) +9 柴郡猫_ 2026-03-12 9/450 2026-03-17 10:18 by Sammy2
[论文投稿] 有没有大佬发小论文能带我个二作 +3 增锐漏人 2026-03-17 4/200 2026-03-17 09:26 by xs74101122
[考研] 326求调剂 +3 mlpqaz03 2026-03-15 3/150 2026-03-16 07:33 by Iveryant
[考研] 265求调剂 +4 威化饼07 2026-03-12 4/200 2026-03-14 17:23 by userper
[考研] 材料工程调剂 +9 咪咪空空 2026-03-12 9/450 2026-03-13 22:05 by 星空星月
[考研] 274求调剂 +3 S.H1 2026-03-12 3/150 2026-03-13 15:15 by JourneyLucky
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
信息提示
请填处理意见