left riemann sum integration

20 次查看(过去 30 天)
so I have to make a numerical integrator using a few methods, just made a left Riemann sum calculator but I seem to be missing something
my code seems to be more accurate when I multiply my y array by dx in the for loop, but should I be multiplying dx at each iteration or at the very end?
also is it just my code or does Riemann sum require a lot of iteration to be accurate?
% code
clear;
clc;
x1 = 1; x2 = 3;
f=@(x) 2*x.^5 - 3*x.^2 - 5;
c=1;
n=500;
dx=(x2-x1)/n;
for i=0:dx:n-1
y(c)=dx*f(1+i*dx);
c=c+1;
s=sum(y)*dx
z=integral(f,x1,x2)
end

采纳的回答

Torsten
Torsten 2016-12-5
编辑:Torsten 2016-12-6
Try
x1 = 1;
x2 = 3;
f=@(x) 2*x.^5 - 3*x.^2 - 5;
n=500;
dx=(x2-x1)/n;
summe=0.0;
for i=1:500
summe=summe+f(x1+dx*(i-1));
end
summe=summe*dx;
z=integral(f,x1,x2);
Best wishes
Torsten.
  2 个评论
Sam Zavala
Sam Zavala 2021-4-5
I hope this is somewhat of a helpful answer but what we have been doing is build an array using a for loop and our time as telling us how many times to repeat it. Then you simply plot the array :)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by