Solving Integral for an Unknown Interval
12 views (last 30 days)
Show older comments
Is it possible to solve an integral for an interval/ limit of integration without the symbolic toolbox? My problem is of the same form as:(∫f(x)dx)/Z on the interval[-a,a]is equal to (∫g(x)dx)/Y on the interval [-c,c], where Z, a, and Y are known values and c is the unknown variable.
0 Comments
Accepted Answer
Friedrich
on 18 Jul 2011
Hi,
so doing something like this:
function out = test_func( c )
out = quad(@lhs,-.25,.25) ./10 - quad(@rhs,-c,c)./6;
function out_lhs = lhs(x)
out_lhs = sqrt(5.^2 - x.^2);
end
function out_rhs = rhs(x)
out_rhs = sqrt(2.5^2 - x.^2);
end
end
And call it through:
fzero(@test_func,1)
0 Comments
More Answers (2)
Friedrich
on 18 Jul 2011
Hi,
no. You can't get a symbolic solution without the symbolic math toolbox. When you know c you can use the quad function:
4 Comments
Friedrich
on 18 Jul 2011
Ah okay. Not sure if this will work fine but you could use the fzero function and search the root of (∫sqrt(5^2-x^2)dx)/10 [-25,.25] - (∫sqrt(2.5^2-x^2)dx)/6 [-c,c] , where you solve the integradl with quad
Bjorn Gustavsson
on 18 Jul 2011
One super-tool you should take a long look at is the Chebfun tools: http://www2.maths.ox.ac.uk/chebfun/
and my Q-D stab would be something like this:
I_of_f = quadgk(f(x)/Z,-a,a);
c = @(a,Z,Y,f,g) fminsearch(@(c) (I_of_f-quadgk(@(x) g(x)/Y,-c,c))^2,1)
I think that should work...
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!