more off Version="spline" ; %"spline" "linear" or "workaround" %% variables in polar coords phi=0:10:90 % degree r=0:1:10 [PHI,R]=meshgrid(phi,r) %% define an example function Z=0.1*R.**2; %% variables in cartisian coords x=0:10 y=x [X Y]=meshgrid(x,y); %% coord-transformation from cartisian to polar coords iR=sqrt(X.**2+Y.**2); iPHI=atan(Y./X)/pi*180; iPHI(1,1)=0; switch (Version) case "linear" Z=interp2(PHI,R,Z,iPHI,iR,"linear"); % this works case "spline" Z=interp2(PHI,R,Z,iPHI,iR,"spline"); % this fails case "workaround" % very slow for i=1:rows(iPHI) for j=1:columns(iPHI) iZ(i,j)=interp2(PHI,R,Z,iPHI(i,j),iR(i,j),"spline"); endfor endfor endswitch mesh(X,Y,iZ)