view +sbp/ordinary2.m @ 103:bc5db54f9efd feature/arclen-param

fzero_vec, integral_vec and spline are now local functions in Curve. Renamed arcLengthStretch to arcLengthParametrization. Removed plot_derivative. Added some comments and extra lines + removed unneccesary lines. arcLength is now a method and not static. Constructor does not accept difference operator anymore.
author Martin Almquist <martin.almquist@it.uu.se>
date Mon, 07 Dec 2015 17:24:28 +0100
parents 32b39dc44474
children
line wrap: on
line source

function [H, HI, D1, D2, e_1, e_m, M,Q S_1, S_m] = ordinary2(m,h)
    e_1=zeros(m,1);e_1(1)=1;
    e_m=zeros(m,1);e_m(m)=1;

    H=(eye(m,m));H(1,1)=0.5;H(m,m)=0.5;
    H=h*H;
    HI=inv(H);

    D1=((.5*diag(ones(m-1,1),1)-.5*diag(ones(m-1,1),-1)));
    D1(1,1)=-1;D1(1,2)=1;D1(m,m-1)=-1;D1(m,m)=1;
    D1(m,m-1)=-1;D1(m,m)=1;
    D1=D1/h;

    Q=H*D1 + 1/2*e_1*e_1' - 1/2*e_m*e_m';

    D2=((diag(ones(m-1,1),1)+diag(ones(m-1,1),-1)-2*diag(ones(m,1),0)));
    D2(1,1)=1;D2(1,2)=-2;D2(1,3)=1;
    D2(m,m-2)=1;D2(m,m-1)=-2;D2(m,m)=1;
    D2=D2/h^2;

    S_U=[-3/2, 2, -1/2]/h;
    S_1=zeros(1,m);
    S_1(1:3)=S_U;
    S_m=zeros(1,m);
    S_m(m-2:m)=fliplr(-S_U);


    M=-H*D2-e_1*S_1+e_m*S_m;
    S_1 = S_1';
    S_m = S_m';
end