Mercurial > repos > public > sbplib
annotate convergencePlot.m @ 954:e8d356b8bc25 feature/utux2D
Close branch feature/utux2D
author | Jonatan Werpers <jonatan.werpers@it.uu.se> |
---|---|
date | Mon, 10 Dec 2018 08:29:41 +0000 |
parents | 38446922c32a |
children |
rev | line source |
---|---|
656
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function hand = convergencePlot(orders, h, e) |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 N = length(orders); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 fh = figure(); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 ah = axes(); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 ah.XScale = 'log'; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 ah.YScale = 'log'; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 hold on |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 ph = {}; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 phc = {}; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 legends = {}; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 for i = 1:N |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 ph{i} = loglog(h{i}, e{i}); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 phc{i} = plotConvergenceFit(orders{i}, h{i}, e{i}); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 ph{i}.LineStyle = 'none'; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 ph{i}.Marker = Color.solidMarkers{i}; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 ph{i}.MarkerSize = 12; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 ph{i}.Color = Color.colors{i}; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 ph{i}.MarkerFaceColor = Color.colors{i}; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 legends{i} = sprintf('$o = %d$', orders{i}); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 end |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 hold off |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 lh = legend([ph{:}], legends); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 lh.Interpreter = 'latex'; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 lh.Location = 'SouthEast'; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 for i = 1:N |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 uistack(phc{i}, 'bottom'); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 end |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 xlabel('$h$', 'interpreter', 'latex') |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 ylabel('Error', 'interpreter', 'latex') |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 % xlim([0.7e-2, 1e-1]) |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 % ylim([3e-5, 4]) |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 grid on |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 ah = gca(); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 ah.TickLabelInterpreter = 'latex'; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 setFontSize(fh); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 % if savePngs |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 % savepng(fh, 'fig/conv/conv',600) |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 % end |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 hand = struct(); |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 hand.fig = fh; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 hand.data = ph; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 hand.fits = phc; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 hand.legend = lh; |
38446922c32a
Add function for easily creating a convergence plot
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 end |