Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [ approx ] = interpol( a, points, origin, K )
- approx = 0;
- for i = 1 : K
- center = points(:,i);
- r = norm (origin - center);
- approx = approx + a(i) * phigauss(r);
- end
- end
- function [ output_args ] = phigauss( r )
- b = 0.653;
- output_args = exp (-1*(b*r)^2);
- end
- load('dataset0.mat')
- K = Nt;
- points = [ xt'; yt' ];
- %calculate phi matrix
- phiVector = zeros(Nt,Nt);
- for i = 1 : Nt
- origin = points(:,i);
- for j = 1 : Nt
- center = points(:,j);
- r = norm (origin - center);
- phiVector(i,j) = phigauss(r);
- end
- end
- %calcualte a
- phiVector = triu(phiVector);
- a = phiVector^-1 * ft;
- %calculate approximation
- %{
- approx = zeros(Nt,1);
- for i = 1 : Nt
- origin = points(:,i);
- approx(i) = interpol(a, points, origin, K);
- end
- %}
- emean = 0;
- pointsV = [ xv'; yv' ];
- approx = zeros(Nv,1);
- for i = 1 : Nv
- origin = pointsV(:,i);
- approx(i) = interpol(a, points, origin, K);
- emean = emean + norm(fv(i) - approx(i));
- end
- emean = emean / Nv;
- %error
- %plot
- %{
- tri = delaunay(xt,yt);
- trisurf(tri,xt,yt,approx)
- shading interp
- %}
- tri = delaunay(xv,yv);
- trisurf(tri,xv,yv,approx)
- shading interp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement