主题:求助,如何对多项式积分?
seapr
[专家分:0] 发布于 2008-04-20 23:18:00
很弱的问题:如何对多项式进行定积分?
如:Y=-0.2187X^2+1.1882X+0.0333,求在(0,1)的定积分。
我用quad(Y,0,1)积分,怎么程序反应出错呢?
回复列表 (共3个回复)
沙发
yangjia_4596581 [专家分:30] 发布于 2008-04-21 23:41:00
数值解:
>> fun=inline('-0.2187.*x.^2+1.1882.*x+0.0333','x');
>> q=quad(fun,0,1)
q =
0.5545
解析解:
>> syms x;
>> int(-0.2187*x^2+1.1882*x+0.0333,x,0,1)
ans =
1109/2000
板凳
seapr [专家分:0] 发布于 2008-05-08 20:40:00
非常感谢。[em2]
3 楼
seapr [专家分:0] 发布于 2008-05-08 23:05:00
还有一个不明白的地方。为什么我把你的这个命令编辑到程序里面去却显示出错呢?
程序如下:我是想编一个用二次函数拟合曲线来求基尼系数的程序。
i=[0.3641 0.0746 0.0899 0.0741 0.0068 0.0916 0.0268 0.0514 0.0346 0.0665 0.0399 0.0258 0.0177 0.0362
];
g=[0.2965 0.0665 0.0901 0.0782 0.0074 0.1004 0.0294 0.0572 0.0391 0.0766 0.0480 0.0352 0.0246 0.0508
];
m=length(i);
y(1)=i(1);
x(1)=g(1);
for n=2:m
y(n)=i(n)+y(n-1);
x(n)=g(n)+x(n-1);
end %进行累计计算%
polytool(x,y,2);
p=polyfit(x,y,2);%用二次函数拟合洛仑兹曲线,到这一步没有出错%
fun=inline('p(1).*a.^2+p(2).*a+p(3)','a');%定义出二次函数,程序到这里出错%
q=quad(fun,0,1);%对二次函数积分%
z=2*(q-0.5);%计算基尼系数%
我来回复