作业帮 > 数学 > 作业

matlab求一个二重积分,最终给出一个数值就行,

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/07/31 19:52:42
matlab求一个二重积分,最终给出一个数值就行,
syms h z ;
gam=8;
u=0.33;
a=50;
b=50;
z1=z-h;
z2=z+h;
R1=(a^2+b^2+z1^2)^0.5;
R2=(a^2+b^2+z2^2)^0.5;
r1=(a^2+z1^2)^0.5;
r2=(a^2+z2^2)^0.5;
r3=(b^2+z1^2)^0.5;
r4=(b^2+z2^2)^0.5; %定义积分符号
m1=(gam/pi)*atan((a*b)/(z1*R1)); %第一部分
m2=(gam/pi)*atan((a*b)/(z2*R2)); %第二部分
m3=(gam*a*b*z1*(R1^2+z1^2))/(pi*(1-u)*2*r1^2*r3^2*R1); %第三部分
m4=(gam*a*b*(h+(3-4*u)*z)*(R2^2+z2^2))/(pi*(1-u)*2*r2^2*r4^2*R2); %第四部分
m5=(a*b*h*z*z2*(2*R2^2+r4^2))/(R2^3*r4^4); %第五部分
m6=(a*b*h*z*z2*(2*R2^2+r2^2))/(R2^3*r2^4); %第六部分
f=@(z,h)m1+m2+m3+m4+m5+m6; %被积分函数
F=dblquad(@(z,h)f,0,10),h),10,50); %求积分,先对h积分,后对z积分
matlab求一个二重积分,最终给出一个数值就行,
clc;
clear all;
syms h z;
gam=8;
u=0.33;
a=50;
b=50;
z1=z-h;
z2=z+h;
R1=(a^2+b^2+z1^2)^0.5;
R2=(a^2+b^2+z2^2)^0.5;
r1=(a^2+z1^2)^0.5;
r2=(a^2+z2^2)^0.5;
r3=(b^2+z1^2)^0.5;
r4=(b^2+z2^2)^0.5; %定义积分符号
m1=(gam/pi)*atan((a*b)/(z1*R1)); %第一部分
m2=(gam/pi)*atan((a*b)/(z2*R2)); %第二部分
m3=(gam*a*b*z1*(R1^2+z1^2))/(pi*(1-u)*2*r1^2*r3^2*R1); %第三部分
m4=(gam*a*b*(h+(3-4*u)*z)*(R2^2+z2^2))/(pi*(1-u)*2*r2^2*r4^2*R2); %第四部分
m5=(a*b*h*z*z2*(2*R2^2+r4^2))/(R2^3*r4^4); %第五部分
m6=(a*b*h*z*z2*(2*R2^2+r2^2))/(R2^3*r2^4); %第六部分
f=m1+m2+m3+m4+m5+m6; %被积分函数的符号变量
ff=eval(['@(h,z)',vectorize(char(f)),';']);%转为函数
F=dblquad(ff,0,10,10,50) %求积分,先对h积分,后对z积分
运行之后
F =
2.7928e+003
也就是2792.8
再问: 谢谢大神啊,这个积分能不能得到解释解呢?就是对h积分一次以后,能不能得到不含h却含有z的被积表达式?积分两次后是否能得到解释式呢
再答: 由于你的式子非常复杂,你说的对h积分是无法得到不含h却含有z的被积表达式,这个我已经试过了。积分两次也不能,得到的结果都是同时含有h和z的表达式。实际上,我们上面得到的h和z都积分的结果是数值解。