Solving Integral for an Unknown Interval
조회 수: 12 (최근 30일)
이전 댓글 표시
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
채택된 답변
Friedrich
2011년 7월 18일
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
추가 답변 (2개)
Friedrich
2011년 7월 18일
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
Friedrich
2011년 7월 18일
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
2011년 7월 18일
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
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!