Hi,
Can anyone help me in computing the following integral?
Thanks
integral.jpg

댓글 수: 2

John D'Errico
John D'Errico 2020년 2월 8일
Homework?
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일

0 개 추천

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

Coo Boo
Coo Boo 2020년 2월 8일
Thanks so much.
1. How can I use a 'for' loop or vectorized summation for any arbitrary n, e.g., n=100?
2. Why did you use '.*' and '.^' instead of '*' and '^'?
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
Coo Boo
Coo Boo 2020년 2월 8일
편집: Coo Boo 2020년 2월 8일
Thanks for your help.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stijn Haenen
Stijn Haenen 2020년 2월 8일

0 개 추천

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?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

제품

릴리스

R2018b

질문:

2020년 2월 8일

편집:

2020년 2월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by