Borrar filtros
Borrar filtros

Approximation of integers and forming a table

2 visualizaciones (últimos 30 días)
Benjamin Trivers
Benjamin Trivers el 2 de Feb. de 2020
Respondida: John D'Errico el 2 de Feb. de 2020
function:
function y=func(x)
y=sqrt(4x^2);
end
The midpoint rule:
function y=Mid(a,b,N)
dx=(b-a)/N;
y=0;
for i=1:N
y=y+func(a+(i-0.5)*dx)*dx;
end
end
The trapezoidal rule:
function y=Trap(a,b,N)
dx=(b-a)/N;
y=0;
for i=1:N
y=y+0.5*(func(a+(i-1)*dx) + func(a+i*dx))*dx;
end
end
Simpson’s Rule:
function y=Simp(a,b,N)
dx=(b-a)/N;
y=0;
for i=1:N
y=y+(1/6)*(func(a+(i-1)*dx) + 4*func(a+(i-0.5)*dx) + func(a+i*dx))*dx;
end
end
Question:
IN MATLAB ONLY
Using these four functions, create a script to publish, writing a cell that uses N=10,20,40,80,160,320 to calculate the approximations to the integral below using each of the three rules. The script should calculate the values as well as the absolute errors for each rule and display them in a nicely formatted table, which should include the method, N, the approximate value, and the absolute error. To format the table, use
fprintf('\%s | \%s | \%s | \%s \\n','N','Method','Value','AbsError')
Can't figure out how to run a loop for each different N and to put it in a table
  3 comentarios
Benjamin Trivers
Benjamin Trivers el 2 de Feb. de 2020
its because i cant find my original post for this
John D'Errico
John D'Errico el 2 de Feb. de 2020
It was there. I've closed it now, because it added nothing, as a duplicate question.

Iniciar sesión para comentar.

Respuestas (1)

John D'Errico
John D'Errico el 2 de Feb. de 2020
Just use a loop. You already seem to know how to use a loop.
a = ... % whatever
b = ... % whatever
Nlevels = [10,20,40,80,160,320];
for nind = 1:numel(Nlevels);
N = Nlevels(nind);
ymid_ind = Mid(a,b,N);
fprintf(...)
end
You can do the same for each rule, looping over the various N.

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by