]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[src] test_sol angepasst
authorPeter Schaefer <peter.schaefer@tuwien.ac.at>
Tue, 3 Apr 2012 17:09:26 +0000 (19:09 +0200)
committerPeter Schaefer <peter.schaefer@tuwien.ac.at>
Tue, 3 Apr 2012 17:09:26 +0000 (19:09 +0200)
[src] kappa & tmu2 eingebaut

doc/doc.pdf
doc/doc.tex
src/A_plots.m
src/A_step.m
src/test_sol.m

index fd4522c2e6a8418399c8991bb1f80936ebcd07f2..5f9edd12531d941832268c01652762e707b63b29 100644 (file)
Binary files a/doc/doc.pdf and b/doc/doc.pdf differ
index e5497be1700a22f9bd0654a6ee7f1f2e970b2fba..1981c41ad2bb2355f7d78daa0af90ba4ab51fbf1 100644 (file)
@@ -644,9 +644,9 @@ Zum Plotten (\ref{exmplAA_2DQuad})werden noch folgende Schritte ausgeführt
 %  \item $\enorm{\phi^{(i)}_{l/2}}$
 %  \item $\enorm{\phi^{(i)}_l}$
  \item $error =  \sqrt{\enorm{\phi}^2 - \enorm{\phi_{l}^{(i)}}^2}$
- \item $\mu_{l,i} := \norm{\varrho^{1/2}(\phi_{l/2}^{(i)} - \phi_{l}^{(i)} )}$
+ \item $\mu_{l,i} = \norm{\varrho^{1/2}(\phi_{l/2}^{(i)} - \phi_{l}^{(i)} )}$
  \item $\eta_{l,i} = \enorm{\phi_{l/2}^{(i)} - \phi_{l}^{(i)}}$
-
+ \item $\kappa_{l,i} =$
 \end{itemize}
 
 \begin{figure}[ht]
index 1d0fedb5d122d971c26081b9ed485c051f5e1cd3..b15d60b10f37653db552cfc02f73a38b31dcff5c 100644 (file)
@@ -11,7 +11,7 @@ leg2 = {};
 leg3 = {};
 sym = {};
 
-rows = 9;
+rows = 11;
 
 
 for i = 1:length(files)
@@ -45,9 +45,11 @@ for i = 1:length(files)
    for i = 1:step
       leg0 = {leg0{:}...
           ['tilde \mu ' l0 l1{i}]...
+          ['tilde \mu_2 ' l0 l1{i}]...
           ['\eta ' l0 l1{i}]...
           ['error ' l0 l1{i}]...
           ['\mu ' l0 l1{i}]...
+          ['\kappa ' l0 l1{i}]...
           }';
       leg1 = {leg1{:}...
           [ l0 l1{i}]...
@@ -86,8 +88,8 @@ figure(4)
 i=0;
 
 
-[shift k] = min(G_D(1:end-5,2+1+rows*i)*G_D(1,2)/G_D(1,3)-G_D(1:end-5,2+0+rows*i));
-shift = shift+shift/10;
+[shift k] = min(G_D(1:end-5,2+1+rows*i)*G_D(1,2)/G_D(1,3)-G_D(1:end-5,2+0+rows*i));
+shift = shift+shift/10;
 
 % eta = G_D(:,2+1+rows*i)*(G_D(k,2)-shift)/G_D(k,3)
 % 
@@ -96,18 +98,22 @@ shift = shift+shift/10;
 % shift2 = shift2+shift2/10;
 % error*(eta(l)-shift2)/error(l)
 
-loglog(repmat(X(:,i+1),1,4),[G_D(:,2+rows*i) ...
+loglog(repmat(X(:,i+1),1,6),[G_D(:,2+rows*i) ...
+    G_D(:,2+8+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)))...
     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) ...
+    [ 0; sqrt(G_D(2:end,2+9+rows*i)-G_D(1:end-1,2+9+rows*i))]...
     ],type2sym{i+1});
 hold on
 for i = 1:step-1
-loglog(repmat(X(:,i+1),1,4),[G_D(:,2+rows*i) ...
+loglog(repmat(X(:,i+1),1,6),[G_D(:,2+rows*i) ...
+    G_D(:,2+8+rows*i)...
     G_D(:,2+1+rows*i)...*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)))...
     G_D(:,2+3+rows*i)...*G_D(1,2)/G_D(1,2+3+rows*i) ...
+    [ 0; sqrt(G_D(2:end,2+9+rows*i)-G_D(1:end-1,2+9+rows*i))]...
     ],type2sym{i+1});
     
 end
index ed89d9df5f1bb1f8b05d65cdb52d0ce28922afbe..297fb1d9fd2b9b8497f1cc83ef2011938a12245f 100644 (file)
@@ -49,10 +49,10 @@ time = zeros(1,3);
   %data -> ErgebnisMatrix
   data = size(G_E,1);
   %save_* -> ZwischenSpeicherung
- save_A = {};
- save_x = {};
- save_A_fine = {};
- save_x_fine = {};
+ save_A = {};
+ save_x = {};
+ save_A_fine = {};
+ save_x_fine = {};
   
   %Alle MatrixBrechenungsArten mit dem selben Netz berechnen
   for i = 1:length(type)
@@ -82,9 +82,9 @@ time = zeros(1,3);
         x_fine = D*y;
         con = cond(A);
     end
+    
     % \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;
-
     
     %Fehlerschätzer 2 aufbauen
     V = mex_build_V(G_C,G_E,zeta,type(i));
@@ -116,19 +116,34 @@ time = zeros(1,3);
 %     xe = x'*A*x;
     xe = b'*x;
     
+    %\tilde \mu 2 = ( ||\Pi h|| - ||h||)
+    tmu2 = hmin.* b.* (...
+    sum((x_fine(f2s)').^2)'-sum(repmat(sum(x_fine(f2s)',1)/4,4,1).^2)'...
+    ) /4;
+    
     eta = abs(xe_fine-xe);
     
-   save_A_fine{i} = V_fine;
-   save_x_fine{i} = x_fine;
-   
-   save_A{i} = V;
-   save_x{i} = x;
+   save_A_fine{i} = V_fine;
+   save_x_fine{i} = x_fine;
+%    
+   save_A{i} = V;
+   save_x{i} = x;
    
     
     
     
-    data = [data type(i) sqrt(sum(tmu)) sqrt(eta) xe sqrt(sum(mu))...
-        min(hmin)/max(hmax) min(hmax)/max(hmax) min(hmin./hmax) con];
+    data = [data ...
+        type(i) ...
+        sqrt(sum(tmu))...
+        sqrt(eta) ...
+        xe ...
+        sqrt(sum(mu))...
+        min(hmin)/max(hmax)...
+        min(hmax)/max(hmax)...
+        min(hmin./hmax) con...
+        sqrt(sum(tmu2))...
+        xe_fine...
+        ];
   end
   time(2) = toc;
   
@@ -168,14 +183,14 @@ time = zeros(1,3);
 
   
   %Alle Relevanten zwischenInformationen Speichern
-  out = '_';
-  if(length(varargin)~=0)
-     out = varargin{1};
-   end
-  typeN = int2str(type);
- save (['meshSave/fine_' out typeN(typeN~=' ') '_' int2str(size(G_T,1))],...
-     'coo_fine', 'ele_fine','neigh_fine','f2s','data',...
-     'save_A','save_x','save_A_fine','save_x_fine','b','b_fine')
+  out = '_';
+  if(length(varargin)~=0)
+     out = varargin{1};
+   end
+  typeN = int2str(type);
+ save (['meshSave/fine_' out typeN(typeN~=' ') '_' int2str(size(G_T,1))],...
+     'coo_fine', 'ele_fine','neigh_fine','f2s','data',...
+     'save_A','save_x','save_A_fine','save_x_fine','b','b_fine')
 
 %   clear 'coo_fine' 'ele_fine' 'neigh_fine' 'f2s' 
 %   plotShape(G_C,G_E,'');
index f2d74706b7d0a61a8a284a69e2af8b5ee266c49d..8d911086910c3a0176935e99a18f948c8ce0f66f 100644 (file)
@@ -7,7 +7,7 @@ mex mex_build_V.cpp slpRectangle.cpp
 % Test ausführen
 
 %Anzahl der Schritte
-steps = 33;
+steps = 30;
 
 %Art der Berechnungen
 type = [1];