/ tutorials / laplace-dirichlet
Sign in
tutorials / laplace-dirichlet
laplace-dirichlet / src / matlab / lp_orders.m
14 lines · 484 BBlameHistoryRaw
1function q = lp_orders(e, n)
2% LP_ORDERS Observed convergence order between successive refinements.
3%
4% q(k) = log(e(k-1)/e(k)) / log(n(k)/n(k-1)), and NaN wherever the ratio is not
5% a positive finite number — an error of exactly zero, or a resolution a method
6% skipped, would otherwise put an Inf or a complex value in the table.
7q = NaN(size(e));
8for k = 2:numel(e)
9 r = e(k-1) / e(k);
10 if isfinite(r) && r > 0
11 q(k) = log(r) / log(n(k) / n(k-1));
12 end
13end
14end
↑↓ move↵openescclose