From: Peter Schaefer Date: Tue, 3 Apr 2012 17:09:26 +0000 (+0200) Subject: [src] test_sol angepasst X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=1c933464cc7344e73f804db56aa9d1126074fb5f;p=bacc.git [src] test_sol angepasst [src] kappa & tmu2 eingebaut --- diff --git a/doc/doc.pdf b/doc/doc.pdf index fd4522c..5f9edd1 100644 Binary files a/doc/doc.pdf and b/doc/doc.pdf differ diff --git a/doc/doc.tex b/doc/doc.tex index e5497be..1981c41 100644 --- a/doc/doc.tex +++ b/doc/doc.tex @@ -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] diff --git a/src/A_plots.m b/src/A_plots.m index 1d0fedb..b15d60b 100644 --- a/src/A_plots.m +++ b/src/A_plots.m @@ -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 diff --git a/src/A_step.m b/src/A_step.m index ed89d9d..297fb1d 100644 --- a/src/A_step.m +++ b/src/A_step.m @@ -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,''); diff --git a/src/test_sol.m b/src/test_sol.m index f2d7470..8d91108 100644 --- a/src/test_sol.m +++ b/src/test_sol.m @@ -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];