24小时热门版块排行榜    

查看: 861  |  回复: 6
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 chenfeng79 的 3 个金币

chenfeng79

铁虫 (初入文坛)

[交流] 【求助】一个脉冲热效应的matlab程序不能运行

本人编写了一个脉冲热效应的matlab 程序,显示结果为边界值,也就是主程序不能运行,即 if=1后面出现了问题,恳求有关高手给予指点。程序如下
lear
clc
% *************************************
a=1.5;b=5;%晶体参数
h=0.1;ht=5e-4;%计算步长
tol=0.001;maxl=3000;%***误差
kr=0.014;%热导率
absorb=0.91;%晶体吸收系数
w0=0.32;%泵光半径
Q=15;%泵浦功率
dndt=7.3e-6;%dn/dt
n0=1.82;%折射率
o=7.5e-6;%热膨胀系数
L=30;%腔长
R=50;%输出镜半径
TOUT=0.1;%输入镜透过率
ls=946e-6;lp=808e-6;lf=1062e-6;%激光波长,泵浦波长,平均荧光波长
oabs=7.9e-24;oem=4e-24;%受激吸收截面,受激发射截面
t=230e-6;%上能级寿命
tl=0.025;%脉冲持续时间
rzxs=4e-4;   % when adopt inter must follow  inter<=f, inter=f maybe the best
c=3e11;%光速
hc=6.62e-34;%普朗克常数
n=fix(a/h)+1;m=fix(b/h)+1;nt=fix(tl/ht)+1; % importent nt=fix(tl/ht)+1; otherwise the number will decrease inter%计算取用格子数
q=zeros(2*n-1,m);
% ********************************
h0=0.006;%对流换热系数
%*********************************
% 边界条件
Es=hc*c/ls;Ep=hc*c/lp;%光子能量
K=0.006;%光光转化效率
fa=0.074;%玻耳兹曼因子
lr=0.015;%腔内损耗
ql=4.22; %晶体密度
cl=0.59;%晶体比热
ws=((ls/pi)^2*L*(R-L))^(0.25);%激光半径公式
z0=n0*w0^2*pi/lp;
for j=1:m
    wp(j)=w0*(1+j*h/z0)^(0.5);%泵浦光斑半径公式
    pp(j)=Q*exp(-absorb*j*h);%泵浦光传播功率
     ps=Q*K/TOUT*exp(0.5);%激光传播功率
end
%程序主体

U=ones(2*n-1,m,nt);
U0=16;
U(1,1:m,1:nt)=16;U(2*n-1,1:m,1:nt)=16;U(1:2*n-1,1,1:nt)=16;U(1:2*n-1,m,1:nt)=16;U(1:2*n-1,1:m,1)=16;
******************************************************
          for T=2:nt
             for i=2:2*n-2
                 for j=1:m
                      q(i,j)=2*Q*(1-(lp/lf+(lp/ls-lp/lf)*...
          (ps*exp(-2*(wp(j)/2)^2/ws^2)*oem/Es)/(1+(t*ps*2/(pi*ws^2)*exp(-2*(wp(j)/2)^2/ws^2)*oem/Es))*...
     (t-fa/(pp(j)*2/(pi*wp(j)^2)*exp(-2*(wp(j)/2)^2/ wp(j)^2)*oabs/Ep))))*absorb/(3.14*w0^2*(1-exp(-absorb*b)))*exp(-2*((i-n)*h)^2/w0^2)*exp(-absorb*j*h);
                 if j==1
                           U(i,j,T)=U(i,j,T-1)+kr*ht/ql/cl*((U(i+1,j,T-1)-2*U(i,j,T-1)+U(i-1,j,T-1))/h^2+(U(i,j,T-1)-U(i-1,j,T-1))/(i-n+1)/h^2+(-2*U(i,j,T-1)-2*h*rzxs*(U(i,j,T-1)-U0)+2*U(i,j+1,T-1)))+q(i,j)*ht/ql/cl
                          
                         elseif j==m
                              
                            U(i,j,T)=U(i,j,T-1)+kr*ht/ql/cl*((U(i+1,j,T-1)-2*U(i,j,T-1)+U(i-1,j,T-1))/h^2+(-U(i-1,j,T-1))/(i-n+1)/h^2+(U(i,j+1,T-1)-2*U(i,j,T-1)+2*h*rzxs*(U(i,j,T-1)-U0)+2*U(i,j-1,T-1)))+q(i,j)*ht/ql/cl
                         else
                             U(i,j,T)=U(i,j,T-1)+kr*ht/ql/cl*((U(i+1,j,T-1)-2*U(i,j,T-1)+U(i-1,j,T-1))/h^2+(U(i,j,T-1)-U(i-1,j,T-1))/(i-n+1)/h^2+(U(i,j+1,T-1)-2*U(i,j,T-1)+U(i,j-1,T-1)))+q(i,j)*ht/ql/cl
                           
                      end
                 end  
             end
         end
% ********************************************

output=U(n+1,5,;
output=output(;
plot(output)

[ Last edited by nono2009 on 2009-12-24 at 22:02 ]
回复此楼

» 猜你喜欢

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

孤鸿飘逸

金虫 (正式写手)

★ ★
nono2009(金币+1,VIP+0):平安夜,辛苦了! 12-24 23:13
chenfeng79(金币+1,VIP+0):参与就好,谢谢,呵呵 12-25 16:24
无nt,m值 我觉得你定义的函数主体名字就有错误

[ Last edited by 孤鸿飘逸 on 2009-12-24 at 23:15 ]
2楼2009-12-24 23:12:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenfeng79

铁虫 (初入文坛)

nono2009(金币+0,VIP+0):建议通过PM或“引用回复该帖”,以便别人及时收到你的message. 12-26 11:38
有m nt 的值呀,呵呵,
3楼2009-12-25 16:26:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

孤鸿飘逸

金虫 (正式写手)

我怎么没看见呢   指下上下文
4楼2009-12-26 19:27:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenfeng79

铁虫 (初入文坛)

nono2009(金币+0,VIP+0):建议通过“引用回复该帖”或短信,以便别人及时了解你的message. 12-27 11:14
在n=fix(a/h)+1后面呀,呵呵
5楼2009-12-26 20:12:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

孤鸿飘逸

金虫 (正式写手)


sunxiao(金币+1,VIP+0):谢谢参与,大过节的不容易,呵呵 12-27 12:48
******************************************************
在这一行缺个%
6楼2009-12-27 12:31:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenfeng79

铁虫 (初入文坛)

%后面是不运行的,是起注释作用的,呵呵
7楼2010-01-04 14:27:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chenfeng79 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见