原帖由 xjzuo 于 2007-9-6 15:37 发表
1.符号计算中,为了节约时间,可以利用"牛顿-莱布尼兹定理", 先求出积分后的函数,再计算积分值.---针对上面代码.
2.本问题用数值方法可能更好, 而且适用于一般情形. 按照本论坛一些帖子的做法,自己稍微思考 ...
多谢版主指点。按照版主教的方法改了下代码,终于得出数了。:@D :victory:
- clear ;clc;
- syms x y z
- f=(1-x.^2).^(1/2);
- dfdx=diff(f);
- aa=int(5e13*cosh(dfdx*z/1e6),z);
- bb=int(5e13*sinh(dfdx*z/1e6),z);
- A=subs(aa,z,(1e-7))-subs(aa,z,0)
- B=subs(bb,z,(1e-7))-subs(bb,z,0)
- C=(0.04*A-B*(A^2-B^2+0.04^2)^0.5)/(A^2-B^2)
- D=inline(eval([char(vectorize(dfdx)),'.*(1e-7)+1e6*sinh(',char(vectorize(C)),')']))
- E=quadl(D,-(1e-4)+eps,1e-4)
- F=0.016*E
复制代码
结果:
E =
1.6000e-006
F =
2.5600e-008
再次感谢版主对我的无私帮助!:handshake |