Numerical solution of integral equation with parametric variable
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ann
am 7 Apr. 2011
Bearbeitet: Pooyan
am 9 Jun. 2014
Hello!
Please, how can I solve integral equation in Matlab
L = integral (f(b,t)) dt for third variable (parametric variable b)
Limits of integral are t0, t1.
Akzeptierte Antwort
Jarrod Rivituso
am 7 Apr. 2011
OK, I'm gonna assume you want to do it numerically. Check out this (warning, it gets a little crazy with the function handles):
function solveIntegralForB
bfound = fsolve(@func2minimize,2)
function output = func2minimize(b)
t0 = 0;
t1 = 3;
L = 50;
output = (L - quad(@myFunc,t0,t1))^2;
function f = myFunc(t)
f = exp(b*t);
end
end
end
Essentially, what it does is use the quad function to perform an integration for some value of b. Additionally, it uses the fsolve function to then minimize the "func2minimize" function, which performs the integral for some value of b and checks it against my desired solution.
Here, I've assumed a simple function (exp(b*t)) as f, but you could see how it could be changed. Of course, this is an iterative solution, so there's no guarantee of it finding a solution for all functions f.
Hope this helps!
1 Kommentar
Weitere Antworten (2)
Matt Tearle
am 8 Apr. 2011
A variation on Jarrod's approach, using function handles (because everyone loves function handles):
myFunc = @(t,b) exp(t*b); % or whatever
t0 = 0;
t1 = 3;
L = 50;
f = @(b) quad(@(t) myFunc(t,b),t0,t1);
bsolve = fzero(f,2);
Or fsolve instead of fzero if you have Optimization Toolbox.
0 Kommentare
Walter Roberson
am 11 Apr. 2011
If you have the symbolic toolbox,
syms x b
solve(int(f(x,b),x,t0,t1)-L,b)
In theory if it can be solved symbolically it will do so, and if not then MuPad should switch to numeric integrations, I think.
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!