matlab三重积分计算方法,一般区域二重、三重积分MATLAB计算方法
原程序代码:function f=tripleintL1(u,n)a=3.25*10^(-10);t=1;U=8*t;x0=0.3551*2*pi/a;z0=0.18821*2*pi/a;v0=2*(a^3)/(sqrt(3)*((0.3551)^2)*0.1882);k=1.725*10^(-4);T=10;f=(3*v0/((2*pi)^3))*(quad(@(x)arrayfun(@(xx)
原程序代码:
function f=tripleintL1(u,n)
a=3.25*10^(-10);t=1;U=8*t;
x0=0.3551*2*pi/a;
z0=0.18821*2*pi/a;
v0=2*(a^3)/(sqrt(3)*((0.3551)^2)*0.1882);k=1.725*10^(-4);T=10;
f=(3*v0/((2*pi)^3))*(quad(@(x)arrayfun(@(xx)quad2d(@(y,z)(1./(exp((-2*t*(cos(y*a)...
+2*cos(y*a/2).*cos(sqrt(3)*xx*a/2)+cos((sqrt(3)/3)*xx*a+sqrt(6)*z*a/3)...
+2*cos(y*a/2).*cos(sqrt(3)*xx*a/6-sqrt(6)*z*a/3))+U*n-u)./(k*T))+1)...
+1./(exp((-2*t*(cos(y*a)+2*cos(y*a/2).*cos(sqrt(3)*xx*a/2)+cos((sqrt(3)/3)*xx*a+sqrt(6)*z*a/3)...
+2*cos(y*a/2).*cos(sqrt(3)*xx*a/6-sqrt(6)*z*a/3))...
+U*(6-n)-u)./(k*T))+1)),0,sqrt(3)*(xx-x0),0,z0),x),x0,3*x0/2));
end
被积函数是:
1./(exp((-2*t*(cos(y*a)+2*cos(y*a/2).*cos(sqrt(3)*xx*a/2)+cos((sqrt(3)/3)*xx*a+sqrt(6)*z*a/3)+2*cos(y*a/2).*cos(sqrt(3)*xx*a/6-sqrt(6)*z*a/3))+U*n-u)./(k*T))+1)...
+1./(exp((-2*t*(cos(y*a)+2*cos(y*a/2).*cos(sqrt(3)*xx*a/2)+cos((sqrt(3)/3)*xx*a+sqrt(6)*z*a/3)+2*cos(y*a/2).*cos(sqrt(3)*xx*a/6-sqrt(6)*z*a/3))+U*(6-n)-u)./(k*T))+1)
这里u,n是参数
积分范围:y: (0,0,sqrt(3)*(x-x0),) x: (x0,3*x0/2) z: (0,z0)
其中a=3.25*10^(-10);
x0=0.3551*2*pi/a;
z0=0.18821*2*pi/a;
我用的版本是R2009b
运行时不报错 但有warning,具体如下:
Warning: Reached the maximum number of function
evaluations (2000). The result fails the global error
test. 抱歉我不知道您说的出错代码是什么意思,我把原程序拷在上面,您帮忙看一下 好吗 多谢了
[本帖最后由 ljp1987 于 2010-4-3 16:11 编辑]

2010-4-3 16:11 上传
点击文件名下载附件
642 Bytes, 下载次数: 5
m文件
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)