integral with (sin x)^4
3 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
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 个评论
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 Center 和 File 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!