comparison +sbp/+implementations/d2_8.m @ 266:bfa130b7abf6 operator_remake

Added error message for too few grid points to all implementation files.
author Martin Almquist <martin.almquist@it.uu.se>
date Fri, 09 Sep 2016 11:03:13 +0200
parents 6009f2712d13
children f7ac3cd6eeaa
comparison
equal deleted inserted replaced
265:3e0432b3cb68 266:bfa130b7abf6
1 function [H, HI, D1, D2, e_1, e_m, M, Q, S_1, S_m] = d2_8(m,h) 1 function [H, HI, D1, D2, e_1, e_m, M, Q, S_1, S_m] = d2_8(m,h)
2
3
4 BP = 8;
5 if(m<2*BP)
6 error(['Operator requires at least ' num2str(2*BP) ' grid points']);
7 end
8
2 H=diag(ones(m,1),0); 9 H=diag(ones(m,1),0);
3 H(1:8,1:8)=diag([1498139/5080320, 1107307/725760, 20761/80640, 1304999/725760, 299527/725760, 103097/80640, 670091/725760, 5127739/5080320]); 10 H(1:8,1:8)=diag([1498139/5080320, 1107307/725760, 20761/80640, 1304999/725760, 299527/725760, 103097/80640, 670091/725760, 5127739/5080320]);
4 H(m-7:m,m-7:m)=fliplr(flipud(diag([1498139/5080320, 1107307/725760, 20761/80640, 1304999/725760, 299527/725760, 103097/80640, 670091/725760, 5127739/5080320]))); 11 H(m-7:m,m-7:m)=fliplr(flipud(diag([1498139/5080320, 1107307/725760, 20761/80640, 1304999/725760, 299527/725760, 103097/80640, 670091/725760, 5127739/5080320])));
5 12
6 D1=-(1/280*diag(ones(m-4,1),4)-4/105*diag(ones(m-3,1),3)+1/5*diag(ones(m-2,1),2)-4/5*diag(ones(m-1,1),1)+4/5*diag(ones(m-1,1),-1)-1/5*diag(ones(m-2,1),-2)+4/105*diag(ones(m-3,1),-3)-1/280*diag(ones(m-4,1),-4)); 13 D1=-(1/280*diag(ones(m-4,1),4)-4/105*diag(ones(m-3,1),3)+1/5*diag(ones(m-2,1),2)-4/5*diag(ones(m-1,1),1)+4/5*diag(ones(m-1,1),-1)-1/5*diag(ones(m-2,1),-2)+4/105*diag(ones(m-3,1),-3)-1/280*diag(ones(m-4,1),-4));