Hi All

I am playing with the boundary conditions in spectral method using Chebyshev grids.

Say, I want to solve the eigenfunction of

. Analytically, the eigenfunction will be sin or cosine.

Indeed, in Matlab, the following small code will generate the eigenfunction with three different boundary conditions. I choose to plot from each boundary condition case an eigenfunction and attach here.

clear;

nrmod=357;

[y,DM]=chebdif(nrmod,4);

D2=DM(:,:,2);

% q is the eigenfunction.

% bc: q(-1)=0,q(1)=0

% [ef,ev]=eig(D2(2:end-1,2:end-1));

% bc: q(-1)=0,q(1)=1. Just change the last 1 to 2 for q(-1)=0,q(1)=2

% [ef,ev]=eig(D2(2:end-1,2:end-1)+diag(D2(2:end-1,1))*1);

% bc: q(-1)=1,q(1)=1

[ef,ev]=eig(D2(2:end-1,2:end-1)+diag(D2(2:end-1,1))*1+diag(D2(2:end-1,end))*1);

for i=nrmod-2:-1:1

plot(y(2:end-1),real(ef(:,i)),'-*b')

title([num2str(i) ' eigenvalue is ' num2str(ev(i,i))])

pause

end

My question is:

Does it make sense to require the eigenfunction to have boundary condition q(-1)=0,q(1)=2? I tried in Matlab, but strange things happens, it returns the results of q(-1)=0,q(1)=0. Why is this?

Thanks a lot in advance!

Jo