回 帖 发 新 帖 刷新版面

主题:求助,如何对多项式积分?

很弱的问题:如何对多项式进行定积分?
如:Y=-0.2187X^2+1.1882X+0.0333,求在(0,1)的定积分。
我用quad(Y,0,1)积分,怎么程序反应出错呢?

回复列表 (共3个回复)

沙发

数值解:
>> 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

板凳


非常感谢。[em2]

3 楼


还有一个不明白的地方。为什么我把你的这个命令编辑到程序里面去却显示出错呢?
程序如下:我是想编一个用二次函数拟合曲线来求基尼系数的程序。
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);%计算基尼系数%

我来回复

您尚未登录,请登录后再回复。点此登录或注册