作业帮 > 综合 > 作业

求一个matlab数值积分,计算以下等式在三角形区域内A(0,0),B(1,0),C(1,1)的积分值(二重积分)

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/14 13:31:13
求一个matlab数值积分,计算以下等式在三角形区域内A(0,0),B(1,0),C(1,1)的积分值(二重积分)
其中A1 = 0.0625 B1 = -0.25 C1= 0,pi代表π,求一个matlab程序来实现它
求一个matlab数值积分,计算以下等式在三角形区域内A(0,0),B(1,0),C(1,1)的积分值(二重积分)
法一:
A1=0.0625;
B1=-0.25;
C1=0;
syms x y
eq=(A1+B1*x+C1*y).*(sin(2*pi*x).*sin(2*pi*y));
a1=int(eq,y,0,x);
a2=matlabFunction(a1);
a=quadl(a2,0,1)
法二:
A1=0.0625;
B1=-0.25;
C1=0;
syms x y
eq=(A1+B1*x+C1*y).*(sin(2*pi*x).*sin(2*pi*y));
a1=int(eq,y,0,x);
xx=0:0.01:1;
yy=subs(a1,x,xx);
a=trapz(xx,yy)
再问: 嗯..结果完全正确.稍微解释一下可以不? 满意答案肯定是你的了~
再答: 主要思想就是: 根据你给的区域得出y和x的关系式为:y=x,利用这个条件把二重积分转换为单重积分,单冲积分一般而言就比较简单。 不知道我说清楚没,有问题欢迎追问
再问: 法1中如果我改变区域范围为 (0,0.05)(0.05,0)(0.05,0.05)怎么改呢? 法2 是不是只需要改变xx的域 这个三角形区域很规则,如果我想改成不规则的从哪里入手, 比如三角形区域为 A(2,1),B(5,3),C(3,4) A1= 11, B1 = -1, C1 = -2, 这道题的满意答案肯定是你的了,追问加的分数也是你的..如果说不清楚加QQ 460512944. 非常感谢~
再答: 法1中如果我改变区域范围为 (0,0.05)(0.05,0)(0.05,0.05)怎么改呢? a=quadl(a2,0,0.05) 法2 是不是只需要改变xx的域 这种问题应该把区域画出来,一般情况下是要对区域进行划分,分别积分求和。对于你原来的那个规则区域,就不用划分了。 如果改成不规则的三角形区域,就如你所说的那个区域,就应该以过C点的垂线分成两个区域来积分,这种问题主要是理论要搞明白,软件只是一个工具。 建议你看一下高数书的二重积分这部分,下面是代码 %画积分区域,并划分区域 a=[2,1]; b=[5,3]; c=[3,4]; plot([a(1),b(1)],[a(2),b(2)]) hold on grid on plot([a(1),c(1)],[a(2),c(2)],'g') plot([b(1),c(1)],[b(2),c(2)],'k') plot([3,3],[5,0],'r') text(a(1),a(2)-0.2,'A') text(b(1),b(2)-0.2,'B') text(c(1),c(2)-0.2,'C') p1=poly2sym(polyfit([a(1),b(1)],[a(2),b(2)],1));%直线AB p2=poly2sym(polyfit([a(1),c(1)],[a(2),c(2)],1));%直线AC p3=poly2sym(polyfit([b(1),c(1)],[b(2),c(2)],1));%直线BC A1=0.0625; B1=-0.25; C1=0; syms x y eq=(A1+B1*x+C1*y).*(sin(2*pi*x).*sin(2*pi*y)); %区域AC a1=int(eq,y,p1,p2); a2=matlabFunction(a1); an1=quadl(a2,2,3) %区域BC a1=int(eq,y,p1,p3); a2=matlabFunction(a1); an2=quadl(a2,3,5) %求和 an=an1+an2