Mercurial > repos > public > sbplib
comparison +sbp/ordinary12.m @ 255:df3cc9c5dffc operator_remake
Added ordinary 12th order accurate, with D1*D1 as 2nd derivative.
author | Martin Almquist <martin.almquist@it.uu.se> |
---|---|
date | Wed, 07 Sep 2016 15:54:41 +0200 |
parents | |
children | 5714fda0db85 |
comparison
equal
deleted
inserted
replaced
254:9c97eb0d61bf | 255:df3cc9c5dffc |
---|---|
1 function [H, HI, D1, D2, e_1, e_m, M, Q, S_1, S_m] = ordinary12(m,h) | |
2 | |
3 % D2 = D1*D1, wide! | |
4 | |
5 H=diag(ones(m,1),0); | |
6 H(1:15,1:15)=diag([2.880607858916397e-01,... | |
7 1.560376162339675e+00,... | |
8 2.403139445479289e-01,... | |
9 1.531292896754208e+00,... | |
10 1.245107365551116e+00,... | |
11 2.403139445479289e-01,... | |
12 1.218498444843265e+00,... | |
13 1.730095305997005e+00,... | |
14 2.403139445479289e-01,... | |
15 8.526541262207157e-01,... | |
16 1.839467231356713e+00,... | |
17 2.403139445479289e-01,... | |
18 1.350211172437031e+00,... | |
19 9.139950953929686e-01,... | |
20 1.008985635023947e+00]); | |
21 | |
22 H(m-14:m,m-14:m)=rot90(H(1:15,1:15),2); | |
23 | |
24 H=H*h; | |
25 HI = inv(H); | |
26 | |
27 a1 = 6/7; a2 = -15/56; a3 = 5/63; a4 = -1/56; a5 = 1/385; a6 = -1/5544; | |
28 | |
29 D1=a6*(diag(ones(m-6,1),6)-diag(ones(m-6,1),-6))+... | |
30 a5*(diag(ones(m-5,1),5)-diag(ones(m-5,1),-5))+... | |
31 a4*(diag(ones(m-4,1),4)-diag(ones(m-4,1),-4))+... | |
32 a3*(diag(ones(m-3,1),3)-diag(ones(m-3,1),-3))+... | |
33 a2*(diag(ones(m-2,1),2)-diag(ones(m-2,1),-2))+... | |
34 a1*(diag(ones(m-1,1),1)-diag(ones(m-1,1),-1)); | |
35 | |
36 | |
37 D1(1, 1)= -1.735744761135539e+00; | |
38 D1(1 , 2 )= 2.307154400697361e+00; | |
39 D1(1, 3)= -8.049541548921420e-02; | |
40 D1(1 , 4)= -5.054323197649326e-01; | |
41 D1(1 , 5 )= -2.276940626773821e-01; | |
42 D1(1 , 6 )= -4.332046513157440e-03; | |
43 D1(1 , 7 )= 1.922516500571120e-01; | |
44 D1(1 , 8 )= 1.841426475531248e-01; | |
45 D1(1 , 9 )= 4.299540500353117e-02; | |
46 D1(1 , 10 )= -8.425321510779284e-02; | |
47 D1(1 , 11 )= -1.783432239793461e-01; | |
48 D1(1 , 12 )= -9.098340284317097e-02; | |
49 D1(1 , 13 )= 2.989603414709966e-01; | |
50 D1(1 , 14 )= -1.262666707971657e-01; | |
51 D1(1 , 15 )= 8.040673525575449e-03; | |
52 D1(2 , 1 )= -4.259233932680148e-01; | |
53 D1(2 , 3 )= 1.077970170802666e-01; | |
54 D1(2 , 4 )= 3.305658398446859e-01; | |
55 D1(2 , 5 )= 1.023936809322525e-01; | |
56 D1(2 , 6 )= 1.004615991085861e-02; | |
57 D1(2 , 7 )= -9.993439452786020e-02; | |
58 D1(2 , 8 )= -8.071677622127596e-02; | |
59 D1(2 , 9 )= -2.794842118590027e-02; | |
60 D1(2 , 10 )= 4.202296437592187e-02; | |
61 D1(2 , 11 )= 8.084986053360355e-02; | |
62 D1(2 , 12 )= 4.970793893896007e-02; | |
63 D1(2 , 13 )= -1.480838886705940e-01; | |
64 D1(2 , 14 )= 6.449962737470759e-02; | |
65 D1(2 , 15 )= -5.276215117611654e-03; | |
66 D1(3 , 1 )= 9.648866897889277e-02; | |
67 D1(3 , 2 )= -6.999339806925928e-01; | |
68 D1(3 , 4 )= 6.447106132171313e-01; | |
69 D1(3 , 5 )= 1.610341017868972e-01; | |
70 D1(3 , 6 )= -2.926101271261580e-01; | |
71 D1(3 , 7 )= 2.578035970538076e-02; | |
72 D1(3 , 8 )= -3.649479605631123e-02; | |
73 D1(3 , 9 )= 2.039707558852247e-01; | |
74 D1(3 , 10 )= -2.443704472345096e-02; | |
75 D1(3 , 11 )= -4.983260374057472e-02; | |
76 D1(3 , 12 )= -1.982796172639611e-01; | |
77 D1(3 , 13 )= 2.659121147554237e-01; | |
78 D1(3 , 14 )= -1.104398155224152e-01; | |
79 D1(3 , 15 )= 1.413137079651327e-02; | |
80 D1(4 , 1 )= 9.507993640872410e-02; | |
81 D1(4 , 2 )= -3.368441515472113e-01; | |
82 D1(4 , 3 )= -1.011778679849722e-01; | |
83 D1(4 , 5 )= 1.664700006607916e-01; | |
84 D1(4 , 6 )= 8.420689674052668e-02; | |
85 D1(4 , 7 )= 1.234483107384551e-01; | |
86 D1(4 , 8 )= 3.371285340885326e-02; | |
87 D1(4 , 9 )= -2.009043511216467e-02; | |
88 D1(4 , 10 )= -4.311340633236862e-02; | |
89 D1(4 , 11 )= -3.824719371220764e-02; | |
90 D1(4 , 12 )= -2.775022659375772e-03; | |
91 D1(4 , 13 )= 8.248678009703486e-02; | |
92 D1(4 , 14 )= -5.169933586327551e-02; | |
93 D1(4 , 15 )= 8.542635157189999e-03; | |
94 D1(5 , 1 )= 5.267797175762052e-02; | |
95 D1(5 , 2 )= -1.283203869171410e-01; | |
96 D1(5 , 3 )= -3.108064515385221e-02; | |
97 D1(5 , 4 )= -2.047328098663259e-01; | |
98 D1(5 , 6 )= 1.528377576445926e-02; | |
99 D1(5 , 7 )= 1.842140733907868e-01; | |
100 D1(5 , 8 )= 1.776491663357457e-01; | |
101 D1(5 , 9 )= 4.220032524144508e-02; | |
102 D1(5 , 10 )= -3.611067700750285e-02; | |
103 D1(5 , 11 )= -1.090730089234403e-01; | |
104 D1(5 , 12 )= -5.398262792345335e-02; | |
105 D1(5 , 13 )= 1.325672256468355e-01; | |
106 D1(5 , 14 )= -3.865175590539601e-02; | |
107 D1(5 , 15 )= -2.640626439781275e-03; | |
108 D1(6 , 1 )= 5.192760351242898e-03; | |
109 D1(6 , 2 )= -6.523045708997477e-02; | |
110 D1(6 , 3 )= 2.926101271261579e-01; | |
111 D1(6 , 4 )= -5.365707057867646e-01; | |
112 D1(6 , 5 )= -7.918783828195401e-02; | |
113 D1(6 , 7 )= 1.455199260610844e-01; | |
114 D1(6 , 8 )= 4.392627009892030e-01; | |
115 D1(6 , 9 )= -2.877704902282471e-01; | |
116 D1(6 , 10 )= 6.246304940524665e-02; | |
117 D1(6 , 11 )= -8.757523368284212e-03; | |
118 D1(6 , 12 )= 2.373907173856874e-01; | |
119 D1(6 , 13 )= -3.887671913712637e-01; | |
120 D1(6 , 14 )= 2.338336212010801e-01; | |
121 D1(6 , 15 )= -4.998869639321427e-02; | |
122 D1( 7 , 1 )= -4.544951340626429e-02; | |
123 D1( 7 , 2 )= 1.279732835762292e-01; | |
124 D1( 7 , 3 )= -5.084438112238577e-03; | |
125 D1( 7 , 4 )= -1.551380899582667e-01; | |
126 D1( 7 , 5 )= -1.882368423100825e-01; | |
127 D1( 7 , 6 )= -2.869964060279157e-02; | |
128 D1( 7 , 8 )= 1.501531969717210e-01; | |
129 D1( 7 , 9 )= 4.398683557974375e-02; | |
130 D1( 7 , 10 )= 9.034991722085359e-02; | |
131 D1( 7 , 11 )= 6.874263504449905e-02; | |
132 D1( 7 , 12 )= 1.191424140454980e-02; | |
133 D1( 7 , 13 )= -1.387149470006835e-01; | |
134 D1( 7, 14 )= 8.081158783540948e-02; | |
135 D1( 7 , 15 )= -1.260822624267884e-02; | |
136 D1( 8 , 1 )= -3.065974203065793e-02; | |
137 D1( 8 , 2 )= 7.279861004189266e-02; | |
138 D1( 8 , 3 )= 5.069205358435631e-03; | |
139 D1( 8 , 4 )= -2.983896481040582e-02; | |
140 D1( 8 , 5 )= -1.278497691554543e-01; | |
141 D1( 8 , 6 )= -6.101453024095747e-02; | |
142 D1( 8 , 7 )= -1.057522301598588e-01; | |
143 D1( 8 , 9 )= 3.518098475279482e-02; | |
144 D1( 8 , 10 )= 1.267951379582364e-01; | |
145 D1( 8 , 11 )= 1.709119775233402e-01; | |
146 D1( 8 , 12 )= 4.871305182138817e-02; | |
147 D1( 8 , 13 )= -1.381315738947210e-01; | |
148 D1( 8 , 14 )= 2.531339542383916e-02; | |
149 D1( 8 , 15 )= 8.464447412128264e-03; | |
150 D1( 9 , 1 )= -5.153795872455654e-02; | |
151 D1( 9 , 2 )= 1.814711596347261e-01; | |
152 D1( 9 , 3 )= -2.039707558852247e-01; | |
153 D1( 9 , 4 )= 1.280172927036423e-01; | |
154 D1( 9 , 5 )= -2.186470530689342e-01; | |
155 D1( 9 , 6 )= 2.877704902282471e-01; | |
156 D1( 9 , 7 )= -2.230327950727989e-01; | |
157 D1( 9 , 8 )= -2.532789210200124e-01; | |
158 D1( 9 , 10 )= -2.487018120584765e-02; | |
159 D1( 9 , 11 )= 5.656432879788119e-01; | |
160 D1( 9 , 12 )= -3.179024054582303e-01; | |
161 D1( 9 , 13 )= 3.080272260545759e-01; | |
162 D1( 9 , 14 )= -2.449533574878925e-01; | |
163 D1( 9 , 15 )= 6.726397132349360e-02; | |
164 D1(10 , 1 )= 2.846411764336633e-02; | |
165 D1(10 , 2 )= -7.690296670899374e-02; | |
166 D1(10 , 3 )= 6.887391299700927e-03; | |
167 D1(10 , 4 )= 7.742794040563218e-02; | |
168 D1(10 , 5 )= 5.273142829480713e-02; | |
169 D1(10 , 6 )= -1.760472544430208e-02; | |
170 D1(10 , 7 )= -1.291159336943500e-01; | |
171 D1(10 , 8 )= -2.572762697778848e-01; | |
172 D1(10 , 9 )= 7.009467453925059e-03; | |
173 D1(10 , 11 )= 1.983435406810274e-01; | |
174 D1(10 , 12 )= -3.844771590180474e-02; | |
175 D1(10 , 13 )= 2.943472385247488e-01; | |
176 D1(10 , 14 )= -1.771193581329739e-01; | |
177 D1(10 , 15 )= 3.146739090039766e-02; | |
178 D1(10 , 16 )= -2.115455432962849e-04; | |
179 D1(11 , 1 )= 2.792856995883971e-02; | |
180 D1(11 , 2 )= -6.858300759838749e-02; | |
181 D1(11 , 3 )= 6.510292419375574e-03; | |
182 D1(11 , 4 )= 3.183946691406334e-02; | |
183 D1(11 , 5 )= 7.382985925399284e-02; | |
184 D1(11 , 6 )= 1.144111158506918e-03; | |
185 D1(11 , 7 )= -4.553644254612264e-02; | |
186 D1(11 , 8 )= -1.607498111470597e-01; | |
187 D1(11 , 9 )= -7.389746738841917e-02; | |
188 D1(11 , 10 )= -9.193881548309495e-02; | |
189 D1(11 , 12 )= 4.858403641270599e-02; | |
190 D1(11 , 13 )= 2.953396945760745e-01; | |
191 D1(11 , 14 )= -1.897059300798801e-02; | |
192 D1(11 , 15 )= -2.681387584075025e-02; | |
193 D1(11 , 16 )= 1.412040700223218e-03; | |
194 D1(11 , 17 )= -9.805838195994568e-05; | |
195 D1(12 , 1 )= 1.090604649488924e-01; | |
196 D1(12 , 2 )= -3.227573129195589e-01; | |
197 D1(12 , 3 )= 1.982796172639611e-01; | |
198 D1(12 , 4 )= 1.768258806049677e-02; | |
199 D1(12 , 5 )= 2.796931645632894e-01; | |
200 D1(12 , 6 )= -2.373907173856874e-01; | |
201 D1(12 , 7 )= -6.041049615427440e-02; | |
202 D1(12 , 8 )= -3.507005074362792e-01; | |
203 D1(12 , 9 )= 3.179024054582303e-01; | |
204 D1(12 , 10 )= 1.364157359619944e-01; | |
205 D1(12 , 11 )= -3.718833008893085e-01; | |
206 D1(12 , 13 )= -1.473587211078091e-01; | |
207 D1(12 , 14 )= 5.107219886498376e-01; | |
208 D1(12 , 15 )= -1.500513994956780e-02; | |
209 D1(12 , 16 )= -7.430756001585824e-02; | |
210 D1(12 , 17 )= 1.080837236594302e-02; | |
211 D1(12 , 18 )= -7.505814143015984e-04; | |
212 D1(13 , 1 )= -6.378169035524298e-02; | |
213 D1(13 , 2 )= 1.711336527390002e-01; | |
214 D1(13 , 3 )= -4.732769992164881e-02; | |
215 D1(13 , 4 )= -9.354938176872968e-02; | |
216 D1(13 , 5 )= -1.222478620034153e-01; | |
217 D1(13 , 6 )= 6.919375218960795e-02; | |
218 D1(13 , 7 )= 1.251833421669687e-01; | |
219 D1(13 , 8 )= 1.769951193441043e-01; | |
220 D1(13 , 9 )= -5.482345223653074e-02; | |
221 D1(13 , 10 )= -1.858793591648383e-01; | |
222 D1(13 , 11 )= -4.023575729350775e-01; | |
223 D1(13 , 12 )= 2.622727189335804e-02; | |
224 D1(13 , 14 )= 4.511356466215911e-01; | |
225 D1(13 , 15 )= -9.724618589400275e-02; | |
226 D1(13 , 16 )= 5.877975311212341e-02; | |
227 D1(13 , 17 )= -1.322544445022777e-02; | |
228 D1(13 , 18 )= 1.923701010942221e-03; | |
229 D1(13 , 19 )= -1.335903479820987e-04; | |
230 D1(14 , 1 )= 3.979504551511218e-02; | |
231 D1(14 , 2 )= -1.101140274631495e-01; | |
232 D1(14 , 3 )= 2.903760407152547e-02; | |
233 D1(14 , 4 )= 8.661624791356937e-02; | |
234 D1(14 , 5 )= 5.265409651744463e-02; | |
235 D1(14 , 6 )= -6.148116129069339e-02; | |
236 D1(14 , 7 )= -1.077344885099467e-01; | |
237 D1(14 , 8 )= -4.791555974685060e-02; | |
238 D1(14 , 9 )= 6.440483965930399e-02; | |
239 D1(14 , 10 )= 1.652323434850750e-01; | |
240 D1(14 , 11 )= 3.817939983867793e-02; | |
241 D1(14 , 12 )= -1.342825757801646e-01; | |
242 D1(14 , 13 )= -6.664460164211102e-01; | |
243 D1(14 , 15 )= 8.751759953804069e-01; | |
244 D1(14 , 16 )= -2.930619039503475e-01; | |
245 D1(14 , 17 )= 8.683315672602888e-02; | |
246 D1(14 , 18 )= -1.953746026335650e-02; | |
247 D1(14 , 19 )= 2.841812401942763e-03; | |
248 D1(14 , 20 )= -1.973480834682474e-04; | |
249 D1(15 , 1 )= -2.295575530984041e-03; | |
250 D1(15 , 2 )= 8.159561455701054e-03; | |
251 D1(15 , 3 )= -3.365722305748102e-03; | |
252 D1(15 , 4 )= -1.296477975670818e-02; | |
253 D1(15 , 5 )= 3.258582992375954e-03; | |
254 D1(15 , 6 )= 1.190599786168119e-02; | |
255 D1(15 , 7 )= 1.522628621820923e-02; | |
256 D1(15 , 8 )= -1.451388426876270e-02; | |
257 D1(15 , 9 )= -1.602051576712872e-02; | |
258 D1(15 , 10 )= -2.659185598017704e-02; | |
259 D1(15 , 11 )= 4.888399224192811e-02; | |
260 D1(15 , 12 )= 3.573831226733737e-03; | |
261 D1(15 , 13 )= 1.301335540499094e-01; | |
262 D1(15 , 14 )= -7.927829095053140e-01; | |
263 D1(15 , 16 )= 8.495094750506673e-01; | |
264 D1(15 , 17 )= -2.654717109533336e-01; | |
265 D1(15 , 18 )= 7.865828472691364e-02; | |
266 D1(15 , 19 )= -1.769811406355557e-02; | |
267 D1(15 , 20 )= 2.574271136517173e-03; | |
268 D1(15 , 21 )= -1.787688289248037e-04; | |
269 | |
270 | |
271 D1(m-14:m,m-20:m)=rot90( -D1(1:15,1:21),2); | |
272 D1=D1/h; | |
273 | |
274 | |
275 % Wide 2nd derivative | |
276 | |
277 D2=D1*D1; | |
278 | |
279 e_1 = zeros(m,1); | |
280 e_1(1)= 1; | |
281 e_m = zeros(m,1); | |
282 e_m(end)= 1; | |
283 | |
284 S_1 = (e_1'*D1)'; | |
285 S_m = (e_m'*D1); | |
286 | |
287 Q = H*D1-(-e_1*e_1' + e_m*e_m'); | |
288 M = -(H*D2-(-e_1*S_1' + e_m*S_m')); | |
289 end |