]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[src] hmin wird mitgeplottet
authorPeter Schaefer <peter.schaefer@tuwien.ac.at>
Mon, 26 Mar 2012 10:04:45 +0000 (12:04 +0200)
committerPeter Schaefer <peter.schaefer@tuwien.ac.at>
Mon, 26 Mar 2012 10:04:45 +0000 (12:04 +0200)
src/A_plots.m
src/A_step.m

index f4bd4404c0c4764e30741a3946adc622827e30c5..5c694fe8e78fd4d45ca29b05b084b95ec5633320 100644 (file)
@@ -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
index 48f0b1a4b4f0febdaa586b5ff110187d8a12133f..27ef6d5c18f9826919dfb1cc2fb38fbd5d182a47 100644 (file)
@@ -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;