Help with Numerical integration (convert symbolic expression to double)

1 view (last 30 days)
Hello MATLAB community
I am trying to solve the folowing integral
Here is my code
However MATLAB throws an error
Error using integralCalc/finalInputChecks (line 511)
Input function must return 'double' or 'single' values. Found
'sym'.
N=10;
S=[20 25 18 29 17 28 23 20 21 30];
normA = S - min(S(:));
normA = normA ./ max(normA(:));
A=normA;
A(5)=0.1;
syms k x
p=subs(k.^(x-1),k,[A(1:N)]);
L=(prod(p));
fun3=@(x)x.^(N-1).*[L];
q2=(integral(fun3,0,inf));
  3 Comments
AAQIB PEERZADA
AAQIB PEERZADA on 3 Jun 2020
I didn't see your response when I was updating my question. It could be because I didn't referesh the webpage. Thanks for your help though.

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 3 Jun 2020
N=10;
S=[20 25 18 29 17 28 23 20 21 30];
normA = S - min(S(:));
normA = normA ./ max(normA(:));
A=normA;
A(5)=0.1;
syms k x
p=subs(k.^(x-1),k,A(1:N));
L=prod(p);
fun3=matlabFunction(x.^(N-1).*L);
q2=integral(fun3,0,inf,'arrayvalued',1)

More Answers (0)

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!