I want use Simpson numerical integration method

2 views (last 30 days)
I try to integral below function. But it makes some error when I try.
syms x, T, Ef, k
Q = x.^k/(1+exp(-(x-Ef)/T));
int ( Q, x, 0.2, 1);
it makes error they cannot find something.
------------------------------------------------
Finally, I want to make below function
Function [K] = ff(a,b,c);
k=a; Ef =b, T = c;
Q = x.^k/(1+exp(-(x-Ef)/T));
k = int ( Q, x, 0.2, 1);
Also, if it is possible, numerical integral method is fine for me. I think I can use Simpson numerical integration but please give me some hints to use it.
Thank you!

Accepted Answer

Andrew Newell
Andrew Newell on 6 Jun 2013
Edited: Andrew Newell on 6 Jun 2013
If you want your integral to be a function of all the parameters, you could define the following:
function y = fintegral(k,Ef,T,lb,ub)
f = @(x) x.^k./(1+exp(-(x-Ef)/T));
y = quadl ( f, lb, ub);
Then a typical call would look like this:
k = 1; Ef = 2; T = 3; lb = 0.2; ub = 1;
fintegral(k,Ef,T,lb,ub)
ans =
0.1884

More Answers (1)

Roger Stafford
Roger Stafford on 6 Jun 2013
Edited: Roger Stafford on 6 Jun 2013
The 'int' function probably could not find an explicit formula for the integral of Q in terms of general k, Ef, and T variables. That is easy to happen even for relatively simple integrands.
Since you possess a formula for your integrand, I see no need for using the Simpson method which uses a fixed discrete set of data. It would be better to use one of the numerical quadrature functions, preferably the new 'integral' function. Bear in mind that to do, so you need to provide specific numerical values to each of the parameters, k, Ef, and T (a, b, and c) for each value of Q you calculate.
Note that you can reduce your problem to two parameters:
Q(x;k,Ef,T) = T^k * y^k/(1+exp(y-k2))
where y = x/T and k2 - Ef/T, so that you would have only the two parameters k and k2 to contend with in the integration process.

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!