数学建模社区-数学中国
标题:
菜鸟再求助,关于用sum做积分,被积函数中有x
[打印本页]
作者:
半日妖
时间:
2012-5-17 19:54
标题:
菜鸟再求助,关于用sum做积分,被积函数中有x
本帖最后由 半日妖 于 2012-5-18 00:18 编辑
x=0:0.001:3;
da=0.00012;
a=0:da:0.36;J0=bessel(0,x);
a1=cosh(7.85.*x.*cos(a)).*J0.*(7.85.*x.*sin(a)).*cos(a).*sin(a);
a2=sinh(7.85.*x.*cos(a)).*J0.*(7.85.*x.*sin(a)).*cos(a).*sin(a);
A1=sum(a1(1:length(a)-1)).*da;
A2=sum(a2(1:length(a)-1)).*da;
y=74185.14.*(A1+A2);
想要生成这个函数的函数图
出来的结果是个和x无关的常数,一个伟大的同学发现了问题,它每次都在对同一个x算的。如果输入不同的x值可以算出不同的y,但一个数组就不行了。
用了循环之后得到了大概不对的图像(和自己手动输入x值时得到的y不符合的)……
n=length(x);
for i=1:n;
J0(i)=bessel(0,x(i));
da=0.00012;
a=0:da:0.36;
a1=cosh(7.85.*x(i).*cos(a)).*J0(i).*(7.85.*x(i).*sin(a)).*cos(a).*sin(a);
a2=sinh(7.85.*x(i).*cos(a)).*J0(i).*(7.85.*x(i).*sin(a)).*cos(a).*sin(a);
A1(i)=sum(a1(1:length(a)-1))*da;
A2(i)=sum(a2(1:length(a)-1))*da;
y(i)=74185.14*(A1(i)+A2(i));
end
plot(x,y)
求助……请告诉我sum算积分怎么样才能对不是一直算相同的x……或者循环不能用吗?写错了吗?
顺便,换过其他的方法算积分,但是报错报得很疯狂……相比较而已还是sum好一点……
作者:
半日妖
时间:
2012-5-18 17:14
求高手帮忙……哪怕简单说两句……给个思路……
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5