24小时热门版块排行榜    

查看: 591  |  回复: 2

亮亮1283

新虫 (小有名气)

[求助] Matlab程序求助,版本R2011b,程序运行到quadgk函数总是显示找不到指定模块

我为了算一个有奇点的积分,知道quadgk函数可以计算。之前我电脑用的7.0版的,知道7.0版的不能用这个函数,就卸载了它,重新安装了Matlab2011b版本的。运行程序后,发现总是有问题,在网上搜后发现说是新版本的不需要环境变量,我就删了,结果运行程序后仍然问题,程序如下:希望高手帮我看看是什么问题
我之前设置断点,直到运行到quadgk函数行时,就会出现问题。
function dn2_dN()
clc
clear

e=1.6*10^(-19);
pi=3.14;
c=3*10^8;
h=6.63*10^(-34);                  %Plank常数
h1=h/(2*pi);
b=808*10^(-9);
E=h*c/b;                             %入射光子能量
n=3.655;
m0=9.11*10^(-31);                 %电子的静止质量
me=0.066*m0;
mhh=0.45*m0;
mlh=0.084*m0;
mdh=0.47*m0;
KB=1.38*10^(-23);
T=300;
Chh=sqrt(h1)*1.5*10^12;
Clh=sqrt(h1)*7.8*10^11;
Eg=1.42*e;                           %带隙,单位要用焦耳

Nc=2*(me*KB*T/(2*pi*h1^2))*sqrt(me*KB*T/(2*pi*h1^2));
Nv=2*(mdh*KB*T/(2*pi*h1^2))*sqrt(me*KB*T/(2*pi*h1^2));

Nx=1;                                %厚度值
P=[0:0.005:1]*(10^6);

for i=1:1:length(P)
    Px=(i-1)*0.005;
    N = dN_I1(Px,Nx);                       %调用函数给出载流子浓度,调用本身有问题
    P=N;
    %导带、价带费米能级
    Efc=KB*T*(log(N/Nc)+(N/Nc)*(64+0.05524*(N/Nc)*(64+sqrt(N/Nc)))^(-1/4));
    Efv=KB*T*(-(log(P/Nv)+(P/Nc)*(64+0.05524*(P/Nv)*(64+sqrt(P/Nv)))^(-1/4))-Eg);

    syms EE;
    %价带中被重、轻空穴占据的能级
    Eah=(Eg-EE)*(me/(me+mhh))-Eg;
    Eal=(Eg-EE)*(me/(me+mlh))-Eg;
    %价带中重、轻空穴的分布函数
    fah=(1+exp((Eah-Efv)/(KB*T)))^(-1);
    fal=(1+exp((Eal-Efv)/(KB*T)))^(-1);
    %同理:导带情况
    Ebh=(EE-Eg)*(mhh/(me+mhh));
    Ebl=(EE-Eg)*(mlh/(me+mlh));
    fbh=(1+exp((Ebh-Efc)/(KB*T)))^(-1);
    fbl=(1+exp((Ebl-Efc)/(KB*T)))^(-1);
   
    da=@(EE)(Chh/EE)*sqrt(EE-Eg)*(fah-fbh-1)+(Clh/EE)*sqrt(EE-Eg)*(fal-fbl-1);  %构造了一个匿名函数,是吸收系数的变化量
    PP=quadgk(@(EE) da(EE), 0,E)+quadgk(@(EE) da(EE), E,Inf);
    dn(i)=c*h1/(pi*e^2)*PP;
end
plot(P,dn)
回复此楼

» 猜你喜欢

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

亮亮1283

新虫 (小有名气)

这里忘了把要调用的函数给贴上去了,我在这里加上
function dN= dN_I1(Px,Nx)
Br=5*10^(-9);                     %辐射复合系数
B=1;                              %量子效率
R=0.3;                            %反射效率
h=6.63*10^(-34);                  %Plank常数
pi=3.14;
h1=h/(2*pi);
c=3*10^8;                         %光速

b=808*10^(-9);                    
E=h*c/b;                          %泵浦光光波对应的能量,单位是焦耳
Eg=1.43*1.6*10^(-19);             %禁带宽度

w1=E/h1;
wg=Eg/h1;
Chh=1.5*10^12;
Clh=7.8*10^11;
a=sqrt(w1-wg)*(Chh+Clh)/w1;               
x=Nx;
I=Px*(10^6);                       
dN=sqrt(I*a*B*(1-R)*exp(-a*x*10^(-4))/(Br*E));
2楼2012-10-25 17:28:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gilderf

金虫 (小有名气)

【答案】应助回帖

在安装程序里找到quadgk函数所在的文件夹,然后确定File-setpath或添加这个文件夹在matlab search path的列表里
3楼2012-11-02 01:15:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 亮亮1283 的主题更新
信息提示
请填处理意见