Computing an specific numerical Integral

1 次查看(过去 30 天)
Hi,
Can anyone help me in computing the following integral?
Thanks
integral.jpg
  2 个评论
Coo Boo
Coo Boo 2020-2-8
编辑:Coo Boo 2020-2-8
Is it really so simple that it seems to be a homework? No, it's not really a homework. It is actually the first step in a research work. It is a fitness function that I have to optimize it through heuristic methods considering weights (wi) as the optimization variables.

请先登录,再进行评论。

采纳的回答

David Hill
David Hill 2020-2-8
You could just expand the sumations since there are only 5.
fun=@(x)(.5*(1-x).^4+6*x.*(1-x).^3+4.5*x.^2.*(1-x).^2+4*x.^3.*(1-x)+.5*x.^4).*log(.5*(1-x).^4+6*x.*(1-x).^3+4.5*x.^2.*(1-x).^2+4*x.^3.*(1-x)+.5*x.^4);
y=integral(fun,0,1);
  3 个评论
David Hill
David Hill 2020-2-8
You could play with somethng like this.
w=[.1 .3 .3 .2 .1];%size w will have to increase with n
fun=@(x,n)sum(reshape(cell2mat(arrayfun(@(y)w(y)*factorial(n)/factorial(y-1)/factorial(n-y).*x.^(y-1).*(1-x).^(n-y),1:n,'UniformOutput',false)),length(x),[]),2);
z=integral(@(x)fun(x,5).*log(fun(x,5)),0,1,'ArrayValued',true);%n=5

请先登录,再进行评论。

更多回答(1 个)

Stijn Haenen
Stijn Haenen 2020-2-8
I think you should use a Riemann integral to estimate the answer of this integral.
Or maybe wolfram Mathematica can solve it for you.
  1 个评论
Coo Boo
Coo Boo 2020-2-8
Thanks. But I need it in Matlab. Do you have any idea for solving it in Matlab with a 'for' loop or vectorized summation for any arbitrary n, e.g., n=100?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by