登录论坛

查看完整版本 : [MATLAB数学相关] 积分上限是变量的积分如何实现


200728014825028
2009-06-07, 17:10
我在做一个模拟的时候遇到这样的问题:
x=0:0.001:0.6;
Nd=1e19*exp((-(0.6-x).^2)/0.05);
plot(x,Nd);
ni2=1e20;
kt=0.026;
p1=exp(1.4*1e-2*log(Nd./(1.4*1e17))/kt);
p0=(ni2./Nd).*p1;
Dp=12.5./(1+(Nd./10^17).^(3/5))+1;
f=1./(Dp.*p0)
下面要做的就是对f进行积分,积分下限是0,上限是t,即积分得到一个关于t的函数,可是我实在不知道如何实现,希望高手能指点下我这个小菜鸟,谢谢~~

TTT_IOU
2009-06-07, 18:43
syms t %%%积分时定义积分变量,如t
ft=int(f,0,t);%%%对得到的f进行积分,下限0,上限t
fft=vpa(ft,5);%%%简化积分后的表达式,使表达式中的数值项由sym型转化为double型
望有帮助!!!

200728014825028
2009-06-07, 21:14
谢谢你的建议,不过我没太懂你的意思,能不能写的详细点,谢谢!!!

200728014825028
2009-06-08, 09:37
再次谢谢你,可是我调试了下,还是不行,是不是因为被积分的函数太复杂的缘故,积分函数中含有exp(-x^2)项,还是我太菜了,麻烦高手再指点下,谢谢了~~