Reimann sum and numerical integration
    7 次查看(过去 30 天)
  
       显示 更早的评论
    
I am trying to solve the functions below numerically using MATLAB


This is my code where I have used "integral" command to solve for the second integral, while I used Reimann sum to solve for the first. Take for example c=1/128.
    x= -1/128:0.0001:1/128;
    for j=1:length(x)
        den= @(y)  pi^2.* sqrt(1- (x(j)+y).^2) .* sqrt(1- y.^2);
        fun= @(y) 1./den(y);
        ymin= max(-0.999,-0.999-x(j));
        ymax= min(0.999,0.999-x(j));
        pdfX(j)=integral(fun,ymin,ymax);
    end
    sum1=0;
    for j=1:length(omegat)
       func1(j)=pdfX(j)*0.0001;
       sum1=sum1+func1(j);
    end
    F=sum1;
Do you think it is correct? Are there any other ways to make it more accurate?
Thanks
0 个评论
采纳的回答
  Star Strider
      
      
 2015-1-25
        I would likely use either trapz or cumtrapz to calculate ‘F’, but otherwise I see no problems.
3 个评论
  Star Strider
      
      
 2015-1-25
				F = trapz(x, pdfX)
Avoiding the singularity is likely a good move. I doubt that substituting -0.999 would produce significant error. You might want to experiment with (1-1E-8) instead if you are curious.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

