필터 지우기
필터 지우기

Numerical solution of integral equation with parametric variable

조회 수: 15 (최근 30일)
Ann
Ann 2011년 4월 7일
편집: Pooyan 2014년 6월 9일
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.

채택된 답변

Jarrod Rivituso
Jarrod Rivituso 2011년 4월 7일
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
Pooyan
Pooyan 2014년 6월 9일
편집: Pooyan 2014년 6월 9일
How if L is a known function of t and b is an unknown function of t? Can anyone help me on that? and again I want to solve the equation for b(t). Let's assume L(t)= sin(t) and t=0:0.1:10;
Thanks.

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

추가 답변 (2개)

Matt Tearle
Matt Tearle 2011년 4월 8일
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.

Walter Roberson
Walter Roberson 2011년 4월 11일
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.

카테고리

Help CenterFile Exchange에서 Numeric Solvers에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by