function serie4b(mmax) %bestimmt den kleinsten EW fuer das L-Gebiet und fuer das Einheitsquadrat %Diskretisierung: finite Differenzen (weil bereits in Matlab realisiert...) % %man ist gut beraten, mmax \leq 9 zu waehlen, wenn man nur 4GB Hauptspeicher hat... %zuerst das Einheitsquadrat % % k = 1; %nur der kleinsten EW % disp('zuerst das Einheitsquadrat') for m=3:mmax n = 2^m; h(m)=1/n; disp('Zeit fuer das Aufstellen der Steifigkeitsmatrix') tic A = delsq(numgrid('S',2*n+1))/(h(m))^2; toc disp('Zeit fuer das Bestimmen des Eigenwertes') tic lambda_S(:,m) = eigs(A,k,0) toc end lambda_S(k,:) %------------------------------ %BERECHNE extrapolierten Wert extrapolated_S = %------------------------------ figure(1) loglog(h(3:end),abs(lambda_S(k,3:end)-extrapolated_S),'*-r',... h(3:end),h(3:end).^2,'k--') %-------------------------------- %SCHAETZE Konvergenzrate %-------------------------------- disp('geschaetze Konvergenzrate:') a(1) disp('nun das L-Gebiet') % %zuerst mit L-Gebiet for m=3:mmax n = 2^m; h(m)=1/n; disp('Zeit fuer das Aufstellen der Steifigkeitsmatrix') tic A = delsq(numgrid('L',2*n+1))/(h(m))^2; toc disp('Zeit fuer das Bestimmen des Eigenwertes') tic lambda_L(:,m) = eigs(A,k,0) toc end lambda_L(k,:) %------------------------------ %BERECHNE extrapolierten Wert extrapolated_L = %------------------------------ figure(2) loglog(h(3:end),lambda_L(k,3:end)-extrapolated_L,'*-r',... h(3:end),h(3:end).^2,'k--',... h(3:end),h(3:end).^(4/3),'b-.') %-------------------------------- %SCHAETZE Konvergenzrate %-------------------------------- disp('geschaetze Konvergenzrate:') figure(3) loglog(h(3:end),abs(lambda_S(k,3:end)-extrapolated_S),'*-r',... h(3:end),abs(lambda_L(k,3:end)-extrapolated_L),'o-b',... 'LineWidth',2)