Solving Integral for an Unknown Interval
显示 更早的评论
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.
采纳的回答
更多回答(2 个)
Friedrich
2011-7-18
0 个投票
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 个评论
John
2011-7-18
Friedrich
2011-7-18
Why not calculate it manually and than hardcode it. Or do your functions change during runtime?
John
2011-7-18
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...
类别
在 帮助中心 和 File Exchange 中查找有关 Common Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!