longe329 发表于 2007-9-27 18:43

大家看这个数值积分哪里错掉了?

大家看这个程序为什么运行出来是复数啊,原题是这样的,我用数值积分的方法,编程如下:
function
y=fun(r,zBanj,cBanj)

y=acos((zBanj.^2+r.^2-(cBanj/2).^2)/(2*zBanj*r));



matlab命令窗口调用程序如下:
R=87;d=92;

XX=R-d/2;
SX=R+d/2;
zBanj=R;

cBanj=d;



I1=2*quadl(@(r)fun(r,zBanj,cBanj),XX,SX);


不知道为什么,希望大家能帮忙解答一下,谢谢啦
原题如下图

eight 发表于 2007-9-27 18:58

原帖由 longe329 于 2007-9-27 18:43 发表 http://www.chinavib.com/forum/images/common/back.gif
大家看这个程序为什么运行出来是复数啊,原题是这样的,我用数值积分的方法,编程如下:
function
y=fun(r,zBanj,cBanj)

y=acos((zBanj.^2+r.^2-(cBanj/2).^2)/(2*zBanj*r));



matlab命令窗口调用程 ...

本版有大量相关帖子,请先自行阅读一下
页: [1]
查看完整版本: 大家看这个数值积分哪里错掉了?