From 3369667ef50504dd7567f5574f11bf62d5cba022 Mon Sep 17 00:00:00 2001 From: Peter Schaefer Date: Mon, 26 Mar 2012 12:04:45 +0200 Subject: [PATCH] [src] hmin wird mitgeplottet --- src/A_plots.m | 55 +++++++++++++++++++++++++++++++++++++++++++-------- src/A_step.m | 4 +++- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/A_plots.m b/src/A_plots.m index f4bd440..5c694fe 100644 --- a/src/A_plots.m +++ b/src/A_plots.m @@ -7,9 +7,10 @@ G_D=[]; X = []; leg0 = {}; leg1 = {}; +leg2 = {}; sym = {}; -rows = 6; +rows = 9; for i = 1:length(files) @@ -40,9 +41,20 @@ for i = 1:length(files) l0 = [files{i}(p1:p1+p2-2) ' ']; l1 = {type2str{data(1,[2+(0:step-1)*rows])}}; for i = 1:step - leg0 = {leg0{:} ['tilde \mu ' l0 l1{i}] ['\eta ' l0 l1{i}]... - ['error ' l0 l1{i}] ['\mu ' l0 l1{i}]}'; - leg1 = {leg1{:} [ l0 l1{i}]}'; + leg0 = {leg0{:}... + ['tilde \mu ' l0 l1{i}]... + ['\eta ' l0 l1{i}]... + ['error ' l0 l1{i}]... + ['\mu ' l0 l1{i}]... + }'; + leg1 = {leg1{:}... + [ l0 l1{i}]... + }'; + leg2 = {leg2{:}... + ['min hmin/max hmax ' l0 l1{i}]... + ['min hmax/max hmax ' l0 l1{i}]... + ['hmin/hmax ' l0 l1{i}]... + }'; sym = {sym{:} type2sym{data(1,[2+(i-1)*rows])}}' end @@ -62,6 +74,8 @@ else sol = 4.60957; % Quad % G_D + +%% Plotte Fehlerschätzer figure(4) i=0; @@ -71,15 +85,15 @@ shift = shift+shift/10; % eta = G_D(:,2+1+rows*i)*(G_D(k,2)-shift)/G_D(k,3) % -error = sqrt(abs(sol - G_D(:,2+2+rows*i))) +% error = sqrt(abs(sol - G_D(:,2+2+rows*i))) % [shift2 l] = min(error*eta(1)/error(1) - eta); % shift2 = shift2+shift2/10; % error*(eta(l)-shift2)/error(l) -loglog(X(:,[2+(0:rows-3)]+rows*i),[G_D(:,2+rows*i) ... - G_D(:,2+1+rows*i)*(G_D(k,2)-shift)/G_D(k,3)...*G_D(1,2)/G_D(1,2+1+rows*i) ... +loglog(X(:,[2+(0:rows-6)]+rows*i),[G_D(:,2+rows*i) ... + G_D(:,2+1+rows*i)...*(G_D(k,2)-shift)/G_D(k,3)...*G_D(1,2)/G_D(1,2+1+rows*i) ... ... sqrt(abs(sol - G_D(:,2+2+rows*i)))...*G_D(1,2)/sqrt(abs(sol - G_D(1,2+2+rows*i)))... - error*(G_D(k,2)-shift)/G_D(k,3)... + sqrt(abs(sol - G_D(:,2+2+rows*i)))...*(G_D(k,2)-shift)/G_D(k,3)... G_D(:,2+3+rows*i)...*G_D(1,2)/G_D(1,2+3+rows*i) ... ],sym{i+1}); hold on @@ -103,6 +117,7 @@ legend({leg0{:} ... print('-r600','-depsc',[printt '_error.eps']) +%% Plotte eNorm figure(5) loglog(X(:,2),G_D(:,2+2),sym{1}); hold on @@ -119,6 +134,30 @@ legend({leg1{:} , 'extrapoliert' },'location','SouthEast'); print('-r600','-depsc',[printt '_norm.eps']) + +%% Plotte HMIN HMAX +figure(6) +i=0; +loglog(X(:,1:3+rows*i),[... + G_D(:,2+4+rows*i)... + G_D(:,2+5+rows*i)... + G_D(:,2+6+rows*i)... + ],sym{i+1}); +hold on +for i = 1:step-1 + loglog(X(:,2+i*rows),G_D(:,2+2+i*rows),sym{i+1}); +end +loglog(X(:,1),[7*X(:,1).^(-1/2),3*X(:,1).^(-1/4),2*X(:,1).^(-3/4)],'-.') +hold off + +title('hmin hmax') +xlabel('Elemente'); +ylabel('Schaetzer'); +legend({leg2{:} ... + 'N^{-1/2}' 'N^{-1/4}' 'N^{-3/4}'... + } ,'location','southwest','box', 'off'); + +print('-r600','-depsc',[printt '_hminmax.eps']) end end \ No newline at end of file diff --git a/src/A_step.m b/src/A_step.m index 48f0b1a..27ef6d5 100644 --- a/src/A_step.m +++ b/src/A_step.m @@ -68,6 +68,7 @@ time = zeros(1,3); [b,tnormal,s] = area(G_C,G_E); hmin = min(s,[],2); + hmax = max(s,[],2); % \tilde \mu ( \Pi h -h + L_2 ) tmu = hmin.* b .* sum((x_fine(f2s)'-repmat(sum(x_fine(f2s)',1)/4,4,1)).^2)' /4; @@ -96,7 +97,8 @@ time = zeros(1,3); - data = [data type(i) sqrt(sum(tmu)) sqrt(tmu2) xe_fine sqrt(sum(tmu3))]; + data = [data type(i) sqrt(sum(tmu)) sqrt(tmu2) xe_fine sqrt(sum(tmu3))... + min(hmin)/max(hmax) min(hmax)/max(hmax) sqrt(sum((hmin./hmax).^2))]; end time(2) = toc; -- 2.47.3