- 积分
- 0
- 注册时间
- 2014-4-16
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2015-3-26 11:08:00
|
显示全部楼层
来自 湖北武汉
用数值积分可以求出来,结果有点复杂啊,不利于下一步的运算,有没有其他方法呢?
比如用这个复合梯形求积公式:
function s = trapr1(f,a,b,n)
h=(b-a)/n;
s=0;
for k=1:(n-1)
x=a+h*k;
s=s+feval('f',x);
end
s=h*(feval('f',a)+feval('f',b))/2+h*s;
————————————————
function y = f(x)
syms sita t k x;
y=sqrt(1-((2*t/k)^2)*((x/sita)^2))*cos(x);
end
—————————————————
trapr1('f',0,sita,n) 这里n取 20 的话,结果:
(sita*(cos(sita)*(1 - (4*t^2)/k^2)^(1/2) + 1))/40 + (sita*(cos(sita/2)*(1 - t^2/k^2)^(1/2) + cos(sita/4)*(1 - t^2/(4*k^2))^(1/2) + cos((3*sita)/4)*(1 - (9*t^2)/(4*k^2))^(1/2) + cos(sita/5)*(1 - (4*t^2)/(25*k^2))^(1/2) + cos(sita/10)*(1 - t^2/(25*k^2))^(1/2) + cos((3*sita)/10)*(1 - (9*t^2)/(25*k^2))^(1/2) + cos((2*sita)/5)*(1 - (16*t^2)/(25*k^2))^(1/2) + cos((3*sita)/5)*(1 - (36*t^2)/(25*k^2))^(1/2) + cos((7*sita)/10)*(1 - (49*t^2)/(25*k^2))^(1/2) + cos((4*sita)/5)*(1 - (64*t^2)/(25*k^2))^(1/2) + cos(sita/20)*(1 - t^2/(100*k^2))^(1/2) + cos((9*sita)/10)*(1 - (81*t^2)/(25*k^2))^(1/2) + cos((3*sita)/20)*(1 - (9*t^2)/(100*k^2))^(1/2) + cos((7*sita)/20)*(1 - (49*t^2)/(100*k^2))^(1/2) + cos((9*sita)/20)*(1 - (81*t^2)/(100*k^2))^(1/2) + cos((11*sita)/20)*(1 - (121*t^2)/(100*k^2))^(1/2) + cos((13*sita)/20)*(1 - (169*t^2)/(100*k^2))^(1/2) + cos((17*sita)/20)*(1 - (289*t^2)/(100*k^2))^(1/2) + cos((19*sita)/20)*(1 - (361*t^2)/(100*k^2))^(1/2)))/20
看到都头晕啊。。 n取值小了的话,又怕结果不准。。 |
|