I want use Simpson numerical integration method
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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!
0 Commenti
Risposta accettata
Andrew Newell
il 6 Giu 2013
Modificato: Andrew Newell
il 6 Giu 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
Più risposte (1)
Roger Stafford
il 6 Giu 2013
Modificato: Roger Stafford
il 6 Giu 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.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!