N = size(elements,1);
-A1 = zeros(N);
-
-x = zeros(N,2);
-xe = zeros(1,2);
-t = zeros(1,2);
-
-% untere schranke s t obere schranke k l
-intF = @(f,s1,s2,k1,k2,t1,t2,l1,l2) ...
- f(k1,k2,l1,l2)-f(k1,k2,l1,t2)-f(k1,k2,t1,l2)+f(k1,k2,t1,t2)...
- -f(k1,s2,l1,l2)+f(k1,s2,l1,t2)+f(k1,s2,t1,l2)-f(k1,s2,t1,t2)...
- -f(s1,k2,l1,l2)+f(s1,k2,l1,t2)+f(s1,k2,t1,l2)-f(s1,l2,t1,t2)...
- +f(s1,s2,l1,l2)-f(s1,0,l1,t2)-f(s1,s2,t1,l2)+f(s1,s2,t1,t2);
-tic
-for j = 1:N
- for k = 1:N
- ej = coordinates(elements(j,:)',:);
- ek = coordinates(elements(k,:)',:);
- d = ek(1,:) - ej(1,:);
-% fprintf('%d%d %.1f %.1f | %.1f %.1f || %.1f %.1f | %.1f %.1f || %.1f %.1f %.1f\n'...
-% ,j,k,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2)...
-% ,d(1),d(2),d(3));
- tmp = intF(@(x1,x2,y1,y2) F_par(x1,x2,y1,y2,d(1),d(2),d(3))...
- ,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2));
-
-% fprintf('%d%d|%.2f\n',j,k,tmp);
- A1(j,k) = 1/ (4*pi) *tmp;
-% intF(@(x1,x2,y1,y2) F_par(x1,x2,y1,y2,d(1),d(2),d(3))...
-% ,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2));
-
- end
-end
-t(1) = toc;
-disp ' '
tic
-A2 = build_A(coordinates,elements);
-t(2) = toc;
+A = build_A(coordinates,elements);
+t = toc;
b = sqrt(sum(quad_norm(coordinates,elements,'w').^2,2));
-x(:,1) = A1\b;
-xe(1) = x(:,1)'*A1*x(:,1);
-
-x(:,2) = A2\b;
-xe(2) = x(:,2)'*A2*x(:,2);
+x = A\b;
+xe = x'*A*x;
x;
xe
-t
\ No newline at end of file
+t
\ No newline at end of file
--- /dev/null
+\r
+load exmpl_2DLShape\r
+\r
+re_times = 6;\r
+r_type = 1;\r
+\r
+xNorm = zeros(re_times+1,2);\r
+\r
+ test_solve\r
+ xNorm(1,:) = [size(x,1) xe];\r
+\r
+for l = 2:re_times\r
+ test_refine\r
+ \r
+ test_solve\r
+ xNorm(l,:) = [size(x,1) xe];\r
+end\r
+\r
+\r
+loglog(xNorm(:,1),xNorm(:,2));\r
+\r
+legend('x^TAx')\r
+xlabel('Elemente')\r
+ylabel('xNorm')\r
+\r
--- /dev/null
+
+N = size(elements,1);
+
+A1 = zeros(N);
+
+x = zeros(N,2);
+xe = zeros(1,2);
+t = zeros(1,2);
+
+% untere schranke s t obere schranke k l
+intF = @(f,s1,s2,k1,k2,t1,t2,l1,l2) ...
+ f(k1,k2,l1,l2)-f(k1,k2,l1,t2)-f(k1,k2,t1,l2)+f(k1,k2,t1,t2)...
+ -f(k1,s2,l1,l2)+f(k1,s2,l1,t2)+f(k1,s2,t1,l2)-f(k1,s2,t1,t2)...
+ -f(s1,k2,l1,l2)+f(s1,k2,l1,t2)+f(s1,k2,t1,l2)-f(s1,l2,t1,t2)...
+ +f(s1,s2,l1,l2)-f(s1,0,l1,t2)-f(s1,s2,t1,l2)+f(s1,s2,t1,t2);
+tic
+for j = 1:N
+ for k = 1:N
+ ej = coordinates(elements(j,:)',:);
+ ek = coordinates(elements(k,:)',:);
+ d = ek(1,:) - ej(1,:);
+% fprintf('%d%d %.1f %.1f | %.1f %.1f || %.1f %.1f | %.1f %.1f || %.1f %.1f %.1f\n'...
+% ,j,k,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2)...
+% ,d(1),d(2),d(3));
+ tmp = intF(@(x1,x2,y1,y2) F_par(x1,x2,y1,y2,d(1),d(2),d(3))...
+ ,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2));
+
+% fprintf('%d%d|%.2f\n',j,k,tmp);
+ A1(j,k) = 1/ (4*pi) *tmp;
+% intF(@(x1,x2,y1,y2) F_par(x1,x2,y1,y2,d(1),d(2),d(3))...
+% ,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2));
+
+ end
+end
+t(1) = toc;
+disp ' '
+tic
+A2 = build_A(coordinates,elements);
+t(2) = toc;
+b = sqrt(sum(quad_norm(coordinates,elements,'w').^2,2));
+
+x(:,1) = A1\b;
+xe(1) = x(:,1)'*A1*x(:,1);
+
+x(:,2) = A2\b;
+xe(2) = x(:,2)'*A2*x(:,2);
+
+x;
+xe
+t
\ No newline at end of file
\r
time = zeros(rt_times,3);\r
\r
- test_solve\r
+ test_solveS\r
\r
time(1,:) = [size(x,1) t];\r
\r
for l = 2:rt_times\r
test_refine\r
- test_solve\r
+ test_solveS\r
\r
time(l,:) = [size(x,1) t];\r
end\r