how to find the numerical integration in matlab

4 次查看(过去 30 天)
Input: syms a b phi h=int((sin(phi)/(sqrt(a+(b*sin(phi))))),phi) h1=vpa(h)
Ans: Warning: Explicit integral could not be found.
h =
int(sin(phi)/(a + b*sin(phi))^(1/2), phi)
h1 =
numeric::int(sin(phi)/(a + b*sin(phi))^(1/2), phi)
Help me to find out the mistake and tel me how to find out the numerical integration.
  2 个评论
Roger Stafford
Roger Stafford 2014-2-3
Your integral can be expressed in terms of a combination of elliptic integrals of the first and second kinds. Perhaps it would help in obtaining a symbolic expression to this effect if you declared symbols for its upper and lower limits of integration.
As Wayne has pointed out, with or without such a symbolic expression, to obtain a numerical value for the integral you will need to give specific numerical values to both these limits and to the coefficients a and b.
Prashanth Chandrasekar
I have the answer for the above integral in a journal,it contains a series of elliptic integrals.But i cant figure out how to get these elliptic integrals?

请先登录,再进行评论。

回答(2 个)

Wayne King
Wayne King 2014-2-3
编辑:Wayne King 2014-2-3
What version of MATLAB are you using? There is an integral() function for numerical integration.
Of course, you'll need values for a and b and limits of integration
a = 1;
b = 2;
f = @(x) sin(x)./sqrt(a+b*sin(x));
integral(f,0,2);

Wayne King
Wayne King 2014-2-3
a = 1;
b = 2;
f = @(x) sin(x)./sqrt(a+b*sin(x));
quad(f,0,2);
  3 个评论
Prashanth Chandrasekar
can we specify the various intervals between 0-2 to get different values for different values of x?in the above quad func?
Wayne King
Wayne King 2014-2-4
yes, if you are changing the limits of integration, you get a different value for the definite integral.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by