integral with (sin x)^4

3 次查看(过去 30 天)
zamri
zamri 2013-7-12
Hi, i'd appreciate if anybody could help.
I am trying to integrate this function from 0 to 0.2985
x = linspace(0,0.2985,1000);
y=1/sqrt((1-power(sin(x),4)\0.0865^2));
simps(x,y)
simps(x,y) is a another function that will calculate the integral of y over x. For some reason, when I change the division of linspace (say from 1000 to 500), the result of the simps(x,y) changes significantly.
I think there is something wrong with the line x = linspace(0,0.2985,1000); I don't know to change that line to what.
function simps(x,y) is verified correct by integrating other functions already. It is integration by simpson rule. I have tried double, quad, quad8 but unsuccessful.

回答(1 个)

Mike Hosea
Mike Hosea 2013-7-12
You have two errors. One, you need 1./sqrt instead of 1/sqrt. Second, you have \0.0865^2 instead of /0.0865^2. Here is how to define an anonymous function.
>> f=@(x)1./sqrt((1-power(sin(x),4)/0.0865^2));
>> integral(f,0,0.2985)
ans =
0.390930321219332
  3 个评论
zamri
zamri 2013-7-12
ops, I'm sorry, I suppose I'll just try it in 2012a. thanks Sir.
Mike Hosea
Mike Hosea 2013-7-12
You can substitute quad or quadl there in an earlier release. I don't like to use these functions in my answers because QUAD and QUADL are now deprecated. You can also use QUADGK.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by