求matlab大神,matlab画指数积分函数 Ei(x),为了得到下图的图像,公式也在附图,λ=52,a=1.50*10^-5
1个回答
展开全部
为了得到所需的图像,我们可以这样来做:
1、创建时间向量组,即
t=[0.1,1,10,100,1000];
2、运用for循环语句,来计算t为某一数值时的T,r值,并绘制其图像。即
for i=1:5
q=1;
T0=0;
lambda=52;
a=1.5e-5;
r=0:0.001:0.05;
T=T0-q/(4*pi*lambda).*ei(-r.^2/(4*a*t(i)));
plot(r,T),hold on
end
3、标注坐标轴名称和图例名称
legend('t=0.1s','t=1s','t=10s','t=100s','t=1000s')
xlabel('Radius [m]'),ylabel('Temperature variation [K]')
执行结果
更多追问追答
追答
1、ei(x)是可以运用的。
2、后面的积分,可以用数值积分来做,如integral()函数或trapz()函数
追问
不好意思,我不太明白。因为上面公式的积分也是属于n阶指数积分,您的意思是用数值积分,比如integral只对mu进行积分吗?可是这个函数包含了多个参数,该怎么处理呢?可以直接用ei( f(x,t))这样吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询