]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[src] Mex Quad enthält noch Bug!
authorPeter Schaefer <peter.schaefer@tuwien.ac.at>
Fri, 30 Mar 2012 19:38:31 +0000 (21:38 +0200)
committerPeter Schaefer <peter.schaefer@tuwien.ac.at>
Fri, 30 Mar 2012 19:38:31 +0000 (21:38 +0200)
[src] eta<=error Bug behoben (phi_h statt phi_h/2 zum plotten)

src/build_A2.m
src/meshSave/testAA_1_33.mat
src/mex_build_V.cpp
src/test_v.m

index c28c94954c37130c7643ccc78c67da7eb4a6a3c4..40ab01214513c82f00589e028cc48af80788b6fa 100644 (file)
@@ -2,7 +2,7 @@ function A = build_A2(coordinates,elements)
     N = size(elements,1);
 
      A1 = zeros(N);
-%     A1 = mex_build_V(coordinates,elements,1,1);
+     A1 = mex_build_V(coordinates,elements,1,1);
 
     % untere schranke s t obere schranke k l
     intF = @(f,a,b,c,d,r,t,u,v)...
@@ -18,15 +18,15 @@ function A = build_A2(coordinates,elements)
             ej = coordinates(elements(j,[1,2,4])',:);
             ek = coordinates(elements(k,[1,2,4])',:);
             
-%             d = ek(1,:) - ej(1,:)
+            d = ej(1,:) - ek(1,:)
             
-%             ej = ej - repmat(ej(1,:),3,1);
-%             ek = ek - repmat(ek(1,:),3,1);
+            ej = ej - repmat(ej(1,:),3,1)
+            ek = ek - repmat(ek(1,:),3,1)
 
-            d = zeros(1,3);
+            d = zeros(1,3);
 %             if(j~=k)
             A1(j,k) = surfDoubleQuad(@(x1,x2,y1,y2) 1/sqrt((x1-y1-d(1)).^2+(x2-y2-d(2)).^2+d(3).^2)...
-                ,ej(1,1),ej(2,1),ej(1,2), ej(3,2),ek(1,1), ek(2,1),ek(1,2), ek(3,2),4);
+                ,ej(1,1),ej(2,1),ej(1,2), ej(3,2),ek(1,1), ek(2,1),ek(1,2), ek(3,2),8);
             A1(k,j) = A1(j,k);
 %             else
                 
index 9be1c6386bd9ac896563e01c8c141721ec38547b..e1bba8886ae644b5be5a0ab97767dc5f30de7c0f 100644 (file)
Binary files a/src/meshSave/testAA_1_33.mat and b/src/meshSave/testAA_1_33.mat differ
index 24990f7905bbae1de107ea70beb63167784df001..4a137b506a3176a875e7c3de99287ed170f6464d 100644 (file)
@@ -248,7 +248,8 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
                                                d[i] = dt[i] + y2[i];\r
                                }\r
                        }\r
-\r
+            mexPrintf("(%f,%f)(%f,%f)+(%f,%f,%f)\n",fabs(xa[rxa]), fabs(xb[rxb]), fabs(ya[rxa]),\r
+                                                       fabs(yb[rxb]), d[rxa], d[rxb], d[rx]);\r
                        if (rx == ry) {\r
                                if (rxa == rya) {\r
                                        tmp = ctypeP(fabs(xa[rxa]), fabs(xb[rxb]), fabs(ya[rxa]),\r
index b50ad8518ccb1a11eed273ba7638cea603d522b0..120a91224c5739fb4bf8b221658070264cbbf286 100644 (file)
@@ -1,13 +1,15 @@
 
+mex mex_build_V.cpp slpRectangle.cpp
+
 %lade Netz
     load meshSave/test1_1_1
 
 %Berechne V 2 mal
     %Voll Analytisch
-    V1 = mex_build_V(coordinates,elements,[0.7],[1]);
+%     V1 = mex_build_V(coordinates,elements([10,6],:),[0.7],[1]);
     %SemiAnalytisch
-      V2 = mex_build_V(coordinates,elements,[0.3 ],[0]);
-%       V2 = build_A2(coordinates,elements);
+      V1 = mex_build_V(coordinates,elements([10,6],:),[0.5 ],[0]);
+      V2 = build_A2(coordinates,elements([10,6],:));
 
 
 %Vergleiche beide Matritzen
@@ -16,7 +18,7 @@
    spy(Vdif>10^-16)
    max(max(Vdif))
    
-   figure(2)
-   max(max(abs(V2'-V2)))
-   spy(abs(V2'-V2)>10^-16)
+   figure(2)
+   max(max(abs(V2'-V2)))
+   spy(abs(V2'-V2)>10^-16)
    
\ No newline at end of file