1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
clear all; close all; kw=10; nu=1; mu=1; rho=1; Nvec=32:2:76;
L2_Err=[]; Max_Err=[];
for N=Nvec [xv,wv]=legslb(N); u=sin(kw*pi*xv); f=mu*kw*kw*pi^2*sin(kw*pi*xv)+nu*kw*pi*cos(kw*pi*xv)+rho*sin(kw*pi*xv); D1=legslbdiff(N,xv); D2=D1*D1; D=-mu*D2(2:N-1,2:N-1)+nu*D1(2:N-1,2:N-1)+rho*eye(N-2); b=f(2:N-1); un=D\b; un=[0;un;0]; L2_error=sqrt(((un-u).^2)'*wv); Max_error=norm(abs(un-u),inf); L2_Err=[L2_Err;L2_error]; Max_Err=[Max_Err;Max_error]; end
plot(Nvec,log10(L2_Err),'bo-','MarkerFaceColor','w','LineWidth',1) hold on plot(Nvec,log10(Max_Err),'rd-','MarkerFaceColor','w','LineWidth',1) grid on legend('L^2 error','L^{\infty} error','location','NorthEast') set(gca,'fontsize',12) xlabel('N','fontsize', 14), ylabel('log_{10}Error','fontsize',14)
xticks(30:10:80) yticks(-15:3:0) xlim([30 80]) ylim([-15 0])
|