0001 function zp=griddata_perso(index,x,y,u,xp,yp,alpha,beta,gamma);
0002
0003
0004
0005
0006
0007 zp=zeros(length(xp),1);
0008 for n=1:length(xp),
0009 P=[xp(n) yp(n)];
0010 dist=sqrt((x-P(1)).^2+(y-P(2)).^2);
0011 posQ=find(dist==min(dist));
0012 if min(dist)==0,
0013 zp(n)=u(n);
0014 else
0015 posQ=posQ(1);
0016 elems=find(index(:,1)==posQ | index(:,2)==posQ | index(:,3)==posQ);
0017 for i=1:length(elems),
0018 el=elems(i);
0019 if isinpoly(P(1),P(2),x(index(el,:)),y(index(el,:)))==1,
0020 zp(n)=sum((alpha(el,:)).*u(index(el,:))')*P(1)+...
0021 sum((beta(el,:)).*u(index(el,:))')*P(2)+...
0022 sum((gamma(el,:)).*u(index(el,:))');
0023 end
0024 end
0025 end
0026 end