Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2012-03-16
年龄: 38
帖子: 3
声望力: 0 ![]() |
![]()
大家好,我编了一个程序,目的大体是:求P在(x,y)上的分布,但P还是YZ面上矩形区域的积分,在程序中,x,y取值范围是[0 5],YZ面积分区域为a[0 5],c[0 3]。我表述的不太清楚,我把写的程序贴下来,大家看看。
---------------------------------------------------------------- %(cosa.^m)=(((3-c)./sqrt((a-2.5).^2+2.5^2+(c-3).^2)).^m) %(cosb2)=(((a-2.5).*(x-a)-2.5*y+(c-3).*(.85-c))./(sqrt((a-2.5).^2+2.5^2+(c-3).^2).*sqrt((x-a).^2+y.^2+(.85-c).^2))) %(cosd)=((.85-c)./sqrt((x-a).^2+y.^2+(.85-c).^2)) %下面for循环中的积分是p=积分号(cosa.^m)*(cosb2)*(cosd)/(R1*R2)dadc, for x=0:.5:5 for y=0:.5:5 P=dblquad(@(a,c)((((3-c)./sqrt((a-2.5).^2+2.5^2+(c-3).^2)).^m).*(((a-2.5).*(x-a)-2.5*y+(c-3).*(.85-c))./... (sqrt((a-2.5).^2+2.5^2+(c-3).^2).*sqrt((x-a).^2+y^2+(.85-c).^2))).*((.85-c)./... sqrt((x-a).^2+y^2+(.85-c).^2)))./(((a-2.5).^2+2.5^2+(c-3).^2).*((x-a).^2+y^2+(.85-c).^2)),0,5,0,3); end end plot3(x,y,P) ------------------------------------------------------------------------- dblquad中的函数表达式很长,但有@(a,b)不知道怎么能把那个很长的式子变短,不知道函数调用可以不?画图用plot3不知道对不对。我写的程序也比较乱,应该有更简洁的编写方法,希望大家不吝赐教,谢谢大家! |
![]() |
![]() |
![]() |
#2 |
游客
帖子: n/a
|
![]()
早晨,顶一下!再顶一下!求答案!谢啦~~
|
![]() |