From: Peter Schaefer Date: Fri, 30 Mar 2012 19:38:31 +0000 (+0200) Subject: [src] Mex Quad enthält noch Bug! X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=a485d344544e0cbf11972c3b7cf7f442239ae0d4;p=bacc.git [src] Mex Quad enthält noch Bug! [src] eta<=error Bug behoben (phi_h statt phi_h/2 zum plotten) --- diff --git a/src/build_A2.m b/src/build_A2.m index c28c949..40ab012 100644 --- a/src/build_A2.m +++ b/src/build_A2.m @@ -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 diff --git a/src/meshSave/testAA_1_33.mat b/src/meshSave/testAA_1_33.mat index 9be1c63..e1bba88 100644 Binary files a/src/meshSave/testAA_1_33.mat and b/src/meshSave/testAA_1_33.mat differ diff --git a/src/mex_build_V.cpp b/src/mex_build_V.cpp index 24990f7..4a137b5 100644 --- a/src/mex_build_V.cpp +++ b/src/mex_build_V.cpp @@ -248,7 +248,8 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { d[i] = dt[i] + y2[i]; } } - + mexPrintf("(%f,%f)(%f,%f)+(%f,%f,%f)\n",fabs(xa[rxa]), fabs(xb[rxb]), fabs(ya[rxa]), + fabs(yb[rxb]), d[rxa], d[rxb], d[rx]); if (rx == ry) { if (rxa == rya) { tmp = ctypeP(fabs(xa[rxa]), fabs(xb[rxb]), fabs(ya[rxa]), diff --git a/src/test_v.m b/src/test_v.m index b50ad85..120a912 100644 --- a/src/test_v.m +++ b/src/test_v.m @@ -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