How to make a composite trapezoidal rule have more than 1 iteration?
Afficher commentaires plus anciens
Hi I have written the function for composite trapezoidal rule and I'm required to calculate the volume by integrating 1/(1+x^2) from 0 to 1. I've found the volume (0.7845) but how do i show the number of iterations and absolute error only when the accuracy of the estimation has improved by a decimal place. I'm supposed to fprintf like the as shown below but i don't understand how to make the trapezoidal rule have more than one iteration??
Thanks I'm new to matlab
Iter Pts Vol_est Error
2 3 0.41333333 0.05545687 (1 DP)
5 6 0.41799014 0.00888872 (2 DP)
15 16 0.41878025 0.00098765 (3 DP)
48 49 0.41886937 0.00009645 (4 DP)
Réponses (1)
Walter Roberson
le 23 Déc 2015
0 votes
The trapazoidal rule gets more accurate as you sample more finely. The "Iterations" is the number of pieces the range is subdivided in to. 2 pieces takes 3 points, one at the beginning, one in the middle, one in the end. 3 pieces takes 4 points, one at the beginning, one 1/3 of the way, one 2/3 of the way, one at the end. Notice in the table that Pts is always 1 greater than Iter: that is due to this relationship. "Iter" == "Subdivisions"
4 commentaires
Natalia Wong
le 23 Déc 2015
Walter Roberson
le 23 Déc 2015
iter = 0;
error = inf;
while true
iter = iter + 1;
numpoint = iter + 1;
sampling_points = linspace(0, 1, numpoint);
do your approximation
calculate error
if there was enough of an improvement
display something
end
if the approximation is close enough that you are done
break
end
end
Natalia Wong
le 24 Déc 2015
Walter Roberson
le 11 Jan 2016
There is no built in function to determine if an error has improved by a decimal point.
I would point out, though, that if abs(current_error) <= abs(recorded_error)/10 then the current error is at least one decimal place better.
If you want to know how many decimal places current_error is, think about log10
Catégories
En savoir plus sur Image Arithmetic dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!