level 8
zuoyangkill
楼主
本人菜鸟一枚,MMA纯属没事瞎玩。昨天有同事想算一个积分,我自然乐意相助(因为感觉MMA解这样的问题不是很难),可是,算是算出来了,是否正确就不清楚了....因为有人用matlab 也计算了一个数值,与我的计算结果相差很大。因为自己对matlab一窍不通,MMA也没自信,因此,特意想让吧里的“吧友(玩友们)”帮助指导指导。

我的代码如下:
Clear["Global`*"]
f[x_] := 1/(\[Pi] (a + x) (b + x) ((a + x)/(
b + x) + (b + x)/Sqrt[(a + x)^2 - (b + x)^2]
Log[(a + x)/(b + x) + Sqrt[(a + x)^2/(b + x)^2 - 1]])) /. {a ->
0.68, b -> 0.33}
NIntegrate[f[x], {x, 0, 0.02}]
Clear["Global`*"]
计算结果:0.00974779
同事用的matlab 计算出来结果是 0.0078392
~~~~误差真的比较大啊!!
我开始以为是方法的问题 误差比较大
又用了复合梯形、吉普森、龙贝格之类的方法(当然是资料里找的),但误差并没有太高,

希望,吧里的吧友们能帮帮忙~~
,如果更有兼通Matlab的吧友,希望也帮忙计算一下,给予解惑~~~
2014年08月08日 00点08分
1

我的代码如下:Clear["Global`*"]
f[x_] := 1/(\[Pi] (a + x) (b + x) ((a + x)/(
b + x) + (b + x)/Sqrt[(a + x)^2 - (b + x)^2]
Log[(a + x)/(b + x) + Sqrt[(a + x)^2/(b + x)^2 - 1]])) /. {a ->
0.68, b -> 0.33}
NIntegrate[f[x], {x, 0, 0.02}]
Clear["Global`*"]
计算结果:0.00974779
同事用的matlab 计算出来结果是 0.0078392
~~~~误差真的比较大啊!!
我开始以为是方法的问题 误差比较大
又用了复合梯形、吉普森、龙贝格之类的方法(当然是资料里找的),但误差并没有太高,

希望,吧里的吧友们能帮帮忙~~


